/*==================  01 基础重置与变量  ==================*/
/*
Theme Name: LM-THEME
Theme URI: https://mengbaoliang.cn
Description: 老孟笔记主题（lm-theme）——服务 LM-LESSON 课程展示的单一课程主题，采用左主内容+右侧边栏布局。
Author: Edward Meng
Version: 1.0
Requires at least: 5.0
Tested up to: 6.5
License: GNU General Public License v2 or later
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
textarea,
select,
input {
    margin:0;
    padding:0;
    border:0;
    font-size:100%;
    vertical-align:baseline;
    outline:none;
    box-shadow:none;
}

dl,dt,dd,ol,ul,li {
    border:0;
    font-size:100%;
    vertical-align:baseline;
    outline:none;
    box-shadow:none;
}

article,aside,details,figure,footer,header,hgroup,main,menu,nav,section,summary {
    display:block;
}

iframe {
    display:block;
    max-width:100%;
    margin:0 auto 24px;
}

audio:not([controls]) {
    display:none;
    height:0;
}

[hidden],template {
    display:none;
}

abbr[title] {
    border-bottom:1px dotted;
}

b,strong {
    font-weight:bold;
}

dfn {
    font-style:italic;
}

mark {
    background:#ff0;
    color:#000;
}

small {
    font-size:80%;
}

sub,sup {
    font-size:75%;
    line-height:0;
    position:relative;
    vertical-align:baseline;
}

sup {
    top:-0.5em;
}

sub {
    bottom:-0.25em;
}

img {
    border:0;
}

figure {
    margin:1em 40px;
}

pre {
    line-height:1.5;
}

code,kbd,pre,samp {
    font-size:1em;
}

hr {
    margin-top:24px;
    margin-bottom:24px;
    border:0;
    border-top:1px solid var(--c-line);
}

legend {
    display:block;
    width:100%;
    padding:0;
    margin-bottom:24px;
    font-size:20px;
    line-height:inherit;
    color:var(--c-text-2);
    border:0;
    border-bottom:1px solid var(--c-line);
}

blockquote,q {
    quotes:none;
}

blockquote::before,blockquote::after,q::before,q::after {
    content:none;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

body {
    font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;
    -webkit-text-size-adjust:none;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
    -webkit-font-smoothing:antialiased;
    line-height:1.5;
    font-size:14px;
    background-color:var(--bg-color);
    color:var(--c-text-2);
}

body.hide {
    max-height:100vh;
    overflow:hidden;
}

body.-fixed {
    padding-top:var(--hd-h, 78px); /* 必须与固定页眉同高：由后台页眉高度变量直出，保证刷新首帧不被固定页眉遮挡、不靠 JS 延时补偿 */
}

* {
    -o-box-sizing:border-box;
    -ms-box-sizing:border-box;
    box-sizing:border-box;
}

*::before,*::after {
    -o-box-sizing:border-box;
    -ms-box-sizing:border-box;
    box-sizing:border-box;
}

@media (max-width: 1100px) {
    body.-fixed {
        padding-top:48px; /* 中屏起切换为 48px 汉堡页眉，断点与 header 汉堡布局一致 */
    }}

@font-face {
    font-family:"lmfa";
    font-display:block;
    src:url("./assets/font/iconfont.woff2") format("woff2"), url("./assets/font/iconfont.woff") format("woff"), url("./assets/font/iconfont.ttf") format("truetype");
}

.lmfa {
    font-family:"lmfa" !important;
    font-size:14px;
    font-style:normal;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    color:var(--c-text-3);
}

:root {
    /* 兜底色板 = 默认预设「教育风」（inc/palettes.php）；运行时 layout.php 整组覆盖。
       以前这里是独立的第五套 slate 色板，一旦内联样式未到（缓存/CSP）整站会跳色，
       现在兜底与默认预设一致，不会再出现两套色板同屏。 */
    --primary-color: #1f7a68;
    --primary-rgb: 31, 122, 104;
    --primary-hover: #15604f;
    --primary-on: #ffffff;
    --bg-color: #f4faf9;
    --lm-hero-bgc: #eaf5f2; /* Hero 分区底：浓而不暗——靠饱和拉开层次，不再压成一整块暗板 */
    --ft-bgc: #134138;
    --ft-color: #9ad2c2;
    --ft-hv-color: #c7e6dd;
    --ft-line: #316257;     /* 页脚顶部分隔线：夜间页脚比页面底更深，靠这条线勾出区域 */
    /* 表面阶梯：bg 页面底 → soft/hover 分区与行底 → card 纸面 → elevated 浮层；input 是卡上的凹槽 */
    --c-head: #fcfdfd;      /* 页眉底（商务风会沉一档成钢灰架） */
    --c-card: #fcfdfd;
    --c-soft: #eef8f5;
    --c-elevated: #fcfefd;
    --c-input: #f5fbf9;
    --c-hover: #edf7f4;
    --c-line: #e1f2ed;
    --c-line-soft: #f0f8f6;
    --c-text: #142924;
    --c-body: #3a574f;      /* 大段正文：比 text2 深一档，与预设同色相 */
    --c-text-2: #4b675f;
    --c-text-3: #6c837d;
    --lmh-ink: #0c211c;     /* 首页卡片标题 */

    /* 按钮令牌：实底主按钮 + 描边按钮三件套（夜间整组换档） */
    --lm-btn-primary: #1f7a68;
    --lm-btn-on: #ffffff;
    --lm-btn-ghost-text: #4b675f;
    --lm-btn-ghost-border: #e1f2ed;
    --lm-btn-ghost-bg: transparent;

    /* 形状性格：预设携带（layout.php 整组覆盖），四套风格不只换色、也换浮起量 */
    --lm-shadow-card: 0 1px 2px rgba(19, 65, 56, 0.05), 0 8px 20px rgba(19, 65, 56, 0.06);
    --lm-shadow-head: 0 1px 0 rgba(19, 65, 56, 0.05), 0 2px 10px rgba(19, 65, 56, 0.04);
    --lm-shadow-lift: 0 2px 6px rgba(19, 65, 56, 0.06), 0 16px 34px rgba(19, 65, 56, 0.10);

    /* 图标/分类色池：主色旋转派生，与风格同族（首页分类卡、简介标签等处消费） */
    --lm-accent-1: #467c71; --lm-accent-1-rgb: 70, 124, 113;
    --lm-accent-2: #557788; --lm-accent-2-rgb: 85, 119, 136;
    --lm-accent-3: #467f56; --lm-accent-3-rgb: 70, 127, 86;
    --lm-accent-4: #6a7099; --lm-accent-4-rgb: 106, 112, 153;
    --lm-accent-5: #517d41; --lm-accent-5-rgb: 81, 125, 65;
    --lm-accent-6: #906775; --lm-accent-6-rgb: 144, 103, 117;
    /* 实色档（白字贴彩底）：日夜同值 */
    --lm-accent-1-solid: #3a6a60; --lm-accent-2-solid: #3e5866; --lm-accent-3-solid: #396b47;
    --lm-accent-4-solid: #414662; --lm-accent-5-solid: #456d36; --lm-accent-6-solid: #60434d;

    /* 阶段标签专用色：页脚三标签同形不同色，此色与 ccat（类别）/pcat（文章分类）色相分开，夜间整组重定义 */
    --lm-stage: #54648f;

    /* 状态色浅档：实色文字对白底与染色 Hero 面均 ≥ 4.5（夜间档在 html.dark 重定义） */
    --c-danger: #c81e1e;
    --c-danger-bg: rgba(200, 30, 30, 0.08);
    --c-danger-line: rgba(200, 30, 30, 0.26);
    --c-success: #127a41;
    --c-success-bg: rgba(18, 122, 65, 0.08);
    --c-warning: #a8560b;
    --c-warning-bg: rgba(168, 86, 11, 0.08);
    --c-info: #0369a1;
    --c-info-bg: rgba(3, 105, 161, 0.08);

    /* ============ Hero 令牌：全站唯一数据源 ============
       所有页面 Hero 的上下内边距、上探区块重叠量一律取这里，
       页面内禁止写死 px；需要调整只改这三处 + 下方两个断点 */
    --lm-hero-pt: 76px;  /* Hero 上边距（桌面端） */
    --lm-hero-pb: 90px;  /* Hero 下边距（无重叠页面，桌面端） */
    --lm-hero-lift: 40px; /* 上探区块与 Hero 的重叠量（桌面端） */
}

/*=================  02 夜间模式基础覆盖  ==================*/
/* 夜间兜底同步为默认预设「教育风」夜间档（运行时由 inc/layout.php 按当前预设整组覆盖）
   分层：底 < 卡 < 浮层；文字不用纯白；主色提亮；状态色低饱和 */
html.dark {
    /* 主色在暗底上提亮一档 */
    --primary-color: #45b8a3;
    --primary-hover: #83d4c5;
    --primary-rgb: 69, 184, 163;
    --primary-on: #05302b;   /* 实底主色上的文字：夜间主色变亮，必须转深墨 */

    /* 页面底 / Hero / 页脚 */
    --bg-color: #091c18;
    --lm-hero-bgc: #0c231d; /* Hero 介于页面底与卡片之间，靠微差分层而非边框 */
    --ft-bgc: #04120f;
    --ft-color: #7ba397;
    --ft-hv-color: #a6c2ba;
    --ft-line: #263b35;

    /* 表面三层：页面底 < 卡片 < 浮层 */
    --c-head: #102c26;
    --c-card: #102c26;
    --c-soft: #13322b;
    --c-elevated: #15372f; /* 弹窗 / 下拉 / 吸顶条 */
    --c-input: #0c241e;    /* 输入框底色 */
    --c-hover: #13332c;    /* 列表 / 菜单项 hover */
    --c-line: #183e35;
    --c-line-soft: #112e27;/* 极淡分隔线 */

    /* 文字三级：主文字 / 大段正文 / 弱化 */
    --c-text: #e9eceb;
    --c-text-2: #7ca79c;
    --c-text-3: #5a8077;
    --c-body: #91bfb2;
    --lmh-ink: #e9eceb;

    /* 按钮令牌夜间档 */
    --lm-btn-primary: #45b8a3;
    --lm-btn-on: #05302b;
    --lm-btn-ghost-text: #7ca79c;
    --lm-btn-ghost-border: #183e35;
    --lm-btn-ghost-bg: transparent;

    /* 夜间形状：去掉白边描线，只留落影 */
    --lm-shadow-card: 0 1px 2px rgba(0, 0, 0, 0.4), 0 8px 22px rgba(0, 0, 0, 0.34);
    --lm-shadow-head: 0 1px 0 rgba(255, 255, 255, 0.05), 0 2px 12px rgba(0, 0, 0, 0.4);
    --lm-shadow-lift: 0 2px 6px rgba(0, 0, 0, 0.4), 0 16px 34px rgba(0, 0, 0, 0.44);
    --lm-accent-1: #439e8d; --lm-accent-1-rgb: 67, 158, 141;
    --lm-accent-2: #4f90b4; --lm-accent-2-rgb: 79, 144, 180;
    --lm-accent-3: #46a161; --lm-accent-3-rgb: 70, 161, 97;
    --lm-accent-4: #5761b1; --lm-accent-4-rgb: 87, 97, 177;
    --lm-accent-5: #5f9e50; --lm-accent-5-rgb: 95, 158, 80;
    --lm-accent-6: #a67584; --lm-accent-6-rgb: 166, 117, 132;
    --lm-accent-1-solid: #3a6a60; --lm-accent-2-solid: #3e5866; --lm-accent-3-solid: #396b47;
    --lm-accent-4-solid: #414662; --lm-accent-5-solid: #456d36; --lm-accent-6-solid: #60434d;
    --lm-stage: #8b9cd0;

    /* 状态色：提亮文字 + 半透明底，暗底不刺眼 */
    --c-danger: #f87171;
    --c-danger-bg: rgba(248, 113, 113, 0.12);
    --c-danger-line: rgba(248, 113, 113, 0.30);
    --c-success: #4ade80;
    --c-success-bg: rgba(74, 222, 128, 0.12);
    --c-warning: #fbbf24;
    --c-warning-bg: rgba(251, 191, 36, 0.12);
    --c-info: #38bdf8;
    --c-info-bg: rgba(56, 189, 248, 0.12);

    color-scheme: dark;
}

/*=================  03 全站统一 Hero 基座  ==================*/
/* 课程(.cp-hero) / 文章(.hub-hero) / 留言板(.pb-hero) / 关于(.pc-hero) / 404(.f4-hero) 共用：
   纯色底 + 底边线 + 浅网格纹理 + 居中标题副标题；深浅色走 --lm-hero-* 令牌（inc/layout.php 输出）。
   页面特有部分（头像、下滑提示、幽灵字、按钮等）以页面修饰类保留在各模板 <style> 内。 */
.lm-hero {
    position: relative;
    background: var(--lm-hero-bgc, #e8eef3);
    border-bottom: 1px solid var(--c-line, #e2e8f0);
    color: var(--lm-hero-text, var(--c-text, #0f172a));
    padding: var(--lm-hero-pt) 0 var(--lm-hero-pb);
    overflow: hidden;
    text-align: center;
}

.lm-hero::before {
    content: none;
}

/* 淡网格纹理，铺满整个 Hero */
.lm-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(var(--lm-hero-grid, rgba(15, 23, 42, 0.06)) 1px, transparent 1px),
        linear-gradient(90deg, var(--lm-hero-grid, rgba(15, 23, 42, 0.06)) 1px, transparent 1px);
    background-size: 56px 56px;
    pointer-events: none;
}

.lm-hero-title {
    position: relative;
    z-index: 1;
    margin: 0 auto 16px;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.32;
    letter-spacing: 1px;
    color: var(--lm-hero-text, var(--c-text, #0f172a));
}

.lm-hero-sub {
    position: relative;
    z-index: 1;
    margin: 0 auto;
    max-width: 640px;
    font-size: 16.5px;
    line-height: 1.9;
    color: var(--lm-hero-text-2, var(--c-text-2, #64748b));
}

/* 深色变体（后台「Hero 风格」= 深色，模板输出 .is-dark） */
.lm-hero.is-dark {
    background: var(--lm-hero-dark-bgc, #0c1424);
    color: #fff;
}

.lm-hero.is-dark::after {
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.07) 1px, transparent 1px);
}

.lm-hero.is-dark .lm-hero-title {
    color: #fff;
}

.lm-hero.is-dark .lm-hero-sub {
    color: rgba(255, 255, 255, 0.6);
}

@media (max-width: 768px) {
    :root {
        --lm-hero-pt: 48px;
        --lm-hero-pb: 40px;
        --lm-hero-lift: 28px;
    }
    .lm-hero-title { font-size: 26px; }
    .lm-hero-sub { font-size: 15px; }
}

@media (max-width: 480px) {
    :root {
        --lm-hero-pt: 36px;
        --lm-hero-pb: 28px;
        --lm-hero-lift: 20px;
    }
    .lm-hero-title { font-size: 22px; }
}

/* ---- Hero 高度固定：不再随重叠量变化，避免高度坍塌。
   .lm-hero--lift / .lm-hero--lift-pc 仅作为语义标记保留，无样式作用；
   重叠量 --lm-hero-lift 只控制下方 .lm-lift 区块的 margin-top ---- */

/* 上探区块工具类：压在 Hero 底缘的内容容器加此类即获得标准重叠量，
   正值=向上重叠，负值=向下留间距，各页面禁止再写死 margin-top */
.lm-lift {
    position: relative;
    z-index: 2;
    margin-top: calc(0px - var(--lm-hero-lift));
}

/* 夜间模式：底色 / 文字随令牌自动切换，网格纹理压一档避免暗底上显脏 */
html.dark .lm-hero::after {
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
}

/* 图片 / 视频在暗底微降亮度，避免白底图刺眼（头像、截图除外不单独处理，统一轻微压） */
html.dark img {
    opacity:0.92;
}

html.dark .header {
    box-shadow:0 0 4px rgba(0,0,0,.45);
}

/* 选中文本：主色半透明 */
html.dark ::selection {
    background: rgba(126, 158, 180, 0.30);
    color: #fff;
}

/* 暗色滚动条（WebKit / Firefox） */
html.dark {
    scrollbar-color: #33415c #0b111e;
}
html.dark ::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}
html.dark ::-webkit-scrollbar-track {
    background: #0b111e;
}
html.dark ::-webkit-scrollbar-thumb {
    background: #2c3a52;
    border-radius: 8px;
    border: 2px solid #0b111e;
}
html.dark ::-webkit-scrollbar-thumb:hover {
    background: #3b4c6a;
}

/* 全站表面/文字颜色切换做平滑过渡（背景、边框、文字色），图片不参与 */
html.dark .article,
html.dark .cc,
html.dark .pc-card,
html.dark .header,
html.dark .footer {
    transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

a {
    cursor:pointer;
    color:var(--c-body,#334155); /* 链接文字跟预设正文色（夜间自动翻转），不再是写死的钢灰 */
    text-decoration:none;
    -webkit-backface-visibility:hidden;
    transition:color .3s;
}

a:hover {
    color:var(--primary-color);
}

/* 所有可点元素悬浮统一显示手型指针（含按钮类：轮播箭头/圆点/阅读模式/复制等） */
a,
button,
[role="button"],
[role="link"],
label[for] {
    cursor: pointer;
/*===================  03 页眉与导航  ===================*/
}

.lm-ipt {
    height:32px;
    padding:0 8px;
    border:1px solid var(--c-line);
    border-radius:var(--lm-radius-sm, 4px);
    -webkit-appearance:none;
    outline:none;
    color:var(--c-text-2);
    transition:border .3s;
}

.lm-ipt:focus {
    border:1px solid var(--primary-color);
}

input[type=submit] {
    -webkit-appearance:none;
}

.lm-primary-btn {
    height:32px;
    padding:0 16px;
    line-height:32px;
    font-size:12px;
    border:1px solid var(--primary-color);
    cursor:pointer;
    border-radius:var(--lm-radius-sm, 4px);
    background:var(--c-card);
    text-align:center;
    transition:all .3s;
    background:var(--primary-color);
    color:var(--primary-on, #fff);
    opacity:.9;
}

.lm-primary-btn:hover {
    opacity:1;
}

.lm-outline-btn {
    height:32px;
    padding:0 16px;
    line-height:32px;
    font-size:12px;
    cursor:pointer;
    border-radius:var(--lm-radius-sm, 4px);
    text-align:center;
    transition:all .3s;
    /* 描边按钮三件套接按钮令牌：预设分档 + 后台可单独覆盖 + 夜间自动换档 */
    background:var(--lm-btn-ghost-bg, var(--c-card));
    border:1px solid var(--lm-btn-ghost-border, var(--c-line));
    color:var(--lm-btn-ghost-text, var(--c-text-2));
}

.lm-outline-btn:hover {
    background:var(--c-soft);
}

.lm-more-btn {
    height:32px;
    padding:0 16px;
    line-height:32px;
    font-size:12px;
    border:1px solid var(--primary-color);
    cursor:pointer;
    border-radius:var(--lm-radius-sm, 4px);
    background:var(--c-card);
    text-align:center;
    transition:all .3s;
    background:var(--c-card);
    border:1px solid var(--c-line);
    display:inline-block;
    margin:24px auto 0 auto;
    line-height:34px;
    height:auto;
    min-width:100px;
    padding:0 24px;
    border-radius:var(--lm-radius-sm, 20px);
    border:1px solid var(--c-line);
}

.lm-more-btn:hover {
    background:var(--c-soft);
}

/* ============ 通用大按钮（Hero/空状态/404 等场景） ============ */
.lm-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px 32px;
    border-radius:var(--lm-radius-sm, 6px);
    font-size:15px;
    font-weight:600;
    letter-spacing:0.5px;
    text-decoration:none;
    transition:all 0.25s cubic-bezier(0.22, 0.61, 0.36, 1);
    box-sizing:border-box;
    cursor:pointer;
    border:1px solid transparent;
}

.lm-btn.is-solid {
    background:var(--primary-color);
    color:var(--primary-on, #fff);
    border-color:var(--primary-color);
}
.lm-btn.is-solid:hover {
    background:var(--primary-hover);
    border-color:var(--primary-hover);
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(var(--primary-rgb), 0.35);
}

.lm-btn.is-ghost {
    background:transparent;
    color:var(--c-text);
    border-color:rgba(var(--primary-rgb), 0.45);
}
.lm-btn.is-ghost:hover {
    border-color:rgba(var(--primary-rgb), 0.8);
    color:var(--primary-hover);
    transform:translateY(-2px);
}

@media (max-width: 640px) {
    .lm-btn {
        padding:11px 26px;
        font-size:14.5px;
    }
}

@media (max-width: 640px) {
    .lm-more-btn {
        margin-top:16px;
    }}

.lm-hide {
    display:none;
}

.lm-notice {
    position:fixed;
    padding:16px;
    max-width:400px;
    top:124px;
    left:50%;
    transform:translate(-50%, -100%);
    background:rgba(0,0,0,.8);
    color:#fff;
    text-align:center;
    z-index:1001;
}

.lm-notice .content {
    max-width:400px;
}

.lm-paginate {
    margin-bottom:24px;
    text-align:center;
}

.lm-paginate .page-numbers{
    display:inline-block;
    min-width:30px;
    height:28px;
    padding:0 4px;
    margin:0;
    line-height:28px;
    text-align:center;
    color:var(--c-text-3);
    vertical-align:top;
    cursor:pointer;
}

.lm-paginate .page-numbers:hover{
    color:var(--primary-color);
}

.lm-paginate .page-numbers:hover .lmfa{
    color:var(--primary-color);
}

.lm-paginate .page-numbers.current{
    color:var(--primary-color);
    font-weight:bold;
}

.lm-paginate .page-numbers.dots{
    height:32px;
    line-height:32px;
    margin-bottom:24px;
    text-align:center;
}

.lm-nodata {
    padding:24px;
    background:var(--c-card);
    padding:100px 0;
    margin-bottom:0; /* 底部间距由 .lm-main 的 24px 统一提供 */
    text-align:center;
}

.lm-nodata .lmfa {
    font-size:60px;
    color:var(--c-text-3); /* 无数据图标：取弱化文字档，与预设同色相 */
}

.lm-nodata .no-data-desc {
    margin-top:24px;
    color:var(--c-text-3);
    text-align:center;
}

.lm-nodata .status-404 {
    font-size:180px;
    text-align:center;
    font-weight:900;
    color:var(--c-line);
    line-height:1;
}

.lm-nodata .lm-go-home {
    padding-left:24px;
}

.error404 .lm-nodata {
    display:inline-block;
    padding:0 4px;
    color:var(--c-text-3);
}

.lm-highlight {
    color:var(--primary-color);
    font-weight:bold;
}

.lm-top-box {
    padding:24px;
    background:var(--c-card);
    margin-bottom:24px;
}

@keyframes lm-spin {
    from {
        transform:rotate(0deg);
    }
    to {
        transform:rotate(360deg);
    }

}

@media (max-width: 640px) {
    .lm-paginate {
        margin-bottom:10px;
    }
    .lm-top-box {
        padding:16px;
        margin-bottom:10px;
    }
    .lm-nodata {
        margin-bottom:0;
        padding:80px 16px;
    }
    .lm-nodata .status-404 {
        font-size:100px;
    }
    .lm-nodata .lm-go-home {
        display:block;
    }
    .error404 .lm-nodata {
        padding:120px 16px;
    }}

body>.container {
    margin-top:24px;
}

.container {
    margin:0 auto;
}

.container:after {
    clear:both;
    display:block;
    content:"";
    line-height:0;
}

.container .lm-main {
    width:100%;
    overflow:hidden;
    /* 全站统一：内容距页脚 24px（归档 / 页面 / 404 / 课程详情等通用主容器） */
    padding-bottom:24px;
}

.container .with-sidebar {
    float:left;
    width:calc(100% - 320px - 24px);
}

.container .sidebar {
    position:relative;
    float:left;
    width:320px;
    margin-left:24px;
}

@media (max-width: 1024px) {
    .container .lm-main {
        float:none;
    }
    .container .with-sidebar {
        width:100%;
    }
    .container .sidebar {
        float:none;
        width:100%;
        margin:0;
    }}

@media (max-width: 1100px) {
    body {
        padding-top:48px;
    }}

@media (max-width: 890px) {
    .container.lm-main {
        padding-top:24px;
    }}

@media (max-width: 768px) {
    .container.lm-main {
        padding-top:24px;
    }}

@media (max-width: 640px) {
    body>.container {
        margin-top:0;
    }
    .container {
        padding:0;
    }
    .container.lm-main {
        padding-top:0;
    }}

.-fixed .header {
    position:fixed;
    top:0;
    z-index:999;
}

.header {
    z-index:10;
    position:relative;
    width:100%;
    padding:0;
    background:var(--c-head);
    box-shadow:var(--lm-shadow-head);
    transition:all .3s;
}

.header:after {
    clear:both;
    display:block;
    content:"";
    line-height:0;
}

.header .logo {
    float:left;
    display:inline-flex;
    margin-right:40px;
    height:var(--hd-h, 78px);
    align-items:center;
    overflow:hidden;
    vertical-align:bottom;
}

.header .logo a {
    color:var(--c-text);
    font-size:28px;
}

.header .logo-img {
    display:block;
    height:var(--hd-logo-h, 56px); /* 后台「页眉 → Logo 高度」，由 --hd-logo-h 注入 */
    width:auto;
    max-height:calc(var(--hd-h, 78px) - 12px);
}

/* 双端 Logo：默认显示电脑端，手机端图在 890px 断点切换（见下方媒体查询） */
.header .logo-m {
    display:none;
}

/* Logo 夜间切换：配了夜间图的槽位夜间亮/暗互换；未配夜间图的槽位不带互换类，亮图保持显示 */
.header .logo-dark {
    display:none;
}
html.dark .header .logo-light {
    display:none;
}
html.dark .header .logo-pc.logo-dark {
    display:block;
}

.header .icon-menu {
    display:none;
    padding:0 8px;
    margin-left:-8px;
    font-size:20px;
    color:var(--c-text);
    cursor:pointer;
}

.header .icon-menu:hover {
    color:var(--primary-color);
}

.header .search-form {
    position:relative;
    float:right;
    padding:23px 0;
}

.header .search-form .search-input {
    height:32px;
    width:32px;
    width:200px;
    padding:0 8px 0 32px;
    line-height:32px;
    border-radius:var(--lm-radius-sm, 16px);
    border:none;
    background:var(--c-soft);
    vertical-align:bottom;
    transition:all .3s;
}

.header .search-form .search-btn {
    display:none;
    height:32px;
    padding:0 16px;
    line-height:32px;
    font-size:12px;
    border:1px solid var(--primary-color);
    cursor:pointer;
    border-radius:var(--lm-radius-sm, 4px);
    background:var(--c-card);
    text-align:center;
    transition:all .3s;
    background:var(--primary-color);
    color:var(--primary-on, #fff);
    opacity:.9;
    border-top-left-radius:0;
    border-bottom-left-radius:0;
}

.header .search-form .search-btn:hover {
    opacity:1;
}

/* 页眉右侧功能按钮组：微信 / QQ / 搜索 / 夜间模式（后台「页眉 → 页眉功能」控制显隐） */
/*===================  主导航右侧按钮  ====================*/
.lm-header-actions {
    float:right;
    display:flex;
    align-items:center;
    height:var(--hd-h, 78px);
    gap:5px;
}

/* 头部按钮：无底块纯图标，默认正文深色压住顶栏配重；hover 主色字 + 淡主色底反馈 */
.lm-header-actions .lm-ha-btn {
    display:flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    font-style:normal;
    color:var(--c-text);
    cursor:pointer;
    border-radius:var(--lm-radius-sm, 6px);
    transition:color .25s, background .25s;
}

.lm-header-actions .lm-ha-btn svg {
    width:20px;
    height:20px;
}

.lm-header-actions .lm-ha-btn:hover,
.lm-ha-item.is-open .lm-ha-btn {
    color:var(--primary-color);
    background:rgba(var(--primary-rgb, 95, 122, 140), 0.08);
}

/* ---- 页眉常驻搜索框：仅桌面端（>1100px），填补菜单右侧空白；
   ≤1100px 隐藏，搜索由图标 + 全屏弹层承担 ---- */
.lm-header-search {
    float:right;
    display:flex;
    align-items:center;
    gap:8px;
    width:320px;
    height:40px;
    margin:calc((var(--hd-h, 78px) - 40px) / 2) 8px 0 0; /* 垂直居中 + 与按钮组留距 */
    padding:0 16px;
    color:var(--c-text-2);
    background:rgba(15, 23, 42, 0.05);
    border:1px solid transparent;
    border-radius:var(--lm-radius-sm, 999px);
    transition:border-color .25s, background .25s;
}

.lm-header-search svg {
    width:16px;
    height:16px;
    flex-shrink:0;
}

/* 输入框彻底压平：无背景/边框/轮廓/默认外观，胶囊边界只由外层 form 呈现 */
.lm-header-search input,
.lm-header-search input:focus {
    width:100%;
    padding:0;
    border:0;
    outline:none;
    box-shadow:none;
    background:transparent;
    -webkit-appearance:none;
    appearance:none;
    font-size:14px;
    color:var(--c-text);
}

.lm-header-search input::placeholder {
    color:var(--c-text-2);
}

.lm-header-search:focus-within {
    background:var(--c-card);
    border-color:var(--primary-color);
}

html.dark .lm-header-search {
    background:rgba(255, 255, 255, 0.06);
}

html.dark .lm-header-search:focus-within {
    background:var(--c-card);
}

/* 断点分工：桌面显示搜索框、隐藏搜索图标；≤1100px 反之。
   图标隐藏需双类选择器：压过 .lm-header-actions .lm-ha-btn 的 display:flex */
@media (min-width:1101px) {
    .lm-header-actions .custom-toggle-search { display:none; }
}

@media (max-width:1100px) {
    .lm-header-search { display:none; }
}

.lm-ha-item {
    position:relative;
    display:flex;
    align-items:center;
}

/* 微信 / QQ 二维码弹层：从按钮正下方向下展开
   卡宽 180px：内容区 164px，容纳 130px 码图与 12px 说明文字单行（约 158px），尺寸与头部按钮区协调 */
.lm-ha-pop {
    position:absolute;
    top:calc(100% + 10px);
    right:0;
    width:min(180px, calc(100vw - 24px));
    padding:8px;
    background:var(--c-card);
    border:1px solid #e5eaf0;
    border-radius:var(--lm-radius, 8px);
    box-shadow:0 18px 44px rgba(15,23,42,.16);
    z-index:20;
    opacity:0;
    visibility:hidden;
    transform:translateY(6px);
    transition:opacity .2s ease, transform .2s ease, visibility .2s;
}

.lm-ha-item.is-open .lm-ha-pop {
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.lm-ha-qr {
    display:block;
    /* 固定 130px 居中：码图克制，不撑满弹层 */
    width:130px;
    margin:0 auto;
    border:1px solid var(--c-line);
    border-radius:var(--lm-radius-sm, 6px);
}

.lm-ha-qr-desc {
    margin:8px 0 0;
    text-align:center;
    font-size:12px;
    color:var(--c-text-2);
    white-space:nowrap;
}

/* 夜间模式按钮：月亮 / 太阳图标随模式互斥切换 */
.lm-header-actions .nt-sun {
    display:none;
}

html.dark .lm-header-actions .nt-sun {
    display:block;
}

html.dark .lm-header-actions .nt-moon {
    display:none;
}

@media (max-width: 1100px) {
    .lm-header-actions {
        height:48px;
        gap:2px;
    }
    .lm-header-actions .lm-ha-btn {
        width:32px;
        height:32px;
    }
    .lm-header-actions .lm-ha-btn svg {
        width:18px;
        height:18px;
    }}

.lm-crumbs {
    padding:12px 0;
    background:var(--c-card);
    color:var(--c-text-3);
    font-size:12px;
}

.lm-crumbs a {
    color:var(--c-text-3);
}

.lm-crumbs a:hover {
    color:var(--primary-color);
}

@media (max-width: 1100px) {
    .header {
        position:fixed;
        top:0;
        z-index:999;
        height:48px;
        text-align:center;
    }
    .header .logo {
        position:absolute;
        margin-right:0;
        left:50%;
        height:48px;
        transform:translateX(-50%);
    }
    .header .icon-menu {
        float:left;
        display:block;
        line-height:48px;
    }
    .header .search-form {
        display:none;
        position:fixed;
        top:47px;
        left:0;
        width:100%;
        padding:24px;
        background:var(--c-card);
        line-height:1;
        border-top:1px solid var(--c-line);
        border-bottom:1px solid var(--c-line);
        z-index:4;
    }
    .header .search-form .search-input {
        width:100%;
        padding-right:58px;
        border-radius:var(--lm-radius-sm, 4px);
    }
    .header .search-form .search-btn {
        position:absolute;
        right:24px;
        display:inline-block;
    }}

@media (max-width: 768px) {
    .header .logo a {
        font-size:18px;
    }
    .header .search-form {
        padding:24px;
    }
    .header .search-form .search-btn {
        right:24px;
    }}

@media (max-width: 640px) {
    .header {
        padding:0 16px;
        box-shadow:none;
        border-bottom:1px solid var(--c-line);
    }
    .header .search-form {
        padding:16px;
    }
    .header .search-form .search-btn {
        right:16px;
    }
    .lm-crumbs {
        padding:12px 16px;
        background:rgba(243,245,247,.7);
    }}

.lm-top-menu {
    float:left;
    display:inline-block;
    margin:0;
    padding:0;
    list-style:none;
    vertical-align:top;
}

.lm-top-menu:after {
    clear:both;
    display:block;
    content:"";
    line-height:0;
}

.lm-top-menu ul {
    margin:0;
    padding:0;
    list-style:none;
}

.lm-top-menu .lmfa.toggle_sub {
    display:none;
}

.lm-top-menu li {
    position:relative;
    white-space:nowrap;
    cursor:pointer;
}

.lm-top-menu li a {
    display:block;
    position:relative; /* 激活指示条的定位基准 */
    padding:6px 16px;
    color:var(--c-text);
    font-size:var(--hd-menu-fs, 16px); /* 后台「页眉 → 菜单字号」 */
    transition:color .3s;
}

.lm-top-menu li a i {
    margin-right:6px;
}

/*==================  04 菜单激活状态  ===================*/
/* 当前页：字色转主色 + 一条低位指示条；字重一律不动（加粗会顶宽菜单项、导致相邻项位移）。
   颜色与指示条走同一个 --primary-color（浅/夜由预设令牌翻转，不另写夜间规则）；
   只标记一级菜单，二级下拉项不做指示条。 */
.lm-top-menu>li>a:after {
    content:"";
    position:absolute;
    left:16px;
    right:16px;
    bottom:0;
    height:2px;
    border-radius:2px;
    background:var(--primary-color);
    opacity:0;
    transform:scaleX(.5);
    transition:opacity .25s,transform .25s;
}

.lm-top-menu>li.current-menu-item>a:after,
.lm-top-menu>li.current-menu-parent>a:after,
.lm-top-menu>li.current-post-ancestor>a:after,
.lm-top-menu>li.current_page_item>a:after,
.lm-top-menu>li.current-category-ancestor>a:after,
.lm-top-menu>li.current-menu-ancestor>a:after {
    opacity:1;
    transform:none;
}

/* 当前项变色：前置 body 是为了压过 dark-mode.css 里 `html.dark .header .lm-top-menu a` 那条兜底（同权则后加载者胜） */
body .header .lm-top-menu>li.current-menu-item>a,
body .header .lm-top-menu>li.current-menu-parent>a,
body .header .lm-top-menu>li.current-post-ancestor>a,
body .header .lm-top-menu>li.current_page_item>a,
body .header .lm-top-menu>li.current-category-ancestor>a,
body .header .lm-top-menu>li.current-menu-ancestor>a {
    color:var(--primary-color);
}

/* 二级下拉里的当前项：只变色，不加指示条、不加粗 */
.header .lm-top-menu .sub-menu li.current-menu-item>a,
.header .lm-top-menu .sub-menu li.current_page_item>a,
.header .lm-top-menu .sub-menu li.current-menu-parent>a {
    color:var(--primary-color);
}

.lm-top-menu li.menu-item-has-children:after {
    position:absolute;
    visibility:hidden;
    font-family:"lmfa" !important;
    content:"";
    top:6px;
    right:12px;
    font-size:12px;
    color:var(--c-text);
    transform:rotate(180deg);
}

.lm-top-menu li:hover>.sub-menu {
    top:-18px;
    transform:translateX(0);
    visibility:visible;
}

.lm-top-menu li:hover>a {
    color:var(--primary-color);
}

.lm-top-menu li:hover.menu-item-has-children:after {
    visibility:visible;
    color:var(--primary-color);
}

.lm-top-menu .sub-menu {
    visibility:hidden;
    position:absolute;
    width:200px;
    padding:18px 0;
    left:100%;
    top:-8px;
    background:var(--c-elevated); /* 下拉浮层取阶梯最亮一档，与卡片底拉开一档，夜间同步换档 */
    box-shadow:var(--lm-shadow-lift);
    transform:translateX(-8px);
    z-index:1;
    transition:transform .3s;
    max-height:485px;
    overflow-y:auto;
}

.lm-top-menu .sub-menu li {
    position:relative;
}

.lm-top-menu .sub-menu li a {
    padding:6px 24px;
    white-space:normal;
}

.lm-top-menu .sub-menu li a:hover {
    background:var(--c-hover);
}

.lm-top-menu>li {
    float:left;
    margin-right:24px;
}

.lm-top-menu>li>a {
    font-size:var(--hd-menu-fs, 16px); /* 后台「页眉 → 菜单字号」 */
    padding:0;
    line-height:var(--hd-h, 78px); /* 垂直居中跟随页眉高度 */
}

.lm-top-menu>li.menu-item-has-children {
    padding-right:16px;
}

.lm-top-menu>li.menu-item-has-children:after {
    visibility:visible;
    right:0;
    top:50%;
    transform:translateY(-50%) rotate(-90deg);
    transition:transform .3s;
}

.lm-top-menu>li>.sub-menu {
    left:50%;
    top:70px;
    transform:translateX(-50%);
    border-left:none;
    transition:top .3s;
}

.lm-top-menu>li:hover>.sub-menu {
    left:50%;
    top:78px;
    transform:translateX(-50%);
}

.lm-top-menu>li:hover.menu-item-has-children:after {
    transform:translateY(-50%) rotate(90deg);
}

/* 顶部菜单位置（后台「页眉 → 顶部导航 → 菜单位置」），仅 PC 端；≤1100px 为抽屉菜单，不受影响 */
@media (min-width: 1101px) {
    /* left=默认：保持基础规则（float:left，紧跟 Logo） */

    /* right：菜单靠右浮动。右浮元素按 DOM 顺序从右向左排（搜索 → 夜间 → 菜单），
       菜单自然落在搜索/夜间按钮的左侧 */
    .header.lm-menu-pos-right .lm-top-menu {
        float:right;
        margin-right:8px;
    }

    /* center：菜单脱离浮动，相对页眉整个宽度绝对水平居中（top:0，一级 a 的 line-height
       已等于页眉高度，文字天然垂直居中）；ul 收缩包裹浮动 li，translateX 基于菜单自身宽度 */
    .header.lm-menu-pos-center .lm-top-menu {
        position:absolute;
        float:none;
        top:0;
        left:50%;
        transform:translateX(-50%);
    }}

/*==================  05 移动端抽屉菜单  ==================*/
/* 移动端菜单遮罩：仅菜单展开时显示，点击关闭（见 ≤890px 查询） */
.lm-menu-mask {
    display:none;
}

@media (max-width: 1100px) {
    /* 全站菜单：左侧抽屉白卡片（仿 page-course 类别抽屉），四周留空隙，不再全屏 */
    .lm-top-menu {
        visibility:visible;
        position:fixed;
        top:12px;
        left:12px;
        bottom:12px;
        width:300px;
        max-width:84vw;
        height:auto;
        padding:16px 14px;
        background:var(--c-card);
        text-align:left;
        border-radius:var(--lm-radius);
        box-shadow:0 12px 40px rgba(15,23,42,0.18);
        overflow-y:auto;
        -webkit-overflow-scrolling:touch;
        z-index:1002;
        transform:translateX(-105%);
        transition:transform 0.28s cubic-bezier(0.22,0.61,0.36,1);
    }
    .lm-top-menu.active {
        transform:translateX(0);
    }
    body.menu-open .lm-menu-mask {
        display:block;
        position:fixed;
        inset:0;
        background:rgba(15,23,42,0.4);
        z-index:1001;
    }
    .lm-top-menu .lmfa.toggle_sub {
        display:block;
        content:"";
        color:var(--c-text-3);
        position:absolute;
        right:-14px;
        top:0;
        font-weight:bold;
        font-size:12px;
        height:40px;
        line-height:40px;
        padding:0 20px;
        z-index:2;
        transform:rotate(90deg);
        cursor:pointer;
    }
    .lm-top-menu.active {
        left:0;
    }
    .lm-top-menu>li {
        display:block;
        float:none;
        padding:0;
        margin-right:0;
    }
    .lm-top-menu>li>a {
        padding:12px 0;
        font-size:14px;
        font-weight:bold;
        line-height:1;
    }
    /* 移动端竖排菜单：横指示条转成左侧竖条（竖排里底边线对不齐），依然不加粗、不变字色 */
    .lm-top-menu>li>a:after {
        left:0;
        right:auto;
        top:12px;
        bottom:12px;
        width:2px;
        height:auto;
        border-radius:0 2px 2px 0;
        transform:scaleY(.5);
    }

    .lm-top-menu>li.current-menu-item>a:after,
    .lm-top-menu>li.current-menu-parent>a:after,
    .lm-top-menu>li.current_page_item>a:after,
    .lm-top-menu>li.current-menu-ancestor>a:after {
        transform:none;
    }
    .lm-top-menu>li>.sub-menu {
        left:auto;
        top:auto;
        transform:translateX(0);
        transition:none;
    }
    .lm-top-menu>li.menu-item-has-children {
        padding-right:0;
    }
    .lm-top-menu>li.menu-item-has-children:after {
        display:none;
    }
    .lm-top-menu>li:hover>.sub-menu {
        left:auto;
        top:auto;
        transform:translateX(0);
    }
    .lm-top-menu li a {
        padding-right:30px;
        overflow:hidden;
        text-overflow:ellipsis;
    }
    .lm-top-menu li:hover>.sub-menu {
        top:auto;
    }
    .lm-top-menu .sub-menu {
        display:none;
        visibility:visible;
        position:relative;
        width:100%;
        padding:0 0 0 24px;
        left:auto;
        top:auto;
        box-shadow:none;
        transform:translateX(0);
        max-height:unset;
    }
    .lm-top-menu .sub-menu li a {
        padding:8px 0;
        line-height:1;
    }
    .lm-top-menu .sub-menu li:after {
        display:none;
    }}

.post-list {
    padding:0;
    margin:0;
    list-style:none;
}

.post-list .post-stick {
    display:inline-block;
    margin-right:8px;
    padding:5px 8px 4px 8px;
    font-size:12px;
    color:#fff;
    line-height:1;
    background:#ff5e52;
    border-radius:var(--lm-radius-sm, 4px);
    vertical-align:text-bottom;
}

.post-list .thumbs-item {
    overflow:hidden;
    transition:opacity .3s;
}

.post-list .thumbs-item:hover {
    opacity:.85;
}

.post-list.layout-default .post-item {
    position:relative;
    display:flex;
    padding:24px;
    overflow:hidden;
    background:var(--c-card);
}

.post-list.layout-default .post-item:not(:last-child) {
    border-bottom:1px dashed var(--c-line);
}

.post-list.layout-default .post-item:last-child {
    margin-bottom:24px;
}

.post-list.layout-default .post-main {
    flex:1;
}

.post-list.layout-default h2 {
    margin-top:-4px;
}

.post-list.layout-default .post-title {
    color:var(--c-text);
    font-size:20px;
    font-weight:bold;
    line-height:1.5;
    transition:color .3s;
}

.post-list.layout-default .post-title:hover {
    color:var(--primary-color);
}

.post-list.layout-default .lm-cat-item {
    display:inline-block;
    margin-right:8px;
    padding:4px 8px;
    font-size:12px;
    color:var(--lm-ccat-deep, var(--c-text-3));
    line-height:1;
    background:rgba(var(--lm-ccat-rgb, 71, 85, 105), 0.10); /* 分类胶囊走分类色引擎，切风格跟着变 */
    border-radius:var(--lm-radius-sm, 4px);
    vertical-align:text-bottom;
    transition:opacity .3s;
}

.post-list.layout-default .lm-cat-item:hover {
    opacity:.85;
}

.post-list.layout-default .thumbs-item img {
    display:block;
}

.post-list.layout-default .post-info {
    margin-top:16px;
    color:var(--c-text-3);
    align-items:center;
    line-height:1;
}

.post-list.layout-default .post-info:after {
    clear:both;
    display:block;
    content:"";
    line-height:0;
}

.post-list.layout-default .post-info .lm-a-l {
    color:var(--c-text-3);
}

.post-list.layout-default .post-info .lm-a-l:hover {
    color:var(--primary-color);
}

.post-list.layout-default .post-info .meta-item {
    margin-right:24px;
    font-size:13px;
}

.post-list.layout-default .post-info .meta-item i {
    display:inline-block;
    margin-right:4px;
    font-size:14px;
}

.post-list.layout-default .post-info .lm-like {
    float:right;
    margin:0;
    cursor:pointer;
}

.post-list.layout-default .post-info .lm-like:hover::before {
    color:var(--primary-color);
}

.post-list.layout-default .post-content {
    position:relative;
    margin-top:16px;
}

.post-list.layout-default .post-tag {
    display:flex;
    max-height:36px;
    align-items:center;
    flex-wrap:wrap;
    padding-top:2px;
    overflow:hidden;
}

.post-list.layout-default .single-right .post-thumbs,
.post-list.layout-default .single-left .post-thumbs {
    flex:0 0 200px;
    height:150px;
}

.post-list.layout-default .single-right .thumbs-item,
.post-list.layout-default .single-left .thumbs-item {
    width:100%;
    height:100%;
}

.post-list.layout-default .single-right .thumbs-item img,
.post-list.layout-default .single-left .thumbs-item img {
    width:100%;
    height:100%;
    -o-object-fit:cover;
    object-fit:cover;
}

.post-list.layout-default .single-left .post-thumbs {
    margin-right:24px;
}

.post-list.layout-default .single-right .post-thumbs {
    margin-left:24px;
}

.post-list.layout-default .single-full .post-thumbs {
    display:block;
    margin-top:16px;
}

.post-list.layout-default .single-full .thumbs-item {
    width:100%;
}

.post-list.layout-default .single-full .thumbs-item img {
    display:block;
    max-width:100%;
}

.post-list.layout-default .multi .post-thumbs {
    display:flex;
    margin-left:-16px;
    margin-top:16px;
    align-items:flex-end;
    justify-content:space-around;
}

.post-list.layout-default .multi .thumbs-item {
    width:25%;
    padding-left:16px;
}

.post-list.layout-default .multi .thumbs-item img {
    width:100%;
    max-height:150px;
    max-width:200px;
    -o-object-fit:cover;
    object-fit:cover;
}

@media (max-width: 768px) {
    .post-list .post-stick {
        padding:0 3px;
        line-height:18px;
    }
    .post-list.layout-default .post-tag {
        display:none;
    }
    .post-list.layout-default .post-title {
        font-size:18px;
    }
    .post-list.layout-default .lm-cat-item {
        padding:3px;
    }
    .post-list.layout-default .post-info {
        margin-top:12px;
    }
    .post-list.layout-default .post-content {
        max-height:42px;
        overflow:hidden;
    }
    .post-list.layout-default .single-left .post-thumbs,
    .post-list.layout-default .single-right .post-thumbs {
        flex:0 0 140px;
        max-height:105px;
    }
    .post-list.layout-default .single-left .post-thumbs img,
    .post-list.layout-default .single-right .post-thumbs img {
        width:140px;
        max-height:105px;
    }
    .post-list.layout-default .single-left .post-content,
    .post-list.layout-default .single-right .post-content {
        margin-top:12px;
        top:2px;
    }
    .post-list.layout-default .single-left .post-thumbs {
        margin-right:16px;
    }
    .post-list.layout-default .single-right .post-thumbs {
        margin-left:16px;
    }
    .post-list.layout-default .multi .thumbs-item img {
        max-height:105px;
    }}

@media (max-width: 640px) {
    .post-list.layout-default .post-item {
        padding:16px;
    }
    .post-list.layout-default .post-item:last-child {
        margin-bottom:10px;
    }
    .post-list.layout-default h2 {
        margin-top:-2px;
        display:-webkit-box;
        -webkit-box-orient:vertical;
        -webkit-line-clamp:2;
        overflow:hidden;
    }
    .post-list.layout-default .post-title {
        font-size:16px;
        font-weight:normal;
    }
    .post-list.layout-default .post-content {
        display:none;
    }
    .post-list.layout-default .post-info {
        margin-top:15px;
    }
    .post-list.layout-default .post-info .meta-item {
        margin-right:12px;
    }
    .post-list.layout-default .post-info .meta-item i {
        margin-right:4px;
    }
    .post-list.layout-default .post-info .meta-m-hide {
        display:none;
    }
    .post-list.layout-default .single-left .post-thumbs,
    .post-list.layout-default .single-right .post-thumbs {
        flex:0 0 100px;
        max-height:75px;
    }
    .post-list.layout-default .single-left .post-thumbs img,
    .post-list.layout-default .single-right .post-thumbs img {
        width:100px;
        max-height:75px;
    }
    .post-list.layout-default .single-left .post-thumbs+.post-main h2,
    .post-list.layout-default .single-right .post-thumbs+.post-main h2 {
        min-height:48px;
    }
    .post-list.layout-default .single-left .post-thumbs {
        margin-right:12px;
    }
    .post-list.layout-default .single-right .post-thumbs {
        margin-left:12px;
    }
    .post-list.layout-default .single-full .post-info {
        margin-top:8px;
    }
    .post-list.layout-default .single-full .post-thumbs {
        margin-top:8px;
    }
    .post-list.layout-default .multi .post-info {
        margin-top:8px;
    }
    .post-list.layout-default .multi .post-thumbs {
        margin-left:-4px;
/*=================  06 面包屑与文章列表  ==================*/
        margin-top:8px;
    }
    .post-list.layout-default .multi .thumbs-item {
        padding-left:4px;
    }}

.layout-events {
    padding:0;
    margin:0;
    list-style:none;
    margin-bottom:24px;
    padding:32px 32px 32px 38px;
    background:var(--c-card);
}

.layout-events .post-item {
    position:relative;
    padding-left:24px;
    padding-bottom:48px;
    border-left:1px solid var(--c-line);
    text-align:left;
}

.layout-events .post-item::after {
    position:absolute;
    content:"";
    left:-5px;
    top:3px;
    width:9px;
    height:9px;
    border:2px solid var(--primary-color);
    border-radius:50%;
    background:var(--c-card);
}

.layout-events .post-item:last-child {
    padding-bottom:0 !important;
}

.layout-events h2 {
    color:var(--c-text);
    font-size:15px;
    font-weight:bold;
    line-height:1.5;
    margin-bottom:12px;
    transition:color .3s;
}

.layout-events h2:hover {
    color:var(--primary-color);
}

.layout-events .-info {
    position:relative;
    top:-3px;
    display:block;
    margin-bottom:16px;
    line-height:20px;
}

.layout-events .excerpt {
    padding:12px;
    background:var(--c-soft);
    color:var(--c-text-3);
}

@media (max-width: 890px) {
    .layout-events {
        padding:24px 24px 24px 29px;
    }
    .layout-events .post-item {
        padding-bottom:24px;
    }
    .layout-events .-info {
        margin-bottom:8px;
    }}

@media (max-width: 640px) {
    .layout-events {
        margin-bottom:10px;
        padding:20px 16px 20px 21px;
    }
    .layout-events .post-item {
        padding-bottom:24px;
    }}

.post-tag {
    padding-top:8px;
}

.post-tag a {
    display:inline-block;
    margin:8px 10px 0 0;
    padding:4px 8px;
    max-width:calc(100% - 16px);
    font-size:12px;
    /* 文章标签：吃预设的 pcat 引擎（淡底 + 派生深字），不再是不随风格的灰块 */
    background:rgba(var(--lm-pcat-rgb, 100, 116, 139), 0.10);
    border-radius:var(--lm-radius-sm, 4px);
    color:var(--lm-pcat-deep, var(--c-text-3));
    vertical-align:text-bottom;
    transition:color .3s,background-color .3s;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.post-tag a:before {
    content:"# ";
}

.post-tag a:hover {
    padding:0;
    margin-top:16px;
    margin-bottom:-12px;
}

.article .post-tag {
    position:relative;
    justify-content:center;
    margin:38px 0 0 0;
    padding-top:12px;
    border-top:1px solid var(--c-line);
}

.article .post-tag a {
    margin:10px 10px 0 0;
    padding:4px 8px;
}

.article .post-tag .tag-prefix {
    position:absolute;
    top:-12px;
    padding:0 24px;
    background:var(--c-card);
    left:50%;
    transform:translateX(-50%);
}

@media (max-width: 768px) {
    .post-list .post-tag {
        display:none;
    }}

@media (max-width: 640px) {
    .article .post-tag {
        margin:30px 0 0 0;
        justify-content:flex-start;
    }
    .article .post-tag a {
        margin:8px 10px 0 0;
    }}

.article:after {
    clear:both;
    display:block;
    content:"";
    line-height:0;
}

.article .post-info {
    margin-top:12px;
    text-align:center;
    color:var(--c-text-3);
}

.article .post-info .meta-item {
    margin:0 16px 8px 0;
    line-height:1;
    font-size:13px;
}

.article .post-info .meta-item i {
    margin-right:4px;
    font-size:14px;
}

.article .post-info a {
    color:var(--c-text-3);
}

.article .post-info a:hover {
    color:var(--primary-color);
}

.article .update-meta {
    position:relative;
}

.article .update-meta .publish-pop {
    position:absolute;
    visibility:hidden;
    opacity:0;
    top:calc(100% + 8px);
    left:0;
    padding:8px;
    background:var(--c-card);
    box-shadow:0 0 8px rgba(0,0,0,.1);
    border-radius:var(--lm-radius-sm, 3px);
    font-size:12px;
    transition:opacity .3s;
}

.article .update-meta .publish-pop::before {
    position:absolute;
    content:"";
    height:24px;
    top:-6px;
    left:0;
    right:0;
}

.article .update-meta .publish-pop::after {
    position:absolute;
    content:"";
    top:-6px;
    left:6px;
    border:3px solid rgba(0,0,0,0);
    border-bottom:3px solid #fff;
}

.article .update-meta:hover .publish-pop {
    visibility:visible;
    opacity:1;
}

.article .lm-paginate {
    padding-top:32px;
    margin-bottom:0;
}

/*=================  07 版权声明与元信息  ==================*/
/* 版权声明：卡片最末行（标签行之后）的简洁一行小字，作整卡收尾脚注 */
.article .article-copyright {
    margin-top:16px;
    padding-bottom:34px;
    font-size:13px;
    line-height:1.8;
    text-align:center;
    color:var(--c-text-3);
}

@media (max-width:768px) {
    .article .article-copyright {
        padding-bottom:22px;
    }}

@media (max-width:480px) {
    .article .article-copyright {
        padding-bottom:18px;
    }}

.article .article-copyright p {
    margin:0;
    overflow-wrap:break-word;
}

.article .article-copyright a {
    color:var(--primary-color);
}

.article .article-copyright a:hover {
    text-decoration:underline;
}

.article .article-footer {
    display:flex;
    padding-top:32px;
    justify-content:center;
}

.article .article-footer.lm-be {
    justify-content:space-between;
    align-items:flex-start;
}

.article .lm-like {
    display:inline-block;
    text-align:center;
    line-height:34px;
    padding:0 18px;
    border-radius:var(--lm-radius-sm, 18px);
    font-size:14px;
    border:1px solid var(--primary-color);
    cursor:pointer;
    transition:all .3s;
}

.article .lm-like i {
    margin-right:8px;
    font-size:18px;
    color:var(--primary-color);
    vertical-align:bottom;
    transition:all .3s;
}

.article .lm-like:hover {
    color:var(--primary-on, #fff);
    background:var(--primary-color);
    border:1px solid var(--primary-color);
}

.article .lm-like:hover i {
    color:var(--primary-on, #fff);
}

/* 文章摘要：普通正文排版 + 浅灰底色，无装饰图标；字号略大于全站默认 14px */
.lm-p-e {
    margin-top:24px;
    padding:20px 24px;
    border-radius:var(--lm-radius-sm, 4px);
    font-size:15px;
    line-height:1.8;
    color:var(--c-text);
    background:rgba(243,245,247,.7);
}

.article-content {
    padding-top:16px;
    font-size:16px;
    line-height:1.8;
    word-wrap:break-word;
    color:var(--c-text);
}

.article-content:after {
    display:table;
    content:"";
    line-height:0;
    clear:both;
}

.article-content img {
    display:block;
    max-width:100%;
    height:auto;
}

.article-content h1,
.article-content h2,
.article-content h3,
.article-content h4,
.article-content h5,
.article-content h6,
.article-content p {
    margin:0 0 24px;
}

.article-content h1,
.article-content h2,
.article-content h3,
.article-content h4,
.article-content h5,
.article-content h6 {
    padding-top:140px;
    margin-top:-140px;
}

.article-content h1 {
    font-size:22px;
    font-weight:bold;
}

.article-content h2 {
    font-size:18px;
    font-weight:bold;
    margin:24px 0;
    margin-top:-116px;
}

.article-content h3 {
    font-size:16px;
}

.article-content h4 {
    font-size:14px;
}

.article-content h5 {
    font-size:14px;
}

.article-content h6 {
    font-size:14px;
}

.article-content a {
    color:var(--primary-color);
}

.article-content a :hover {
    text-decoration:underline;
}

.article-content pre {
    max-height:500px;
    margin:24px 0;
    font:12px "courier new";
    background:#334155;
    padding:8px 24px;
    color:#ffda8b;
    border:none;
    overflow:auto;
    word-wrap:break-word;
}

.article-content pre.wp-block-preformatted,.article-content pre.wp-block-verse {
    font:12px "Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif;
    padding:24px;
    background-color:var(--c-soft, #f3f5f7);
    color:var(--c-text-2);
}

/*===================  08 正文引用块  ===================*/
/* 正文引用块：与文章摘要 .lm-p-e 同款的大引号卡片——
   浅灰底 + 圆角，左右两枚主色引号以 ::before/::after 注入（正文 HTML 无需改动），
   底色可在后台「文章 → 独立文章 → 引用块背景色」自定义 */
.article-content blockquote {
    position:relative;
    margin:36px 0;
    padding:20px 28px;
    border:0;
    border-radius:var(--lm-radius-sm, 4px);
    color:var(--c-text-3);
    text-align:justify;
    background:rgba(243,245,247,.7); /* 引用块底色，可在后台「文章 → 独立文章」自定义 */
}

.article-content blockquote::before,
.article-content blockquote::after {
    content:none;
}

.article-content blockquote p {
    margin:0;
    padding:0;
}

/* 多段引用：段间留 8px，最后一段不贴底多余间距 */
.article-content blockquote p + p {
    margin-top:8px;
}

.article-content ul,.article-content ol {
    margin:0 0 24px 0;
}

.article-content table {
    width:100%;
    margin-bottom:8px;
}

.article-content table th,.article-content table tr,.article-content table td {
    border:1px solid var(--c-line);
}

.article-content table th {
    text-align:center;
}

.article-content table td {
    padding:4px 8px;
}

.article-content embed[align=middle] {
    margin:0 auto;
    display:block;
}

.article-content .post-password-form {
    padding-top:24px;
    text-align:center;
}

.article-content .post-password-form p {
    text-indent:0;
}

.article-content .post-password-form p:nth-child(1) {
    margin-bottom:16px;
}

.article-content .post-password-form p input[type=password] {
    width:140px;
    height:32px;
    padding:8px;
    margin:0 12px 0 0;
    border:1px solid var(--c-line);
    border-radius:var(--lm-radius-sm, 4px);
    -webkit-appearance:none;
    outline:none;
    transition:border .3s;
}

.article-content .post-password-form p input[type=password]:focus {
    border:1px solid var(--primary-color);
}

.article-content .post-password-form p input[type=submit] {
    height:32px;
    padding:0 12px;
    border-radius:var(--lm-radius-sm, 4px);
    -webkit-appearance:none;
    outline:none;
    background:var(--primary-color);
    color:var(--primary-on, #fff);
    font-size:14px;
    cursor:pointer;
    vertical-align:top;
    transition:opacity .3s;
}

.article-content .post-password-form p input[type=submit]:hover {
    opacity:.85;
}

.article-content .alignnone {
    margin:0 auto;
}

.article-content .alignleft {
    float:left;
    margin:0 24px 24px 0;
}

.article-content .aligncenter {
    margin:0 auto;
    text-align:center;
}

.article-content .aligncenter img {
    margin:0 auto;
}

.article-content .alignright {
    float:right;
    margin:0 0 24px 24px;
}

.article-content .wp-caption {
    margin-bottom:24px;
    max-width:100%;
}

.article-content .wp-caption p {
    margin-bottom:8px;
    text-indent:0;
}

.article-content .wp-caption .alignnone {
    text-align:center;
}

.article-content figcaption {
    font-size:12px;
    color:var(--c-text-3);
}

.article-content .wp-block-image {
    margin-bottom:24px;
    text-align:center;
}

.wp-block-gallery {
    margin-left:0 !important;
}

.wp-block-image {
    margin-bottom:24px;
}

.wp-block-quote cite {
    font-size:12px;
    color:var(--c-text-3);
}

.wp-block-image {
    overflow:hidden;
}

.aligncenter img {
    margin-left:auto;
    margin-right:auto;
}

.wp-block-image .aligncenter>figcaption {
    display:block;
}

.is-phone .article-footer.lm-be {
    justify-content:center;
}.page .article-content {
    padding-top:0;
}

@media (max-width: 768px) {
    .article .post-info {
        text-align:left;
    }
    .article .article-content {
        padding-top:16px;
    }
    .article .article-content h1 {
        font-size:18px;
    }
    .article .article-content h2 {
        font-size:16px;
    }
    .page .article-content {
        padding-top:0;
    }}

@media (max-width: 640px) {
    .article .post-info {
        margin-top:8px;
    }
    .article .article-copyright {
        margin-top:12px;
    }
    .article .article-footer {
        display:block;
        padding-top:24px;
        text-align:center;
    }
    .article .lm-paginate {
        padding-top:24px;
    }
    /* 正文引用块：窄屏收窄内距 */
    .article-content blockquote {
        margin:28px 0;
        padding:16px 20px;
    }}

.lm-article-modal {
    display:none;
    position:fixed;
    top:0;
    bottom:0;
    width:100%;
    text-align:center;
    z-index:1000;
}

.lm-article-modal .modal-mask {
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background:rgba(0,0,0,.6);
}

.lm-article-modal .icon-close {
    position:absolute;
    font-size:32px;
    padding:24px;
    right:0;
    top:0;
    color:#fff;
    cursor:pointer;
    z-index:1;
    transition:transform .3s;
}

.lm-article-modal .icon-close:hover {
    transform:rotate(180deg);
}

.lm-article-modal .lm-swiper-no-transition {
    transition-duration:0ms !important;
}

.lm-article-modal .swiper-wrapper {
    display:flex;
    width:100%;
    height:100%;
    flex-wrap:nowrap;
    align-items:center;
}

.lm-article-modal .swiper-item {
    position:relative;
    flex:0 0 100%;
    height:100%;
}

.lm-article-modal .swiper-item img {
    max-width:100%;
    max-height:100%;
}

.lm-article-modal .swiper-zoom-container {
    display:flex;
    width:100%;
    height:100%;
    justify-content:center;
    align-items:center;
}

.lm-article-modal .swiper-pagination {
    position:absolute;
    width:100%;
    bottom:24px;
    text-align:center;
    color:#fff;
    z-index:1;
}

.lm-article-modal .swiper-nav {
    position:absolute;
    padding:24px;
    left:-12px;
    cursor:pointer;
    top:50%;
    transform:translateY(-50%);
}

.lm-article-modal .swiper-nav i {
    color:#fff;
    font-size:40px;
}

.lm-article-modal .swiper-nav:hover {
    opacity:.85;
}

.lm-article-modal .swiper-next {
    left:auto;
    right:-12px;
}

.lm-article-modal .swiper-button-disabled i {
    color:var(--c-text-3);
}

@media (max-width: 640px) {
    .lm-article-modal .icon-close {
        padding:16px;
        font-size:18px;
    }
    .lm-article-modal .swiper-nav {
        left:-1px;
        padding:16px;
    }
    .lm-article-modal .swiper-nav i {
        font-size:20px;
    }
    .lm-article-modal .swiper-next {
        right:-1px;
    }
    .lm-article-modal .swiper-pagination {
        bottom:16px;
    }}

.page .article,
.page .page-link,
.page .page-tags,
.single .article,
.single .page-link,
.single .page-tags {
    padding:24px;
    background:var(--c-card);
    padding:32px;
    margin-bottom:24px;
    margin-top: 24px;;
}

.page .page-title,.single .page-title {
    margin-bottom:24px;
    text-align:center;
    color:var(--c-text);
    font-size:24px;
    font-weight:bold;
}

.single .page-title {
    margin-bottom:0;
}

@media (max-width: 890px) {
    .page .article,
    .page .page-link,
    .page .page-tags,
    .single .article,
    .single .page-link,
    .single .page-tags {
        margin-bottom:24px;
        padding:32px;
    }}

@media (max-width: 768px) {
    .page .article,
    .page .page-link,
    .page .page-tags,
    .single .article,
    .single .page-link,
    .single .page-tags {
        margin-bottom:24px;
        padding:24px;
    }
    .page .article .page-title,
    .page .page-link .page-title,
    .page .page-tags .page-title,
    .single .article .page-title,
    .single .page-link .page-title,
    .single .page-tags .page-title {
        font-size:20px;
        text-align:left;
    }}

@media (max-width: 640px) {
    .page .article,
    .page .page-link,
    .page .page-tags,
    .single .article,
    .single .page-link,
    .single .page-tags {
        padding:20px;
        margin-bottom:10px;
    }
    .page .article .page-title,
    .page .page-link .page-title,
    .page .page-tags .page-title,
    .single .article .page-title,
    .single .page-link .page-title,
    .single .page-tags .page-title {
        font-size:18px;
    }}

.page-tags.lm-main {
    float:none;
}

.page-tags .tag-item {
    float:left;
    width:20%;
    margin:24px 0 0 0;
    padding-right:24px;
}

.page-tags .tag-item a {
    position:relative;
    display:block;
/*==================  09 文章详情与评论  ==================*/
    width:100%;
    padding:0 56px 0 16px;
    line-height:40px;
    background:var(--c-soft);
    border-radius:var(--lm-radius-sm, 4px);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    transition:all .3s;
}

.page-tags .tag-item a:hover {
    background:var(--primary-color);
    color:var(--primary-on, #fff);
}

@media (max-width: 1024px) {
    .page-tags .tag-item {
        width:25%;
    }}

@media (max-width: 768px) {
    .page-tags .tag-item {
        width:33.3%;
        margin:16px 0 0 0;
        padding-right:16px;
    }
    .page-tags .tag-item a {
        width:100%;
    }}

@media (max-width: 640px) {
    .page-tags .tag-item {
        width:50%;
        margin-top:10px;
        padding-right:10px;
    }
    .page-tags .tag-item a {
        padding:0 48px 0 16px;
    }}

.page-link.lm-main {
    float:none;
}

.page-link-wraper {
    padding:0;
    margin:0;
    margin-right:-24px;
}

.page-link-wraper:after {
    clear:both;
    display:block;
    content:"";
    line-height:0;
}

.page-link-wraper ul {
    padding:0;
    margin:0;
    margin-right:-24px;
}

.page-link-wraper ul:after {
    clear:both;
    display:block;
    content:"";
    line-height:0;
}

.page-link-wraper li {
    list-style:none;
}

.page-link-wraper .link-item {
    float:left;
    width:20%;
    margin-top:24px;
    padding-right:24px;
}

.page-link-wraper .link-item a {
    display:inline-block;
    width:100%;
    padding:12px 16px;
    background:var(--c-soft);
    vertical-align:text-top;
    border-radius:var(--lm-radius-sm, 4px);
    line-height:1;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    transition:all .3s;
}

.page-link-wraper .link-item a:hover {
    background:var(--primary-color);
    color:var(--primary-on, #fff);
}

.page-link-wraper .link-item:nth-child(1),
.page-link-wraper .link-item:nth-child(2),
.page-link-wraper .link-item:nth-child(3),
.page-link-wraper .link-item:nth-child(4),
.page-link-wraper .link-item:nth-child(5) {
    margin-top:0;
}

@media (max-width: 1024px) {
    .page-link-wraper .link-item {
        width:25%;
    }
    .page-link-wraper .link-item:nth-child(5) {
        margin-top:24px;
    }}

@media (max-width: 768px) {
    .page-link-wraper {
        margin-right:-16px;
    }
    .page-link-wraper .link-item {
        width:33.33%;
        padding-right:16px;
        margin-top:16px;
    }
    .page-link-wraper .link-item a {
        width:100%;
    }
    .page-link-wraper .link-item:nth-child(4),
    .page-link-wraper .link-item:nth-child(5) {
        margin-top:16px;
    }
    .page-link-wraper ul {
        margin-right:-16px;
    }}

@media (max-width: 640px) {
    .page-link-wraper {
        margin-right:-10px;
    }
    .page-link-wraper ul {
        margin-right:-10px;
    }
    .page-link-wraper .link-item {
        width:50%;
        padding-right:10px;
        margin-top:10px;
    }
    .page-link-wraper .link-item:nth-child(3),
    .page-link-wraper .link-item:nth-child(4),
    .page-link-wraper .link-item:nth-child(5) {
        margin-top:10px;
    }}

#tougao .lm-ipt {
    margin-bottom:16px;
}

#tougao label {
    line-height:32px;
    font-weight:bold;
    text-align:left;
}

.social-share {
    flex:1;
    margin-bottom:-8px;
}

.social-share .share-label {
    vertical-align:super;
}

.social-share .lmfa {
    display:inline-block;
    width:36px;
    height:36px;
    margin:0 16px 8px 0;
    font-size:24px;
    border-radius:var(--lm-radius-sm, 50%);
    line-height:34px;
    text-align:center;
}

.qrcode {
    position:fixed;
    top:0;
    bottom:0;
    width:100%;
    text-align:center;
    z-index:1000;
    display:none;
}

.qrcode .qrcode-mask {
    background-color:rgba(0,0,0,.6);
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
}

.qrcode .qrcode-in {
    position:absolute;
    left:50%;
    top:100%;
    padding:40px;
    background:var(--c-card);
    transform:translate(-50%, -50%);
}

.qrcode .icon-close {
    position:absolute;
    right:16px;
    top:16px;
    font-size:20px;
    cursor:pointer;
    transition:transform .3s;
}

.qrcode .icon-close:hover {
    transform:rotate(180deg);
}

@media (max-width: 640px) {
    .social-share .share-label {
        display:block;
        margin-bottom:4px;
        text-align:center;
    }
    .social-share .lmfa {
        width:30px;
        height:30px;
        font-size:20px;
        line-height:28px;
    }
    .social-share .lmfa:not(:last-child) {
        margin-right:8px;
    }
    .social-share .lmfa:last-child {
        margin-right:0;
    }
    .social-share+.lm-like {
        margin-top:24px;
    }}

.comments-container {
    margin-bottom:24px;
    padding:32px;
    background:var(--c-card);
}

.comments-container .lm-paginate {
    margin:24px 0 0 0;
}

.comments-container .comment-respond {
    position:relative;
    max-width:660px;
    margin:0 auto;
    padding-top:24px;
}

.comments-container .comment-respond #cancel-comment-reply-link {
    position:absolute;
    height:32px;
    width:calc(50% - 8px);
    left:0;
    bottom:0;
    text-align:center;
    line-height:32px;
    color:var(--c-text-3);
    font-weight:normal;
    cursor:pointer;
    background:var(--c-card);
    border-radius:var(--lm-radius-sm, 4px);
    border:1px solid var(--c-line);
    z-index:1;
}

.comments-container .comment-respond #cancel-comment-reply-link:hover {
    color:var(--primary-color);
}

.comments-container .comment-form {
    position:relative;
    display:flex;
    flex-wrap:wrap;
    margin:0 auto;
    text-align:center;
    justify-content:space-between;
}

.comments-container .comment-form #comment {
    flex:0 0 100%;
    width:100%;
    height:100px;
    padding:8px;
    color:var(--c-text-2);
    border:1px solid var(--c-line);
    border-radius:var(--lm-radius-sm, 4px);
    -webkit-appearance:none;
    outline:none;
    resize:none;
    transition:border .3s;
}

.comments-container .comment-form #comment:focus {
    border:1px solid var(--primary-color);
}

.comments-container .comment-form .comment-form-item {
    flex-grow:1;
    min-width:calc(50% - 8px);
    height:32px;
    padding:0 8px;
    margin-top:16px;
    border:1px solid var(--c-line);
    border-radius:var(--lm-radius-sm, 4px);
    -webkit-appearance:none;
    line-height:30px;
    outline:none;
    transition:border .3s;
}

.comments-container .comment-form .comment-form-item:focus {
    border:1px solid var(--primary-color);
}

.comments-container .comment-form .comment-form-item:nth-child(3),
.comments-container .comment-form .comment-form-item:nth-child(5) {
    margin-left:16px;
}

.comments-container .comment-form .form-submit {
    width:100%;
    margin-top:16px;
}

.comments-container .comment-form .form-submit .submit {
    margin-right:8px;
    font-size:18px;
    color:var(--c-text-3);
    font-weight:normal;
    vertical-align:text-bottom;
}

.comments-list {
    padding:0;
    margin:0;
}

.comments-list ul {
    padding:0;
    margin:0;
}

.comments-list li {
    padding-top:24px;
    list-style:none;
}

.comments-list li.depth-2,
.comments-list li.depth-4,
.comments-list li.depth-6,
.comments-list li.depth-8,
.comments-list li.depth-10 {
    border-top:2px dashed #fff;
    background:var(--c-soft);
}

.comments-list li.depth-1,
.comments-list li.depth-3,
.comments-list li.depth-5,
.comments-list li.depth-7,
.comments-list li.depth-9 {
    border-top:2px dashed var(--c-line-soft);
    background:var(--c-card);
}

.comments-list>li {
    border-top:none !important;
}

.comments-list>li>.children {
    margin-left:56px;
}

.comments-list .children {
    margin-top:24px;
    transition:all .3s;
}

.comments-list .children li {
    padding:24px;
}

.comments-list .children li:first-child {
    border-top:none;
}

.comments-list .comment-main {
    display:flex;
    width:100%;
}

.comments-list .comment-main .item-avatar {
    display:block;
    height:40px;
    width:40px;
    border-radius:50%;
}

.comments-list .comment-main .item-user {
    margin-bottom:8px;
    font-size:12px;
}

.comments-list .comment-main .item-user .item-user-status {
    display:inline-block;
    height:20px;
    padding:0 4px;
    background:rgba(var(--lm-meta-rgb, 71, 85, 105), 0.10);
    color:var(--lm-meta-deep, #475569);
    border-radius:var(--lm-radius-sm, 4px);
    line-height:20px;
}

.comments-list .comment-main .item-user .comment-reply-link {
    float:right;
    display:none;
    font-size:12px;
}

.comments-list .comment-main+#respond .form-submit {
    text-align:right;
}

.comments-list .comment-main+#respond .submit {
    width:calc(50% - 8px);
}

.comments-list .comment-main:hover .comment-reply-link {
    display:inline-block !important;
}

@media (max-width: 890px) {
    .comments-container {
        margin-bottom:24px;
        padding:32px;
    }
    .comments-container .lm-paginate {
        margin-top:24px;
    }
    .comments-container .comment-respond {
        padding-top:24px;
    }
    .comments-list li {
        padding-top:24px;
    }
    .comments-list .children {
        margin-top:24px;
    }}

@media (max-width: 768px) {
    .comments-container {
        margin-bottom:24px;
        padding:24px;
    }
    .comments-container .lm-paginate {
        margin-top:24px;
    }
    .comments-container .comment-respond {
        padding-top:24px;
    }
    .comments-list li {
        padding-top:24px;
    }
    .comments-list .children {
        margin-top:24px;
    }
    .comments-list .children li {
        padding:16px;
    }
    .comments-list>li>.children {
        margin-left:44px;
    }
    .comments-list .comment-main .item-avatar {
        width:32px;
        height:32px;
    }
    .comments-list .comment-main .item-user .comment-reply-link {
        display:inline-block;
        color:var(--c-text-3);
        float:none;
    }}

@media (max-width: 640px) {
    .comments-container {
        margin-bottom:10px;
        padding:20px;
    }
    .comments-container .lm-paginate {
        margin-top:16px;
    }
    .comments-container .comment-respond {
        padding-top:16px;
    }
    .comments-container .comment-form .comment-form-item {
        flex:0 0 100%;
    }
    .comments-container .comment-form .comment-form-item:nth-child(3),
    .comments-container .comment-form .comment-form-item:nth-child(5) {
        margin-left:0;
    }
    .comments-list li {
        padding-top:16px;
    }
    .comments-list .children {
        margin-top:16px;
    }
    .comments-list .children li {
        padding:8px;
    }}

.widget {
    width:100%;
    padding:24px;
    margin-bottom:24px;
    background:var(--c-card);
}

.widget h1,.widget h2,.widget h3,.widget h4,.widget h5,.widget h6 {
    font-weight:bold;
    color:var(--c-text);
}

.widget h1 {
    font-size:1.5rem;
}

.widget h2 {
    font-size:1.2rem;
}

.widget h3,.widget h4,.widget h5,.widget h6 {
    font-size:1rem;
}

.widget a {
    color:var(--c-text-2);
}

.widget a:hover {
    color:var(--primary-color);
}

.widget.lm-fix-top {
    position:fixed;
    width:320px;
    z-index:1;
    box-shadow:0 0 8px var(--c-line);
}

.widget.lm-fix-top::after {
    position:absolute;
    content:"";
    top:-24px;
    left:0;
    height:24px;
    width:100%;
    background:var(--c-soft);
    z-index:-1;
}

.widget.lm-fix-bottom {
    position:absolute;
}.widgettitle {
    position:relative;
    color:var(--c-text);
    margin-bottom:24px;
    padding-left:22px;
    font-weight:bold;
    font-size:18px;
    line-height:1;
}.widgettitle:before {
    position:absolute;
    content:"";
    left:0;
    top:0;
    height:18px;
    border-left:6px solid var(--primary-color);
}

.widget_text p {
    color:var(--c-text-2);
}

.widget_block>ul {
    margin:0;
    padding:0 16px;
}

.widget_block>ul>li {
    margin-bottom:8px;
}

.widget_block .wp-block-quote {
    position:relative;
    padding:12px 16px 12px 24px;
    background:var(--c-soft, #f3f5f7);
    border-left:4px solid var(--c-line-soft, #f1f5f9);
}

.widget_block .wp-block-quote p {
    margin-bottom:8px;
}

.wp-block-search .wp-block-search__label {
    display:none;
}

.wp-block-search .wp-block-search__input {
    height:32px;
    padding:8px;
    border:1px solid var(--c-line);
    border-right:none;
    border-radius:var(--lm-radius-sm, 4px);
    border-top-right-radius:0;
    border-bottom-right-radius:0;
    -webkit-appearance:none;
}

.wp-block-search .wp-block-search__input:focus {
    border:1px solid var(--primary-color);
}

.wp-block-search .wp-block-search__button {
    height:32px;
    padding:6px 16px;
    margin-left:0;
    background:var(--primary-color);
    color:var(--primary-on, #fff);
    font-size:12px;
    cursor:pointer;
    border-radius:var(--lm-radius-sm, 4px);
    border:1px solid var(--primary-color);
    border-top-left-radius:0;
    border-bottom-left-radius:0;
    transition:opacity .3s;
}

.wp-block-search .wp-block-search__button:hover {
    background:var(--primary-color);
    border:1px solid var(--primary-color);
    opacity:.85;
}

.widget_search .search-form {
    display:flex;
    flex:auto;
    flex-wrap:nowrap;
    max-width:100%;
}

.widget_search .search-form .search-input {
    flex:1;
    height:32px;
    padding:8px;
    border:1px solid var(--c-line);
    border-right:none;
    border-radius:var(--lm-radius-sm, 4px);
    border-top-right-radius:0;
    border-bottom-right-radius:0;
    -webkit-appearance:none;
}

.widget_search .search-form .search-input:focus {
    border:1px solid var(--primary-color);
}

.widget_search .search-form .search-btn {
    height:32px;
    padding:6px 16px;
    margin-left:0;
    background:var(--primary-color);
    color:var(--primary-on, #fff);
    font-size:12px;
    cursor:pointer;
    border-radius:var(--lm-radius-sm, 4px);
    border:1px solid var(--primary-color);
    border-top-left-radius:0;
    border-bottom-left-radius:0;
    transition:opacity .3s;
}

.widget_search .search-form .search-btn:hover {
    opacity:.85;
}

.wp-block-separator {
    position:relative;
    width:20%;
    margin:48px auto;
    height:2px;
    background:var(--c-line);
    border:none;
}

.wp-block-separator.is-style-wide {
    width:100%;
}

.wp-block-separator.is-style-dots {
    width:auto;
}

.widget_links ul,.widget_meta ul,.widget_recent_entries ul,.widget_categories ul {
    margin:0 0 0 16px;
    padding:0;
    color:var(--c-text-2);
}

.widget_links li,.widget_meta li,.widget_recent_entries li,.widget_categories li {
    list-style:disc;
}

.widget_nav_menu .menu {
    margin:0;
}

.widget_nav_menu ul {
    padding:0 16px;
    color:var(--c-text-2);
}

.widget_nav_menu ul li {
    padding-top:8px;
}

.widget_calendar table {
    width:100%;
    text-align:center;
}

.widget_calendar table caption {
    padding-bottom:16px;
    font-weight:bold;
    color:var(--c-text);
}

.widget_calendar a {
    text-decoration:none;
}

.widget_calendar a:hover {
    text-decoration:underline;
}

.widget_calendar .wp-calendar-nav {
    margin-top:16px;
}

.widget_calendar tbody td,.widget_calendar tfoot td,.widget_calendar thead th {
    line-height:24px;
    text-align:center;
    border:1px solid var(--c-line);
}

.widget_calendar thead th {
    background-color:var(--c-soft, #f3f5f7);
}

.widget_calendar tbody td a {
    color:var(--primary-color);
}

.widget_calendar tbody td a:hover {
    color:var(--primary-color);
}

.widget_calendar #today {
    background:var(--primary-color);
}

.widget_calendar #today>a {
    font-size:14px;
}

.lm-swiper {
    position:relative;
    width:100%;
    padding:0 !important;
    overflow:hidden;
    transform:translateY(0);
}

.lm-swiper .swiper-inner {
    display:flex;
    flex-wrap:nowrap;
}

.lm-swiper .swiper-inner:after {
    clear:both;
    display:block;
    content:"";
    line-height:0;
}

.lm-swiper .swiper-inner .swiper-item {
    position:relative;
    flex:0 0 100%;
}

.lm-swiper .swiper-inner .swiper-item img {
    display:block;
    max-width:100%;
}

.lm-swiper .swiper-inner .swiper-text {
    display:none;
    position:absolute;
    height:40px;
    width:100%;
    bottom:0;
    padding:0 84px 0 16px;
    line-height:40px;
    color:#fff;
    background:rgba(0,0,0,.4);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.lm-swiper .swiper-pagination {
    position:absolute;
    left:50%;
    bottom:10px;
    transform:translateX(-50%);
}

.lm-swiper .swiper-pagination .swiper-pagination-bullet {
    display:inline-block;
    margin:0 4px;
    width:8px;
    height:8px;
    background:var(--c-card);
    opacity:.2;
    cursor:pointer;
}

.lm-swiper .swiper-pagination .swiper-pagination-bullet-active {
    background:var(--c-card);
    opacity:1;
}

.lm-swiper .swiper-nav {
    display:none;
    position:absolute;
    top:50%;
    left:11px;
    padding:8px;
    transform:translateY(-50%);
    cursor:pointer;
}

.lm-swiper .swiper-nav i {
    color:#fff;
    font-size:24px;
    font-weight:bold;
}

.lm-swiper .swiper-nav.swiper-next {
    left:auto;
    right:11px;
}

.lm-swiper:hover .swiper-nav {
    display:block;
}

.is-phone .widget {
    display:none;
}

.is-phone .widget.widget-on-phone {
    display:block;
}

.catalog-list {
    position:relative;
    margin:0;
    padding:0 0 0 8px;
    list-style:none;
    overflow:visible;
}

.catalog-list .catalog-dot {
    position:absolute;
    top:12px;
    left:4px;
    width:9px;
    height:9px;
    background:var(--c-card);
    border-radius:50%;
    border:2px solid var(--primary-color);
    z-index:2;
}

.catalog-list .catalog-item {
    border-left:1px solid var(--c-line);
}

.catalog-list .catalog-item a {
    position:relative;
    display:block;
    width:100%;
    padding:0 0 0 16px;
    line-height:32px;
    color:var(--c-text);
    cursor:pointer;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    transition:color .3s;
}

.catalog-list .catalog-item a::before {
    position:absolute;
    content:"";
    left:0;
    top:50%;
    width:12px;
    height:1px;
    background:var(--c-line);
}

.catalog-list .catalog-item.active a,.catalog-list .catalog-item:hover a {
    color:var(--primary-color);
}

.catalog-list .catalog-item.level-2 a {
    padding-left:32px;
}

.catalog-list .catalog-item.level-2 a::before {
    width:28px;
}

.catalog-list .catalog-item.level-3 a {
    padding-left:48px;
}

.catalog-list .catalog-item.level-3 a::before {
    width:44px;
}

.catalog-list .catalog-item.level-4 a {
    padding-left:64px;
}

.catalog-list .catalog-item.level-4 a::before {
    width:60px;
}

.catalog-list .catalog-item.level-5 a {
    padding-left:80px;
}

.catalog-list .catalog-item.level-5 a::before {
    width:76px;
}

.catalog-list .catalog-item.level-6 a {
    padding-left:96px;
}

.catalog-list .catalog-item.level-6 a::before {
    width:92px;
}

@media (max-width: 1024px) {
    .lm-catalog {
        display:none !important;
    }}

@media (max-width: 890px) {
    .widget {
        padding:24px;
        margin-bottom:24px;
    }
    .lm-swiper .swiper-nav {
        left:11px;
    }
    .lm-swiper .swiper-nav.swiper-next {
        right:11px;
    }}

@media (max-width: 768px) {
    .widget {
        padding:24px;
        margin-bottom:24px;
    }
    .lm-swiper .swiper-nav {
        left:11px;
    }
    .lm-swiper .swiper-nav.swiper-next {
        right:11px;
    }
    .widgettitle {
        font-size:16px;
    }
    .widgettitle::before {
        height:15px;
        top:1px;
    }}

@media (max-width: 640px) {
    .widget {
        padding:16px;
        margin-bottom:10px;
    }
    .widgettitle {
        margin-bottom:16px;
    }
    .lm-swiper .swiper-nav {
        left:3px;
    }
    .lm-swiper .swiper-nav.swiper-next {
        right:3px;
    }
    .catalog-list {
        margin-right:0;
    }}

/*==================  10 移动端文章目录  ==================*/
/*===  移动端文章目录悬浮按钮（main.js 注入，仅文章页 ≤1024px 出现）  ====*/
.lm-catalog-fab {
    display:none;
    position:fixed;
    right:12px;
    top:50%;
    transform:translateY(-50%);
    z-index:998;
    width:40px;
    height:40px;
    align-items:center;
    justify-content:center;
    background:var(--c-card);
    border:1px solid #e8edf3;
    border-radius:var(--lm-radius-sm, 6px);
    box-shadow:0 3px 10px rgba(15,23,42,.05);
    color:var(--c-text);
    cursor:pointer;
}

.lm-catalog-fab .icon-mulu {
    font-size:22px;
}

@media (max-width: 1024px) {
    .lm-catalog-fab {
        display:flex;
    }}

.lm-radius .lm-rds8,.lm-radius .layout-events {
    border-radius:var(--lm-radius, 8px);
}

.lm-radius .lm-rds4 {
    border-radius:var(--lm-radius-sm, 4px);
}

.lm-radius .lm-top-menu .sub-menu {
    border-radius:var(--lm-radius-sm, 4px);
}

.lm-radius .lm-stmod ul {
    border-radius:var(--lm-radius-sm, 4px);
}

.lm-radius .lm-nodata,.lm-radius .lm-top-box,.lm-radius .lm-notice {
    border-radius:var(--lm-radius, 8px);
}

.lm-radius .widget {
    border-radius:var(--lm-radius, 8px);
}

.lm-radius .comments-list .children li {
    border-radius:var(--lm-radius-sm, 4px);
}

.lm-radius .post-list .product {
    border-radius:var(--lm-radius, 8px);
}

.lm-radius .post-list.layout-default .post-item:first-child {
    border-top-left-radius:8px;
    border-top-right-radius:8px;
}

.lm-radius .post-list.layout-default .post-item:last-child {
    border-bottom-left-radius:8px;
    border-bottom-right-radius:8px;
}

@media (max-width: 640px) {
    .lm-radius .lm-rds8,.lm-radius .layout-events {
        border-radius:0;
    }
    .lm-radius .widget {
        border-radius:0;
    }
    .lm-radius .lm-nodata,.lm-radius .lm-top-box {
        border-radius:0;
    }
    .lm-radius .post-list .product {
        border-radius:0;
    }
    .lm-radius .post-list.layout-default .post-item:first-child {
        border-top-left-radius:0;
        border-top-right-radius:0;
    }
    .lm-radius .post-list.layout-default .post-item:last-child {
        border-bottom-left-radius:0;
        border-bottom-right-radius:0;
    }}

.lm-modal {
    position:fixed;
    display:flex;
    opacity:0;
    visibility:hidden;
    top:0;
    left:0;
    width:100vw;
    height:100vh;
    align-items:center;
    justify-content:center;
    z-index:1000;
}

.lm-modal.active {
    opacity:1;
    visibility:visible;
}

.lm-modal.active .m-inner {
    top:50%;
    opacity:1;
}

.lm-modal .-mask {
    background:rgba(0,0,0,.6);
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
}

.lm-modal .icon-close {
    position:absolute;
    right:0;
    top:0;
    font-size:24px;
    line-height:1;
    padding:12px;
    cursor:pointer;
    color:#fff;
    transition:transform .3s;
    z-index:1;
}

.lm-modal .icon-close:hover {
    transform:rotate(180deg);
}

.lm-modal .-title {
    margin-bottom:48px;
    color:var(--c-text);
    font-size:20px;
    font-weight:bold;
    text-align:center;
}

.lm-modal .m-inner {
    position:absolute;
    opacity:0;
    left:50%;
    top:100%;
    background:var(--c-card);
    transform:translate(-50%, -50%);
    transition:top .3s,opacity .3s;
}

.lm-modal .m-inner.-b {
    width:360px;
    max-height:70vh;
    padding:48px;
}

@media (max-width: 640px) {
    .lm-modal .m-inner.-b {
        width:90vw;
        padding:24px;
    }
    .lm-modal .-title {
        margin-bottom:24px;
    }}

.footer {
    background:var(--ft-bgc);
    border-top:1px solid var(--ft-line); /* 页脚与页面底的区域边界（深色落款本身已拉开，此线主要给夜间用） */
    padding:var(--ft-pad-y, 32px) 0; /* 后台「页脚 → 上下间距」 */
    color:var(--ft-color);
    font-size:var(--ft-fs, 17px); /* 后台「页脚 → 正文字号」 */
}

.footer a {
    color:var(--ft-color);
}

.footer a:hover {
    color:var(--ft-hv-color);
}

.footer .lm-footer-menu {
    display:flex;
    padding:0;
    margin:0 0 24px 0;
    align-items:flex-start;
    justify-content:center;
    list-style:none;
}

.footer .lm-footer-menu ul {
    padding:0;
    margin:0;
    list-style:none;
}

.footer .lm-footer-menu a {
    line-height:2.2;
    font-size:var(--ft-fs, 17px);
}

.footer .lm-footer-menu i {
    margin-right:8px;
}

.footer .lm-footer-menu .sub-menu {
    margin-left:16px;
}

.footer .lm-footer-menu>li:not(:last-child) {
    margin-right:100px;
}

.footer .lm-footer-menu>li>a {
    display:block;
    margin-bottom:8px;
    font-size:calc(var(--ft-fs, 17px) + 2px); /* 分组标题比正文大 2px */
    font-weight:bold;
}

.footer .lm-footer-menu>li>.sub-menu {
    margin-left:0;
}

.footer .copyright {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    text-align:center;
}

/* 每条信息是独立 flex 子项 + nowrap：任何浏览器（含鸿蒙）内部都不会断行，
   空间不足时只会整条换到下一行 */
.footer .lm-footer-text,
.footer .lm-footer-item {
    margin:3px 0 3px 16px;
    white-space:nowrap;
}

.footer .lm-footer-text:first-child,
.footer .lm-footer-item:first-child {
    margin-left:0;
}

.footer .lm-footer-item {
    display:inline-flex;
    align-items:center;
}

.footer .lm-gongan {
    margin-right:4px;
    width:16px;
    height:16px;
}

.lm-f-links {
    margin-bottom:8px;
    text-align:center;
}

.lm-f-links strong {
    margin-right:12px;
}

.lm-f-links li {
    margin:0 8px 8px 8px;
    display:inline-block;
}

.lm-f-links img {
    width:16px;
    height:16px;
    border-radius:var(--lm-radius-sm, 4px);
    margin-right:4px;
    vertical-align:text-bottom;
}

@media (max-width: 890px) {
    .footer {
        padding:var(--ft-pad-y, 32px) 0;
    }
    .footer .lm-footer-menu {
        display:none;
    }}

@media (max-width: 768px) {
    .footer {
        padding:var(--ft-pad-y, 32px) 0;
    }}

@media (max-width: 640px) {
    .footer {
        padding:16px;
    }}

.post-list.layout-default .post-item {
    transition: background-color 0.25s ease;
    box-sizing: border-box;
    overflow: hidden;
}

.post-list.layout-default .post-item:hover {
    background-color: var(--c-hover, #f8fafc);
    cursor: pointer;
}

body .widget.lm-fix-top::after {
    background-color: unset !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

body .widget.lm-fix-top {
    box-shadow: none !important;
}

.comments-container .comment-respond {
    max-width: 100% !important;
}

.post-list.layout-default .post-info .meta-item i {
    font-size: 15px !important;
}

/*==================  11 古腾堡区块适配  ==================*/
/* 前台文章内古腾堡引用块：卡片外观（内距/底色/圆角/引号）统一由
   .article-content blockquote 规则提供，与文章摘要 .lm-p-e 同款；
   此处仅保留署名 cite 的排版 */
body .wp-block-quote cite {
    display: block;
    text-align: right;
    font-size: 12px;
    color: var(--c-text-3);
    font-style: normal;
    margin-top: 8px;
}

/* 文章标题和内容样式调整 */
.article .post-info {
    margin-bottom: 20px;
}

.article-content {
    padding: 16px;
}

figure {
    margin: unset;
}

@media (max-width: 890px) {
    .header .logo-img {
        max-height: 30px;
    }
    /* 手机端切换为手机端 Logo（无手机图时两端同源，视觉无变化） */
    .header .logo-pc {
        display:none;
    }
    .header .logo-m {
        display:block;
    }
    /* 夜间 Logo 的断点修正：移动端仅手机端夜间图参与互换（压过上方桌面端的 html.dark 规则） */
    .header .logo-m.logo-dark {
        display:none;
    }
    html.dark .header .logo-pc.logo-dark {
        display:none;
    }
    html.dark .header .logo-m.logo-dark {
        display:block;
    }
}

/*===========  顶部搜索：全屏居中弹层（PC / 移动端共用）  ============*/
html.lm-search-lock,
html.lm-search-lock body {
    overflow: hidden;
}

.lm-search-modal {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
}

.lm-search-modal.is-open {
    display: flex;
}

.lm-search-modal__mask {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    animation: lm-search-mask-in 0.22s ease;
}

.lm-search-modal__panel {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 640px;
    animation: lm-search-panel-in 0.26s cubic-bezier(0.2, 0.9, 0.3, 1.2);
}

.lm-search-modal__close {
    position: absolute;
    top: -46px;
    right: 0;
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    font-size: 22px;
    line-height: 1;
    border-radius: 50%;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
}

.lm-search-modal__close:hover {
    background: rgba(255, 255, 255, 0.28);
    transform: rotate(90deg);
}

.lm-search-modal__box {
    background: var(--c-card, #ffffff);
    border-radius: var(--lm-radius);
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.22);
    padding: 32px 32px 24px;
    box-sizing: border-box;
}

.lm-search-modal__field {
    position: relative;
}

.lm-search-modal__field .lm-search-modal__icon {
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    color: var(--c-text-3);
    pointer-events: none;
    z-index: 1;
}

.lm-search-modal__field input {
    display: block;
    width: 100%;
    height: 58px;
    padding: 0 20px 0 50px;
    border: 2px solid var(--c-line);
    border-radius: var(--lm-radius);
    background: var(--c-card, #ffffff);
    outline: none;
    box-shadow: none;
    font-size: 17px;
    color: var(--c-text);
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.lm-search-modal__field input:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 4px rgba(var(--primary-rgb, 95, 122, 140), 0.12);
}

.lm-search-modal__field input::placeholder {
    color: var(--c-text-3);
}

.lm-search-modal__tip {
    margin: 14px 0 0;
    font-size: 13px;
    color: var(--c-text-3);
    text-align: center;
    letter-spacing: 0.5px;
}

@keyframes lm-search-mask-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes lm-search-panel-in {
    from {
        opacity: 0;
        transform: translateY(-14px) scale(0.97);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (max-width: 640px) {
    .lm-search-modal {
        padding: 16px;
        align-items: flex-start;
        padding-top: 18vh;
    }
    .lm-search-modal__panel {
        max-width: 100%;
    }
    .lm-search-modal__box {
        padding: 20px 18px 16px;
    }
    .lm-search-modal__field input {
        height: 50px;
        padding: 0 16px 0 46px;
        font-size: 16px;
    }
    .lm-search-modal__field .lm-search-modal__icon {
        left: 15px;
        width: 18px;
        height: 18px;
    }
    .lm-search-modal__close {
        top: -42px;
        width: 32px;
        height: 32px;
        font-size: 20px;
    }}

/*==================  12 课程卡片家族  ===================*/
/* ==========================================================================
课程卡片家族（课程列表页 / 首页「最近课程」「计划课程」共用）
源自 pages/page-course.php，全站加载保证两页卡片样式单源；
--cp-* 变量在课程页 .lm-cp / 深色模式下定义，此处仅作浅色回退
========================================================================== */
.cp-card {
    background: var(--c-card, #ffffff);
    border: 1px solid var(--cp-line, #e6ebf1);
    border-radius: var(--lm-radius);
    overflow: hidden;
    box-shadow: var(--lm-shadow-card);
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.3s ease, border-color 0.3s ease;
}

.cp-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--lm-shadow-lift);
    border-color: rgba(var(--primary-rgb, 95, 122, 140), 0.3);
}

.cp-thumb {
    position: relative;
    flex-shrink: 0;
    aspect-ratio: 16 / 9;
    background: #eef2f6;
    overflow: hidden;
}

.cp-thumb .cp-cover-link {
    display: block;
    width: 100%;
    height: 100%;
}

.cp-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 无封面：课程名首字主色渐变占位 */
.cp-thumb-ph {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: var(--primary-color, #5f7a8c);
    color: rgba(255, 255, 255, 0.92);
    font-size: 46px;
    font-weight: 700;
    user-select: none;
}

/* 封面角标：推荐（红）/ 热门（琥珀） */
.cp-badge {
    position: absolute;
    top: 11px;
    right: 11px;
    z-index: 2;
    padding: 3px 9px;
    font-size: 11.5px;
    line-height: 1.5;
    color: #fff;
    border-radius: var(--lm-radius-sm);
    letter-spacing: 0.5px;
}

.cp-badge.is-rec {
    background: var(--lm-rec-solid, rgba(188, 43, 34, .93));
}

.cp-badge.is-hot {
    background: var(--lm-hot-solid, rgba(217, 119, 6, .93));
}

/*==================  13 课程卡页脚：一行元信息  ==================*/
/* 页脚是一行元信息不是贴纸板：三标签共用同一形态（纯文本、无底无框），
   维度只靠颜色分——类别=ccat 染色字 / 阶段=stage 第三色 / 状态=语义色圆点+字（点是信号不是容器），
   条目间用 1px 细线分隔；可点条目 hover 只加下划线，不加底色不加框。
   字号阶梯：标题 18 / 正文 15 / 页脚整行统一 12.5（≈正文×0.83，元信息标尺），
   标签不再单独缩小——同一行里两种字号只会破坏基线，11.5px 的中文也偏碎。 */
/* 状态圆点标签：文字色与圆点同档（currentColor），语义三档，其余状态兜底中性灰 */
.cp-status {
    display:inline-flex;
    align-items:center;
    gap:5px;
    flex: none;
    white-space: nowrap;
    color: var(--lm-meta-deep);
}

.cp-status::before {
    content:"";
    flex:none;
    width:6px;
    height:6px;
    border-radius:50%;
    background:currentColor;
}

.cp-status.is-doing { color: var(--lm-doing-deep); } /* 进行中：琥珀 */
.cp-status.is-done  { color: var(--lm-done-deep); }  /* 已完成：绿 */
.cp-status.is-rec   { color: var(--lm-rec-deep); }   /* 录制中：青蓝 */

/* 封面右下：时长 */
.cp-dur {
    position: absolute;
    right: 11px;
    bottom: 11px;
    z-index: 2;
    padding: 2px 9px;
    font-size: 12px;
    line-height: 1.5;
    color: #fff;
    background: rgba(15, 23, 42, 0.62);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    border-radius: var(--lm-radius-sm);
    font-variant-numeric: tabular-nums;
}

.cp-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 16px 18px 16px;
}

.cp-title {
    margin: 0 0 9px;
    min-height: 3em;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cp-title a {
    color: var(--cp-title, #0f172a) !important;
    text-decoration: none;
    transition: color 0.2s ease;
}

.cp-title a:hover {
    color: var(--primary-color, #5f7a8c) !important;
}

/* 简介完整展示，不截断；页脚锚定卡片底部，整网格等高 */
.cp-desc {
    margin: 0 0 14px;
    font-size: 15px;
    line-height: 1.75;
    color: var(--c-text-2, #64748b);
    word-break: break-word;
}

.cp-foot {
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid var(--c-line-soft, #f1f5f9);
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12.5px;
    color: var(--cp-muted, #94a3b8);
}

/* 条目分隔：非首项前一道 1px 细线（日期靠右不参与） */
.cp-foot > :not(:first-child):not(.cp-date) {
    border-left: 1px solid var(--c-line, #e2e8f0);
    padding-left: 10px;
}

/* 可点的元信息 hover：只加下划线，不做色块反馈 */
.cp-foot a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.cp-foot-cat {
    max-width: 100%;
    font-weight: 500;
    color: var(--lm-ccat-deep);
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* 阶段标签：与类别同为纯文本，只靠 stage 专用色区分（色相与 ccat/状态语义色拉开） */
.cp-stage-tag {
    flex: none;
    max-width: 46%;
    color: var(--lm-stage, #54648f);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

a.cp-stage-tag {
    text-decoration: none;
}

.cp-date {
    margin-left: auto;
    flex: none;
    font-variant-numeric: tabular-nums;
}

/* 移动端卡片收紧（与课程页原响应式一致） */
@media (max-width: 768px) {
    .cp-info {
        padding: 14px 15px 14px;
    }

    .cp-title {
        font-size: 16px;
    }}

@media (max-width: 480px) {
    .cp-info {
        padding: 12px 14px 12px;
    }

    .cp-title {
        font-size: 15.5px;
    }}

/*==================  14 文章卡片家族  ===================*/
/* ==========================================================================
文章卡片家族（文章聚合页 page-article / 搜索页 文章结果共用）
源自 pages/page-article.php，此处抽出为共用样式；
所有 hub-* 变量在 .lm-hub 作用域下定义，此处提供通用回退值
========================================================================== */
.hub-card {
    --card-pad: 26px;
    display: flex;
    flex-direction: column;
    background: var(--c-card, #ffffff);
    border: 1px solid var(--c-line, #e6ebf1);
    border-radius: var(--lm-radius);
    box-shadow: var(--lm-shadow-card);
    padding: var(--card-pad);
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.hub-card:hover {
    transform: translateY(-3px);
    border-color: rgba(var(--primary-rgb, 95, 122, 140), 0.25);
    box-shadow: var(--lm-shadow-lift);
}

.hub-card-thumb {
    display: block;
    position: relative;
    margin: calc(-1 * var(--card-pad)) calc(-1 * var(--card-pad)) 18px;
    padding-top: 56.25%; /* 16:9 */
    overflow: hidden;
    background: var(--c-soft, #f1f5f9);
}

.hub-card-thumb img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.hub-card:hover .hub-card-thumb img {
    transform: scale(1.02);
}

.hub-card-title {
    margin: 0 0 12px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
    color: var(--c-text, #0f172a);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.hub-card-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}

.hub-card-title a:hover {
    color: var(--primary-color, #5f7a8c);
}

.hub-card-desc {
    margin: 0 0 20px;
    font-size: 15px;
    line-height: 1.75;
    color: var(--c-text-2, #64748b);
    word-break: break-word;
}

.hub-card-desc :last-child { margin-bottom: 0; }

.hub-card-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid var(--c-line-soft, #f1f5f9);
    min-width: 0;
}

.hub-card-cat {
    flex: none;
    max-width: 55%;
    font-size: 12px;
    line-height: 1;
    color: var(--lm-pcat-deep, #5f7a8c);
    background: rgba(var(--lm-pcat-rgb, 95, 122, 140), 0.10);
    padding: 4px 10px;
    border-radius: var(--lm-radius-sm);
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: background 0.2s ease;
}

.hub-card-cat:hover {
    background: rgba(var(--lm-pcat-rgb, 95, 122, 140), 0.20);
}

.hub-card-date {
    flex: none;
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    color: var(--c-text-3, #94a3b8);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.hub-card-date .lmfa { font-size: 13px; color: var(--c-text-3, #cbd5e1); }

/* hub-card 移动端收紧（跟 cp-card 家族断点一致） */
@media (max-width: 1024px) {
    .hub-card { --card-pad: 22px; }
}

@media (max-width: 768px) {
    .hub-card { --card-pad: 20px; }
}

@media (max-width: 480px) {
    .hub-card { --card-pad: 18px; }
    .hub-card-title { font-size: 16px; }
}

/* hub-card 家族深色模式覆盖 */
html.dark .hub-card {
    background: var(--c-card);
    border-color: var(--c-line);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.26);
}
html.dark .hub-card:hover {
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
}
html.dark .hub-card-title { color: var(--c-text); }
html.dark .hub-card-desc,
html.dark .hub-card-meta { color: var(--c-text-2); }
html.dark .hub-card-meta { border-top-color: var(--c-line); }
html.dark .hub-card-thumb { background: #1a2334; }
html.dark .hub-card-cat { color: var(--c-text-3); }