/* =============================================
   FlatBB 主题 — 主结构样式
   全部颜色通过 CSS 变量控制，零硬编码
   ============================================= */

/* ===== 1. 重置 & 基础 ===== */
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 14px;
    -webkit-font-smoothing: antialiased;
    overflow-y: auto;
    scrollbar-gutter: stable;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.6;
    background: var(--lc-bg-body);
    color: var(--lc-text);
    min-height: 100vh;
    /* 视口滚动由 html 控制（overflow-y:auto + scrollbar-gutter:stable），
       body 不再强制常显滚动条，避免内容不满一屏时右侧出现滚动条占位 */
}

a {
    color: var(--lc-text-link);
    text-decoration: none;
}

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

img {
    max-width: 100%;
    height: auto;
}

ul,
ol {
    list-style: none;
}

input,
textarea,
select,
button {
    font-family: inherit;
    font-size: inherit;
    outline: none;
}

table {
    border-collapse: collapse;
    width: 100%;
}

/* ===== 2. 容器 ===== */
.lc-container {
    max-width: var(--lc-site-width);
    margin: 0 auto;
    padding: 0 20px;
}

/* ===== 3. 导航栏 ===== */
.lc-nav {
    position: sticky;
    top: 0;
    z-index: 100;
    height: var(--lc-nav-height);
    background: var(--lc-bg-nav);
    border-bottom: 1px solid var(--lc-border);
    box-shadow: var(--lc-shadow-sm);
}

.lc-nav-inner {
    display: flex;
    align-items: center;
    height: 100%;
    gap: 24px;
    max-width: var(--lc-site-width);
    margin: 0 auto;
    padding: 0 20px;
}

.lc-logo {
    font-size: 17px;
    font-weight: 700;
    color: var(--lc-text-nav-hover);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 6px;
    letter-spacing: -0.3px;
    padding: 6px 14px;
    border-radius: 6px;
    transition: color .15s, background-color .15s;
}

.lc-logo:hover {
    background: var(--lc-bg-nav-hover);
    color: var(--lc-text-nav-hover);
}

/* 两行 logo（前台导航：站点名 + 站点描述） */
.lc-logo-stacked {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    line-height: 1.25;
    padding-top: 4px;
    padding-bottom: 4px;
}

.lc-logo-line {
    display: flex;
    align-items: center;
    gap: 6px;
}

.lc-logo-desc {
    font-size: 12px;
    font-weight: 400;
    color: var(--lc-text-nav);
    letter-spacing: 0;
    max-width: 220px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* 窄屏隐藏描述：规则已合并至「22b 统一响应式块」 */
/* 移动端左侧抽屉（汉堡按钮 + 侧栏）：桌面隐藏，≤768px 显示 */
.lc-drawer-toggle {
    display: none;
}

.lc-drawer-logo-icon {
    display: inline-flex;
}

.lc-drawer-logo-text {
    width: 20px;
    height: 20px;
    color: var(--lc-primary);
    font-size: 13px;
    font-weight: 800;
    background: var(--lc-primary-subtle);
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s;
    overflow: hidden;
}

.lc-drawer-overlay {
    position: fixed;
    inset: 0;
    z-index: 999;
    background: rgba(15, 23, 42, 0.45);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    pointer-events: none;
}

.lc-drawer-overlay.lc-drawer-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.lc-drawer {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 280px;
    max-width: 85vw;
    z-index: 1000;
    background: var(--lc-bg-card);
    box-shadow: 2px 0 16px rgba(0, 0, 0, 0.12);
    transform: translateX(-110%);
    transition: transform 0.22s ease;
    display: flex;
    flex-direction: column;
}

.lc-drawer.lc-drawer-open {
    transform: translateX(0);
}

.lc-drawer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 18px;
    border-bottom: 1px solid var(--lc-border-light);
}

.lc-drawer-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--lc-text);
}

/* 抽屉头部站名 + 站点 logo 并排：inline-flex 垂直居中，logo 圆角 */
.lc-drawer-logo {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.lc-drawer-logo img {
    display: block;
    border-radius: 4px;
    flex-shrink: 0;
}

.lc-drawer-close {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 22px;
    line-height: 1;
    color: var(--lc-text-muted);
    padding: 2px 6px;
}

.lc-drawer-body {
    flex: 1;
    overflow-y: auto;
    padding: 8px 0 16px;
}

.lc-drawer-group-title {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 18px 6px;
    font-size: 15px;
    font-weight: 700;
    color: var(--lc-text);
    text-decoration: none;
}

.lc-drawer-sublist {
    list-style: none;
    margin: 0;
    padding: 0;
}

.lc-drawer-sublist a {
    display: block;
    padding: 9px 18px 9px 46px;
    font-size: 14px;
    color: var(--lc-text-secondary);
    text-decoration: none;
}

.lc-drawer-sublist a:active {
    background: var(--lc-primary-subtle);
}

.lc-drawer-group-title.lc-drawer-active {
    color: var(--lc-primary);
}

.lc-drawer-sublist a.lc-drawer-active {
    color: var(--lc-primary);
    font-weight: 700;
    background: var(--lc-primary-subtle);
}

/* 抽屉按钮/导航 gap：规则已合并至「22b 统一响应式块」 */

.lc-nav-links {
    display: flex;
    align-items: center;
    gap: 1px;
    flex: 1;
    margin-left: 20px;
}

.lc-nav-links a {
    padding: 6px 14px;
    border-radius: 6px;
    color: var(--lc-text-nav);
    font-size: 14px;
    font-weight: 450;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: color .15s, background-color .15s;
}

.lc-nav-links a:hover {
    background: var(--lc-bg-nav-hover);
    color: var(--lc-text-nav-hover);
}

.lc-nav-links a.lc-active {
    color: var(--lc-text-nav-hover);
    font-weight: 600;
    background: var(--lc-bg-nav-hover);
}

/* ===== 主导航：二级下拉菜单 ===== */
.lc-nav-item {
    position: relative;
    display: flex;
    align-items: center;
}

.lc-nav-caret {
    transition: transform 0.16s ease;
}

.lc-nav-item.has-down:hover .lc-nav-caret,
.lc-nav-item.has-down:focus-within .lc-nav-caret {
    transform: rotate(180deg);
}

.lc-nav-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 8px;
    min-width: 168px;
    padding: 6px 0;
    list-style: none;
    background: var(--lc-bg-card);
    border: 1px solid var(--lc-border);
    border-radius: 10px;
    box-shadow: var(--lc-shadow-dropdown);
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease;
    z-index: 300;
}

.lc-nav-item.has-down:hover .lc-nav-dropdown,
.lc-nav-item.has-down:focus-within .lc-nav-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* 下拉项覆盖 .lc-nav-links a 的内边距/圆角，改为整行块级 */
.lc-nav-dropdown a {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 9px 16px;
    border-radius: 0;
    font-size: 14px;
    font-weight: 400;
    color: var(--lc-text);
    white-space: nowrap;
}

.lc-nav-dropdown a:hover {
    background: var(--lc-primary-subtle);
    color: var(--lc-primary);
}

.lc-nav-dropdown a.lc-active {
    color: var(--lc-primary);
    font-weight: 600;
}

.lc-nav-right {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

.lc-nav-right a {
    padding: 6px 10px;
    border-radius: 6px;
    color: var(--lc-text-nav);
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: color .15s, background-color .15s;
}

.lc-nav-right a:hover {
    background: var(--lc-bg-nav-hover);
    color: var(--lc-text-nav-hover);
}

/* 移动端图标 */
@media (min-width: 769px) {

    .lc-nav-right .lc-mobile-icon,
    .lc-nav-right .lc-mobile-icon-apps {
        display: none;
    }
}

/* 移动端头像（供底部「我的」触发器复用） */

.lc-mobile-avatar-divider {
    height: 1px;
    background: var(--lc-border-light);
    margin: 0;
}

/* 移动端应用下拉 */
.lc-mobile-icon-apps {
    position: relative;
    cursor: pointer;
    color: var(--lc-text-nav);
}

.lc-apps-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 8px;
    background: var(--lc-bg-card);
    border: 1px solid var(--lc-border);
    border-radius: 10px;
    box-shadow: var(--lc-shadow-dropdown);
    min-width: 160px;
    overflow: hidden;
    z-index: 300;
}

.lc-apps-dropdown a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    font-size: 14px;
    color: var(--lc-text);
    text-decoration: none;
    transition: background 0.1s;
}

.lc-apps-dropdown a:hover {
    background: var(--lc-bg-hover);
}

.lc-nav-right.lc-apps-open .lc-apps-dropdown {
    display: block;
}

/* 下拉菜单文字色钉住：菜单 DOM 嵌在导航栏内，深色主题下导航悬停文字色
   （--lc-text-nav-hover 为白色）会经级联覆盖菜单链接文字，导致白字白底不可见；
   此处以导航级作用域显式保持菜单文字为 --lc-text，悬停时同样不变 */
.lc-nav-right .lc-apps-dropdown a {
    color: var(--lc-text);
}

.lc-nav-right .lc-apps-dropdown a:hover {
    color: var(--lc-text);
}

/* 移动端下拉触发器反馈（无动画）：按压高亮，打开期间持续高亮
   注意：.lc-mobile-icon-apps 是展开面板的父级容器，不能加 transform
   （缩放会连同面板一起抖动，并导致面板内链接点击失效） */
.lc-mobile-icon-apps:active {
    background: var(--lc-bg-nav-hover);
}

.lc-nav-right.lc-apps-open .lc-mobile-icon-apps {
    background: var(--lc-bg-nav-hover);
}

/* ===== 4. 三栏主体 ===== */
.lc-body {
    display: flex;
    gap: 20px;
    padding-top: 20px;
    padding-bottom: 20px;
    min-height: calc(100vh - var(--lc-nav-height) - 60px);
    max-width: var(--lc-site-width);
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}

/* 左栏 */
.lc-left {
    width: var(--lc-left-width);
    flex-shrink: 0;
}

/* 中栏 */
.lc-center {
    flex: 1;
    min-width: 0;
}

/* 右栏 */
.lc-right {
    width: var(--lc-right-width);
    flex-shrink: 0;
}

/* ===== 5. 卡片容器 ===== */

/* ===== 6. 面板（左右栏通用） ===== */
.lc-panel {
    background: var(--lc-bg-card);
    border: 1px solid var(--lc-border);
    border-radius: 10px;
    padding: 16px;
    margin-bottom: 16px;
    box-shadow: var(--lc-shadow-sm);
}

.lc-panel-title {
    font-size: 12px;
    font-weight: 700;
    color: var(--lc-text);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid var(--lc-border-light);
    display: flex;
    align-items: center;
    gap: 6px;
}

/* ===== 发帖人卡片（文章详情右侧） ===== */
.lc-thread-author-head {
    display: flex;
    align-items: center;
    gap: 10px;
}

.lc-thread-author-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.lc-thread-author-badges {
    flex: 1;
    min-width: 0;
}

.lc-thread-author-name {
    display: flex;
    align-items: center;
    gap: 5px;
    color: var(--lc-text-secondary);
}

.lc-thread-author-name:hover {
    color: var(--lc-primary);
}

/* ===== 7. 左栏：分类列表 ===== */
.lc-cat-list {
    list-style: none;
}

.lc-cat-list li {
    margin-bottom: 1px;
}

.lc-cat-list a {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 7px 10px;
    border-radius: 6px;
    color: var(--lc-text-secondary);
    font-size: 13px;
    font-weight: 450;
    transition: color .12s, background-color .12s;
}

.lc-cat-list a:hover {
    background: var(--lc-primary-subtle);
    color: var(--lc-primary);
}

.lc-cat-list a.lc-cat-active {
    background: var(--lc-primary-subtle);
    color: var(--lc-primary);
    font-weight: 600;
}

.lc-cat-list [class^="ri-"] {
    font-size: 14px;
    width: 16px;
    text-align: center;
}

.divide {
    height: 1px;
    margin: 3px 0;
    border-bottom: 1px solid var(--lc-border-light);
}

/* 顶栏用户名按钮：对齐顶栏导航链接（.lc-nav-links a）字号/颜色/hover/active */
.lc-user-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 14px;
    border: none;
    background: none;
    border-radius: 6px;
    color: var(--lc-text-nav);
    font-size: 14px;
    font-weight: 450;
    transition: color .15s, background-color .15s;
}

.lc-user-btn:hover,
.lc-user-btn:active {
    background: var(--lc-bg-nav-hover);
    color: var(--lc-text-nav-hover);
}

/* PC 用户下拉 + PC/后台语言切换共用面板与菜单项（原内联样式收进 CSS，消除重复） */
.lc-dropdown-wrap {
    position: relative;
}

.lc-dropdown-panel {
    /* 不能在此写 display:none：Alpine x-show 只接管"内联 display"，
       打开时清空内联样式后会回落到本类 display:none → 下拉永远隐藏。
       初始隐藏由模板面板内联 style="display:none" 提供（Alpine 官方防闪烁模式） */
    position: absolute;
    top: 100%;
    margin-top: 6px;
    background: var(--lc-bg-card);
    border: 1px solid var(--lc-border-light);
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .08);
    padding: 4px;
    z-index: 100;
    min-width: 96px;
}

.lc-dropdown-panel-right {
    right: 0;
}

.lc-dropdown-panel-lg {
    min-width: 170px;
}

/* PC 用户下拉加宽 */

/* 下拉项选择器带 .lc-dropdown-panel 前缀：提高特异性，
   压过容器规则（.lc-nav-links a:hover / .lc-nav-right a:hover 会把文字设成亮蓝，
   导致抽离成类后下拉文字变淡蓝看不清——内联时无此问题，类需更高优先级） */
.lc-dropdown-panel .lc-dropdown-item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    font-size: 13px;
    border-radius: 6px;
    text-decoration: none;
    /* 文字用深色主色，保证白底可读（原 --lc-text-secondary 偏灰蓝、hover 亮蓝） */
    color: var(--lc-text);
    transition: background 0.12s;
}

.lc-dropdown-panel .lc-dropdown-item:hover {
    background: var(--lc-primary-subtle);
    color: var(--lc-text);
}

.lc-dropdown-panel .lc-dropdown-item-logout {
    /* 退出登录：全宽左对齐 + 危险红 */
    width: 100%;
    text-align: left;
    color: var(--lc-danger, #dc2626);
}

.lc-dropdown-panel .lc-dropdown-item-logout:hover {
    background: var(--lc-primary-subtle);
    color: var(--lc-danger, #dc2626);
}

/* ===== 8. 中栏：内容区域 ===== */
.lc-section {
    background: var(--lc-bg-card);
    border: 1px solid var(--lc-border);
    border-radius: 10px;
    margin-bottom: 18px;
    box-shadow: var(--lc-shadow-sm);
    overflow: hidden;
}

.lc-sort-icon {
    width: 46px;
    height: 46px;
    background: var(--lc-bg-body);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
    font-size: 24px;
    border-radius: 6px;
}

.lc-sort-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lc-sort-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.lc-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 20px;
    border-bottom: 1px solid var(--lc-border-light);
}

.lc-section-header h2 {
    font-size: 15px;
    font-weight: 600;
    color: var(--lc-text);
    display: flex;
    align-items: center;
    gap: 7px;
}

/* ===== 9. 帖子行 ===== */
.lc-row {
    display: flex;
    align-items: flex-start;
    padding: 10px 20px;
    border-bottom: 1px solid var(--lc-border-light);
    gap: 5px;
    transition: background 0.12s;
}

.lc-row:last-child {
    border-bottom: none;
}

.lc-row:hover {
    background: var(--lc-bg-row-hover);
}

/* 博客评论区条目：无 hover 变色（保持卡片底色） */
.lc-row.blog-comment-row:hover {
    background: transparent;
}

/* 摘要行元信息内的小头像（2026-09-05）：18×18 圆角4，与博客列表头像同尺寸；img 复用 lc-wp-18/lc-hp-18/lc-rounded-4 */
.lc-row-meta-avatar {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}

.lc-row-main {
    flex: 1;
    min-width: 0;
}

/* 回复贴元信息分隔线 */

.lc-row-title {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: 3px;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 4px;
    overflow: hidden;
}

.lc-row-title a {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--lc-text);
    transition: color 0.12s;
}

.lc-row-title a:hover {
    color: var(--lc-primary);
}

/* 列表内容模式：帖子列表摘要行（标题下方；文字在上 + 图片网格在下，微博信息流样式）
   字号/颜色/行高/间距与博客摘要（.lc-blog-excerpt）对齐：13px / secondary / 1.6 / 标题下 6px */
.lc-row-excerpt {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 6px;
    margin-bottom: 6px;
    /* 摘要与元信息行间距（2026-09-05）：原为 0，摘要底与元信息贴在一起 */
    font-size: 13px;
    color: var(--lc-text-secondary);
    line-height: 1.6;
    max-width: 100%;
}

.lc-row-excerpt-text {
    /* 两行截断（-webkit-line-clamp 现代浏览器全支持） */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    /* 长单词/URL 防横向溢出 */
    overflow-wrap: break-word;
    word-break: break-word;
}

/* 图片网格（微博样式）：单图大图；多图 3×3 网格，最多 9 张 */
.lc-excerpt-thumbs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
    max-width: 320px;
}

.lc-excerpt-thumb {
    display: block;
    width: 100%;
    height: 96px;
    object-fit: cover;
    border-radius: 6px;
    background: var(--lc-bg-row, #f0f0f0);
}

.lc-row-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    color: var(--lc-text-muted);
    flex-wrap: wrap;
}

.lc-row-author {
    display: flex;
    align-items: center;
    gap: 5px;
    color: var(--lc-text-secondary);
}

.lc-row-stat {
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

/* 当前排序维度对应的统计项高亮 */
.lc-row-stat-active {
    color: var(--lc-primary);
    font-weight: 600;
}

.lc-row-right {
    text-align: right;
    flex-shrink: 0;
    min-width: 70px;
    padding-top: 2px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
}

/* 积分等级徽章（Points::renderBadge 输出，与 .lc-level-badge 同时挂载）。
   图标与文字分属两个 span：列表页传 mode='list' 时窄屏只保留图标。
   仅背景色为内联（每档颜色来自 level_config 数据，非样式）。 */
.level-badge {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 10px;
    border-radius: 4px;
    background: var(--lc-primary);
    color: var(--lc-text-white);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.5;
    white-space: nowrap;
}

.level-badge .level-badge-icon {
    line-height: 1;
}

/* 积分等级纯图标圆形 chip（Points::renderBadge('icon') 输出）。
   在元信息中随行内流式排列（摘要模式）；列表模式经 .lc-row-avatar 限定后叠放于头像右下角。 */
.level-badge--icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    padding: 0;
    border-radius: 50%;
    font-size: 11px;
    line-height: 1;
}

/* 列表行徽章组：积分等级 + 信任等级并排，窄屏由各自规则收敛为仅图标 */
.lc-list-badges {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
    vertical-align: middle;
}

/* ===== 10. 标签/徽章 ===== */
.lc-tag {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    vertical-align: middle;
    white-space: nowrap;
}

.lc-tag-hot {
    background: var(--lc-tag-hot-bg);
    color: var(--lc-tag-hot-text);
}

.lc-tag-primary {
    background: var(--lc-tag-bg);
    color: var(--lc-tag-text);
}

.lc-tag-cat {
    padding: 1px 7px;
    font-size: 12px;
    color: var(--lc-primary);
    background: var(--lc-tag-bg);
    border-radius: 3px;
    font-weight: 500;
}

/* ===== 11. 分页 ===== */
.lc-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    padding: 16px 20px;
}

.lc-page-link {
    padding: 6px 12px;
    border: 1px solid var(--lc-border);
    border-radius: 6px;
    font-size: 13px;
    color: var(--lc-text-secondary);
    transition: color .12s, background-color .12s, border-color .12s;
}

.lc-page-link:hover {
    border-color: var(--lc-primary);
    color: var(--lc-primary);
    background: var(--lc-primary-subtle);
}

.lc-page-link.lc-active {
    background: var(--lc-primary);
    border-color: var(--lc-primary);
    color: var(--lc-text-inverse);
}

.lc-page-dots {
    padding: 6px 4px;
    color: var(--lc-text-muted);
    font-size: 13px;
}

/* 移动端分页条缩小：规则已合并至「22b 统一响应式块」 */

/* ===== 12. 表单 & 按钮 ===== */
.lc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 8px 18px;
    border: 1px solid var(--lc-border);
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: color .15s, background-color .15s, border-color .15s;
    background: var(--lc-bg);
    color: var(--lc-text-secondary);
    line-height: 1.4;
}

.lc-btn:hover {
    border-color: var(--lc-primary);
    color: var(--lc-primary);
    background: var(--lc-primary-subtle);
}

.lc-btn-primary {
    background: var(--lc-primary);
    border-color: var(--lc-primary);
    color: var(--lc-text-inverse);
}

.lc-btn-primary:hover {
    background: var(--lc-primary-hover);
    border-color: var(--lc-primary-hover);
    color: var(--lc-text-inverse);
}

.lc-btn-sm {
    padding: 5px 12px;
    font-size: 12px;
}

.lc-input {
    width: 100%;
    padding: 9px 13px;
    border: 1px solid var(--lc-border);
    border-radius: 8px;
    background: var(--lc-bg-input);
    color: var(--lc-text);
    font-size: 14px;
    transition: border-color 0.15s;
}

.lc-input:focus {
    border-color: var(--lc-primary);
    box-shadow: 0 0 0 3px var(--lc-primary-light);
}

/* checkbox/file 等行内元素自动宽高 */

/* ===== 13. 右栏：用户面板 ===== */
.lc-user-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.lc-user-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--lc-text);
}

.lc-user-level {
    font-size: 11px;
    color: var(--lc-text-muted);
    margin-top: 1px;
}

.lc-user-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--lc-border-light);
}

.lc-user-stat {
    text-align: center;
    padding: 6px 0;
    background: var(--lc-bg-body);
    border-radius: 6px;
}

.lc-user-stat-value {
    font-size: 16px;
    font-weight: 700;
    color: var(--lc-text);
}

.lc-user-stat-label {
    font-size: 11px;
    color: var(--lc-text-muted);
}

.lc-user-actions {
    display: flex;
    gap: 6px;
    margin-top: 12px;
}

/* ===== 13b. 右栏：主题卡片（帖子详情页） ===== */

/* ===== 14. 右栏：统计 ===== */

/* ===== 15. 右栏：标签云 ===== */
.lc-tag-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    /* 基准字号 12px：视图内联 font-size 为 em，若不设容器基准则相对 html(14px)
       计算 → 热门标签被放大到 21px。设 12px 后 0.8~1.5em = 9.6~18px */
    font-size: 12px;
}

.lc-tag-cloud a {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 4px;
    font-size: 12px;
    color: var(--lc-text-secondary);
    background: var(--lc-bg-body);
    border: 1px solid var(--lc-border-light);
    transition: color .12s, background-color .12s, border-color .12s;
}

.lc-tag-cloud a:hover {
    background: var(--lc-primary);
    color: var(--lc-text-inverse);
    border-color: var(--lc-primary);
}

/* 热门标签彩色 chip：8 色深板（与前缀徽章一致），按标签 id%8 取色。
   实心白字显得花哨，改为「彩色边框 + 同色文字」，观感更克制；hover 时再填充色反转反馈 */
.lc-tag-cloud a.tag-accent-0,
.lc-tag-cloud a.tag-accent-1,
.lc-tag-cloud a.tag-accent-2,
.lc-tag-cloud a.tag-accent-3,
.lc-tag-cloud a.tag-accent-4,
.lc-tag-cloud a.tag-accent-5,
.lc-tag-cloud a.tag-accent-6,
.lc-tag-cloud a.tag-accent-7 {
    background: transparent;
    border-color: var(--lc-tag-color);
    color: var(--lc-tag-color);
}

.lc-tag-cloud a.tag-accent-0:hover,
.lc-tag-cloud a.tag-accent-1:hover,
.lc-tag-cloud a.tag-accent-2:hover,
.lc-tag-cloud a.tag-accent-3:hover,
.lc-tag-cloud a.tag-accent-4:hover,
.lc-tag-cloud a.tag-accent-5:hover,
.lc-tag-cloud a.tag-accent-6:hover,
.lc-tag-cloud a.tag-accent-7:hover {
    background: var(--lc-tag-color);
    border-color: var(--lc-tag-color);
    color: #ffffff;
    filter: brightness(.95);
}

.lc-tag-cloud a.tag-accent-0 {
    --lc-tag-color: #1d4ed8;
}

.lc-tag-cloud a.tag-accent-1 {
    --lc-tag-color: #047857;
}

.lc-tag-cloud a.tag-accent-2 {
    --lc-tag-color: #b45309;
}

.lc-tag-cloud a.tag-accent-3 {
    --lc-tag-color: #b91c1c;
}

.lc-tag-cloud a.tag-accent-4 {
    --lc-tag-color: #6d28d9;
}

.lc-tag-cloud a.tag-accent-5 {
    --lc-tag-color: #0e7490;
}

.lc-tag-cloud a.tag-accent-6 {
    --lc-tag-color: #be185d;
}

.lc-tag-cloud a.tag-accent-7 {
    --lc-tag-color: #111827;
}

/* ===== 16. 右栏：友情链接 ===== */
.lc-friend-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
    /* 卡片底部留白：最下方的友链（文字/logo 网格/申请链接）不与卡片下分割线贴住 */
    padding-bottom: 6px;
}

/* 文字链接：胶囊标签 */
.lc-friend-links .friend-links-text {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.lc-friend-links .friend-link-text-item {
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    font-size: 12px;
    color: var(--lc-text-secondary);
    background: var(--lc-bg-body);
    border: 1px solid var(--lc-border-light);
    border-radius: 999px;
    text-decoration: none;
    transition: color .12s, background-color .12s, border-color .12s;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lc-friend-links .friend-link-text-item:hover {
    background: var(--lc-primary);
    border-color: var(--lc-primary);
    color: var(--lc-text-inverse);
}

/* LOGO 链接：网格展示 */
.lc-friend-links .friend-links-logo {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
    gap: 8px;
}

.lc-friend-links .friend-link-logo-item {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    border: 1px solid var(--lc-border-light);
    border-radius: 8px;
    background: var(--lc-bg);
    transition: background-color .12s, border-color .12s;
}

.lc-friend-links .friend-link-logo-item:hover {
    border-color: var(--lc-primary);
    background: var(--lc-primary-subtle);
}

.lc-friend-links .friend-link-logo-img {
    max-width: 100%;
    max-height: 36px;
    object-fit: contain;
}

/* 申请友链入口 */
.lc-friend-links .friend-links-apply {
    text-align: center;
    border-top: 1px solid var(--lc-border-light);
    /* 拉开"最下面友链 / 分割线"的距离（配合容器 gap 共约 22px），不动分割线与"申请"文字间距 */
    margin-top: 12px;
    padding-top: 10px;
    /* 收窄"申请链接"与卡片底部之间的留白（底部原有容器+面板共约 22px） */
    margin-bottom: -8px;
}

.lc-friend-links .friend-links-apply a {
    font-size: 12px;
    color: var(--lc-text-secondary);
    text-decoration: none;
    transition: color 0.12s;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.lc-friend-links .friend-links-apply a:hover {
    color: var(--lc-primary);
}

/* 隐藏插件输出的重复标题，保留链接和申请入口 */
.lc-friend-links .home-sidebar-title {
    display: none;
}

/* ===== 17. 页脚 ===== */
.lc-footer {
    border-top: 1px solid var(--lc-border);
    padding: 20px 0;
    text-align: center;
    font-size: 12px;
    color: var(--lc-text-muted);
    background: var(--lc-bg);
}

.lc-footer a {
    color: var(--lc-text-muted);
}

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

/* 页脚链接区（footer_links 钩子输出）分隔符：相邻链接间自动插入 ·，插件无需自带分隔符 */
.lc-footer-right a+a::before {
    content: '·';
    margin: 0 6px;
}

/* ===== 18. 空状态 & 提示 ===== */

.lc-alert {
    padding: 11px 16px;
    border-radius: 8px;
    font-size: 13px;
    margin-bottom: 14px;
}

.lc-alert-success {
    background: var(--lc-alert-success-bg);
    color: var(--lc-alert-success-text);
    border: 1px solid var(--lc-alert-success-border);
}

.lc-alert-error {
    background: var(--lc-alert-error-bg);
    color: var(--lc-alert-error-text);
    border: 1px solid var(--lc-alert-error-border);
}

/* ===== 19. 面包屑 ===== */

/* ===== 20. 博客行 ===== */

/* 博客行移动端单列：规则已合并至「22b 统一响应式块」 */

/* ===== 21. 实用工具 ===== */
.lc-flex {
    display: flex;
}

.lc-flex-center {
    display: flex;
    align-items: center;
}

.collect-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 13px;
    color: var(--lc-text-muted);
    padding: 2px 6px;
    border-radius: 4px;
    font-family: inherit;
    vertical-align: middle;
}

.lc-flex-between {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.lc-flex-1 {
    flex: 1;
    min-width: 0;
}

.lc-flex-col {
    display: flex;
    flex-direction: column;
}

.lc-flex-wrap {
    flex-wrap: wrap;
}

.lc-gap-3 {
    gap: 3px;
}

.lc-gap-4 {
    gap: 4px;
}

.lc-gap-6 {
    gap: 6px;
}

.lc-gap-8 {
    gap: 8px;
}

.lc-gap-10 {
    gap: 10px;
}

.lc-gap-3 {
    gap: 3px;
}

.lc-d-none {
    display: none;
}

.lc-color-inherit {
    color: inherit;
}

.lc-text-decoration-none {
    text-decoration: none;
}

.lc-gap-12 {
    gap: 12px;
}

.lc-gap-14 {
    gap: 14px;
}

.lc-gap-16 {
    gap: 16px;
}

.lc-text-center {
    text-align: center;
}

.lc-text-muted {
    color: var(--lc-text-muted);
}

.lc-text-secondary {
    color: var(--lc-text-secondary);
}

.lc-text-primary {
    color: var(--lc-primary);
}

/* 回复数在 PC 端默认隐藏，移动端显示（与浏览数并存） */

/* 移动端元信息里的分类标签：PC 端隐藏（由右侧列展示），仅 ≤768px 显示 */
.lc-row-meta .lc-cat-mobile {
    display: none;
}

/* 论坛分类页：版块头部默认不吸顶，仅移动端吸顶 */
.lc-cat-head-sticky {
    position: static;
}

/* 移动端分类/吸顶：规则已合并至「22b 统一响应式块」 */
/* ====== 帖子正文基础样式（原 forum.css 迁移） ====== */
.post-text-content {
    line-height: 1.8;
    color: var(--lc-content-text);
    font-size: 15px;
    overflow-x: auto;
}

/* 详情页主帖：全文直出，默认由 Alpine 切换 CSS 折叠，不发请求 */
.thread-body {
    position: relative;
    transition: max-height .2s ease;
}

.thread-body--collapsed {
    max-height: var(--thread-body-collapsed-height);
    overflow: hidden;
}

.thread-body--collapsed::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 96px;
    pointer-events: none;
    background: linear-gradient(to bottom, transparent, var(--lc-bg-card));
}

.thread-body--expanded {
    max-height: none;
    overflow-x: auto;
}

.thread-expand-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px dashed var(--lc-border);
}

.thread-expand-bar[hidden] {
    display: none;
}

.thread-expand-btn {
    min-width: 160px;
    justify-content: center;
    font-size: 14px;
    font-weight: 600;
    padding: 10px 24px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(102, 126, 234, .25);
}

.thread-expand-btn:hover {
    opacity: .9;
}

[x-cloak] {
    display: none !important;
}

/* 正文图片约束：max-width 防溢出容器，max-height 防超高图铺满（论坛/博客详情页共用） */
.post-text-content img {
    max-width: 100%;
    max-height: 500px;
    height: auto;
    width: auto;
    object-fit: contain;
}

/* Markdown 标题字号（桌面端）：按 GitHub 风格 1.6em/1.35em/1.2em/1em 递降 */
.post-text-content h1,
.post-text-content h2,
.post-text-content h3,
.post-text-content h4,
.post-text-content h5,
.post-text-content h6 {
    margin: 1.2em 0 .6em;
    line-height: 1.4;
    font-weight: 600;
}

.post-text-content h1 {
    font-size: 24px;
}

.post-text-content h2 {
    font-size: 20px;
}

.post-text-content h3 {
    font-size: 18px;
}

.post-text-content h4 {
    font-size: 16px;
}

.post-text-content h5 {
    font-size: 15px;
}

.post-text-content h6 {
    font-size: 13px;
}

.post-text-content ul,
.post-text-content ol {
    margin: 0 0 1em;
    padding: 0 0 0 2em;
}

.post-text-content ul {
    list-style: disc;
}

.post-text-content ol {
    list-style: decimal;
}

.post-text-content li {
    margin: 0;
    line-height: 1.8;
}

/* 帖子引用块样式 */
.post-text-content blockquote {
    margin: 10px 0;
    padding: 10px 14px;
    border-left: 4px solid var(--lc-primary);
    background: var(--lc-bg-body);
    border-radius: 0 6px 6px 0;
    color: var(--lc-text-secondary);
    font-size: 13px;
    line-height: 1.6;
}

.post-text-content blockquote cite {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: var(--lc-primary);
    font-style: normal;
    margin-bottom: 4px;
}

.post-text-content blockquote cite::before {
    content: '◆ ';
    opacity: 0.6;
}

.post-text-content blockquote p,
.post-text-content blockquote div {
    margin: 0;
}

/* 嵌套引用块缩进 */
.post-text-content blockquote blockquote {
    margin-left: 10px;
}

.post-text-content table {
    width: 100%;
    max-width: 100%;
    table-layout: auto;
    border-collapse: collapse;
    margin: 1em 0;
    font-size: 14px;
}

.post-text-content th,
.post-text-content td {
    border: 1px solid var(--lc-content-border);
    padding: 8px 12px;
    text-align: left;
    word-break: break-word;
    overflow-wrap: break-word;
}

.post-text-content th {
    background: var(--lc-bg-body);
    font-weight: 600;
}

.post-text-content tr:nth-child(even) {
    background: var(--lc-bg-row-hover);
}

/* 宽表横向滑动容器：脚本包裹 table，窄屏下可左右滑动查看 */
.lc-table-wrap {
    max-width: 100%;
    margin: 1em 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.lc-table-wrap>table {
    margin: 0;
}

.lc-mt-8 {
    margin-top: 8px;
}

.lc-mt-12 {
    margin-top: 12px;
}

.lc-mt-16 {
    margin-top: 16px;
}

.lc-mb-8 {
    margin-bottom: 8px;
}

.lc-mb-12 {
    margin-bottom: 12px;
}

.lc-mb-16 {
    margin-bottom: 16px;
}

.lc-mb-14 {
    margin-bottom: 14px;
}

.lc-mb-20 {
    margin-bottom: 20px;
}

.lc-mb-24 {
    margin-bottom: 24px;
}

/* 字号工具类 */
.lc-fs-11 {
    font-size: 11px;
}

.lc-fs-12 {
    font-size: 12px;
}

.lc-fs-13 {
    font-size: 13px;
}

.lc-fs-14 {
    font-size: 14px;
}

.lc-fs-15 {
    font-size: 15px;
}

.lc-fs-16 {
    font-size: 16px;
}

.lc-fs-18 {
    font-size: 18px;
}

.lc-fs-20 {
    font-size: 20px;
}

.lc-fs-22 {
    font-size: 22px;
}

.lc-fs-24 {
    font-size: 24px;
}

.lc-fs-48 {
    font-size: 48px;
}

/* 字重工具类 */
.lc-fw-500 {
    font-weight: 500;
}

.lc-fw-600 {
    font-weight: 600;
}

.lc-fw-700 {
    font-weight: 700;
}

/* 行高工具类 */
.lc-lh-14 {
    line-height: 1.4;
}

.lc-lh-16 {
    line-height: 1.6;
}

.lc-lh-17 {
    line-height: 1.7;
}

.lc-lh-18 {
    line-height: 1.8;
}

/* 宽度工具类 */
.lc-w-full {
    width: 100%;
}

.lc-wp-100 {
    width: 100px;
}

.lc-wp-200 {
    width: 200px;
}

.lc-wp-300 {
    width: 300px;
}

.lc-wp-400 {
    width: 400px;
}

.lc-wp-500 {
    width: 500px;
}

/* 圆角工具类 */
.lc-rounded-4 {
    border-radius: 4px;
}

.lc-rounded-6 {
    border-radius: 6px;
}

.lc-rounded-8 {
    border-radius: 8px;
}

.lc-rounded-10 {
    border-radius: 10px;
}

.lc-rounded-50 {
    border-radius: 50%;
}

/* 边框工具类 */
.lc-border-bottom {
    border-bottom: 1px solid var(--lc-border-light);
}

.lc-border-top {
    border-top: 1px solid var(--lc-border-light);
}

.lc-border {
    border: 1px solid var(--lc-border);
}

/* 背景工具类 */

/* 指针 */
.lc-cursor-pointer {
    cursor: pointer;
}

/* 溢出隐藏 */

/* 内联块 */

/* 内联 */

/* 无边框 */

/* 无背景 */

/* 错误色文字 */
.lc-text-error {
    color: var(--lc-error);
}

/* flex 不换行 */

/* 图片覆盖填充 */
.lc-object-cover {
    object-fit: cover;
}

/* 像素宽高 */
.lc-wp-18 {
    width: 18px;
}

.lc-hp-18 {
    height: 18px;
}

/* 内边距 */

/* 后台主体容器 */

/* 内边距（扩展） */

.lc-py-12 {
    padding-top: 12px;
    padding-bottom: 12px;
}

/* 外边距 */
.lc-mt-2 {
    margin-top: 2px;
}

.lc-mt-4 {
    margin-top: 4px;
}

/* 未读红点 */

/* 块级 */

/* 文字左对齐 */

/* 三列网格 */

/* 基础表格 */

/* 内边距（扩展） */

.lc-py-6 {
    padding-top: 6px;
    padding-bottom: 6px;
}

/* 成功/警告色文字 */

/* 外边距 */
.lc-mb-2 {
    margin-bottom: 2px;
}

/* 加粗底边 */
.lc-border-bottom-2 {
    border-bottom: 2px solid var(--lc-border);
}

/* 左外边距 */

/* 左外边距 auto（替代旧 .ml-auto，父级 flex 时推右对齐） */

/* 间距工具（旧类迁移补充，值等价） */
.lc-gap-2 {
    gap: 2px;
}

.lc-gap-5 {
    gap: 5px;
}

.lc-gap-15 {
    gap: 15px;
}

.lc-mb-15 {
    margin-bottom: 15px;
}

.lc-mt-15 {
    margin-top: 15px;
}

.lc-mt-20 {
    margin-top: 20px;
}

.lc-m-0 {
    margin: 0;
}

.lc-p-15 {
    padding: 15px;
}

.lc-mb-0 {
    margin-bottom: 0;
}

.lc-pt-2 {
    padding-top: 2px;
}

.lc-fw-400 {
    font-weight: 400;
}

/* checkbox 主题色 */

/* 24px 圆形图标 */

/* 白字 */

/* 下内边距 */

/* 10px 内边距 */
.lc-p-10 {
    padding: 10px;
}

/* 字号 */
.lc-fs-28 {
    font-size: 28px;
}

/* 字重 normal */

/* 居中 flex */

/* 内边距 10px 24px */

/* 自动填充网格 */

/* 字号 */
.lc-fs-26 {
    font-size: 26px;
}

/* 胶囊圆角 */

/* 内边距 */

/* 字号 10px */
.lc-fs-10 {
    font-size: 10px;
}

/* 外边距 */
.lc-mt-6 {
    margin-top: 6px;
}

/* flex 居中对齐 */

/* flex 顶部对齐 */

/* 外边距 */
.lc-mt-10 {
    margin-top: 10px;
}

.lc-mb-10 {
    margin-bottom: 10px;
}

/* flex 不收缩 */

/* 宽度 50px */
.lc-wp-50 {
    width: 50px;
}

/* 像素宽高 36 */
.lc-wp-36 {
    width: 36px;
}

.lc-hp-36 {
    height: 36px;
}

/* 下内边距 */

/* 内边距 10px 12px */

/* 主题选中徽章 */

/* ===== 代码块样式 ===== */
.post-text-content pre {
    background: var(--lc-code-bg);
    color: var(--lc-code-text);
    padding: 16px;
    border-radius: 8px;
    overflow-x: auto;
    font-size: 13px;
    line-height: 1.6;
    margin: 12px 0;
    border: 1px solid var(--lc-border);
}

.post-text-content code {
    font-family: 'Cascadia Code', 'Fira Code', 'Consolas', monospace;
}

.post-text-content p>code,
.post-text-content li>code {
    background: var(--lc-bg-body);
    color: var(--lc-primary);
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 0.9em;
}

.post-text-content pre code {
    background: none;
    padding: 0;
    border-radius: 0;
    color: inherit;
    font-size: inherit;
}

/* 表单标签 */

/* 内边距 */
/* ★ 设计 token：区块纵向内边距基准。子面板需紧贴其上区块底部时，
      用下方 .lc-bleed-top 抵消该值，避免业务各自手写负数边距。 */
:root {
    --lc-pad-flow: 20px;
}

.lc-p-20 {
    padding: var(--lc-pad-flow);
}

/* 语义化"贴顶"工具：子面板向上抵消 --lc-pad-flow，贴住其上区块底部。
   负偏移由核心封装，插件/其他开发只需加该类，不再手写 -XXpx。 */

.lc-p-24 {
    padding: 24px;
}

.lc-p-16 {
    padding: 16px;
}

.lc-p-12 {
    padding: 12px;
}

.lc-py-30 {
    padding-top: 30px;
    padding-bottom: 30px;
}

/* 全宽按钮 */

/* 认证页面容器 */

/* ===== 22. 响应式 ===== */
@media (max-width: 1024px) {
    .lc-right {
        display: none;
    }

    .lc-body {
        gap: 16px;
    }
}

/* 移动端侧栏（热门标签 + 友链）：桌面隐藏，≤768px 在中栏内容底部显示 */

/* 移动端侧栏显示：规则已合并至「22b 统一响应式块」 */

/* 主体/页脚/标题字号移动端规则：已合并至「22b 统一响应式块」 */

/* ===== 23. 移动端底部导航 ===== */
.lc-mobile-nav {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 200;
    background: var(--lc-bg-nav);
    border-top: 1px solid var(--lc-border);
    padding: 4px 0;
    box-shadow: var(--lc-shadow-mobile-nav);
}

/* 底部导航显示：规则已合并至「22b 统一响应式块」 */

.lc-mobile-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1px;
    padding: 4px 8px;
    color: var(--lc-text-nav);
    text-decoration: none;
    font-size: 11px;
    transition: color 0.12s;
}

.lc-mobile-nav-item>i {
    font-size: 18px;
    line-height: 1;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    vertical-align: middle;
}

.lc-mobile-nav-item:hover {
    color: var(--lc-text-nav-hover);
}

.lc-mobile-nav-item.lc-active {
    color: var(--lc-text-nav-hover);
}

.lc-mobile-nav-plus {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--lc-primary);
    color: var(--lc-text-white);
    justify-content: center;
    margin-top: -16px;
    box-shadow: var(--lc-shadow-primary-glow);
}

.lc-mobile-nav-plus:hover {
    background: var(--lc-primary-hover);
}

/* 底部导航「我的」弹出菜单（原顶部头像下拉迁入，bottom:100% 向上弹出） */
.lc-mobile-nav-mine {
    position: relative;
}

.lc-mobile-nav-mine-trigger {
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: inherit;
}

.lc-mobile-nav-mine-menu {
    display: none;
    position: absolute;
    bottom: calc(100% + 10px);
    right: 0;
    background: var(--lc-bg-card);
    border: 1px solid var(--lc-border);
    border-radius: 10px;
    box-shadow: var(--lc-shadow-dropdown-up);
    min-width: 160px;
    overflow: hidden;
    z-index: 300;
}

.lc-mobile-nav-mine-menu a,
.lc-mobile-nav-mine-menu button {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    font-size: 14px;
    color: var(--lc-text);
    text-decoration: none;
    transition: background 0.1s;
}

.lc-mobile-nav-mine-menu a:hover,
.lc-mobile-nav-mine-menu button:hover {
    background: var(--lc-bg-hover);
}

.lc-mobile-nav-mine.lc-open .lc-mobile-nav-mine-menu {
    display: block;
}

.lc-mobile-nav-mine-trigger:active {
    background: var(--lc-bg-nav-hover);
    transform: scale(0.92);
}

/* 导航栏内按钮颜色适配深色导航栏 */
.lc-nav-right button.lc-text-secondary {
    color: var(--lc-text-nav);
}

.lc-nav-right button.lc-text-secondary:hover {
    background: var(--lc-bg-nav-hover);
    color: var(--lc-text-nav-hover);
}


/* ===== 24. 右侧悬浮工具栏 ===== */
.side-toolbar {
    position: fixed;
    bottom: 90px;
    right: 20px;
    z-index: 150;
    gap: 8px;
}

.side-btn {
    width: 44px;
    height: 44px;
    padding: 0;
    box-shadow: var(--lc-shadow-float);
    background: var(--lc-bg-card);
    border-radius: 50%;
}

/* 返回顶部按钮：未滚动到阈值前隐藏（由脚本切换 hidden） */
.side-toolbar .side-btn[hidden] {
    display: none;
}

/* ====== 帖子详情页 ====== */
.thread-avatar-img {
    width: 40px;
    height: 40px;
    object-fit: cover;
}

.thread-title {
    color: var(--lc-text);
}

.thread-info-bar {
    padding: 12px 20px;
}

.thread-info-bar-right .collect-btn {
    order: 1;
}

.thread-info-bar-right .collect-btn .collect-label {
    font-size: 13px;
    line-height: 1;
    white-space: nowrap;
}

.thread-tags-row {
    margin-top: 6px;
}

.thread-tags-sep {
    display: inline-block;
    width: 1px;
    height: 14px;
    margin: 0 4px;
    background: var(--lc-border, #e2e8f0);
    border-radius: 1px;
    align-self: center;
}

/* 详情页：分类标签与标题前缀徽章字号对齐；分类加粗 */
.thread-tags-row .lc-tag-cat {
    font-size: 13px;
    font-weight: 600;
}

.thread-title .lc-tag {
    margin-right: 6px;
}

.vote-btn-clean {
    background: none;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 13px;
    color: var(--lc-text-muted);
}

.post-text-color {
    color: var(--lc-text);
}

/* ====== Modern 默认配色（原 assets/themes/modern/default.css，已整合） ====== */
:root {
    /* 主色 */
    --lc-primary: #4f6ef7;
    --lc-primary-hover: #3b5de7;
    --lc-primary-light: #eef1ff;
    --lc-primary-subtle: #f0f3ff;

    /* 背景 */
    --lc-bg: #ffffff;
    --lc-bg-body: #f4f5f7;
    --lc-bg-card: #ffffff;
    --lc-bg-nav: #ffffff;
    --lc-bg-sidebar: #ffffff;
    --lc-bg-row-hover: #f8f9fb;
    --lc-bg-input: #ffffff;
    --lc-bg-tag: #f0f3ff;
    --thread-body-collapsed-height: 600px;

    /* 文字 */
    --lc-text: #1a1a2e;
    --lc-text-secondary: #5b6778;
    --lc-text-muted: #9ca3af;
    --lc-text-inverse: #ffffff;
    --lc-text-link: #4f6ef7;
    --lc-text-nav: #5b6778;
    --lc-text-nav-hover: #4f6ef7;
    --lc-bg-nav-hover: #f0f3ff;

    /* 边框 */
    --lc-border: #e8eaee;
    --lc-border-light: #f0f1f3;
    --lc-divider: #f0f1f3;

    /* 语义色 */
    --lc-success: #22c55e;
    --lc-error: #ef4444;
    --lc-warning: #f59e0b;

    /* 标签 */
    --lc-tag-bg: #eef1ff;
    --lc-tag-text: #4f6ef7;
    --lc-tag-hot-bg: #fef2f2;
    --lc-tag-hot-text: #dc2626;
    --lc-tag-elite-bg: #fefce8;
    --lc-tag-elite-text: #a16207;

    /* 阴影 */
    --lc-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
    --lc-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);

    /* 白字（主色底/深色底上的文字） */
    --lc-text-white: #ffffff;

    /* 标签-警告 */
    --lc-tag-warning-bg: #fef3c7;
    --lc-tag-warning-text: #d97706;

    /* 提示框 */
    --lc-alert-success-bg: #f0fdf4;
    --lc-alert-success-text: #16a34a;
    --lc-alert-success-border: #bbf7d0;
    --lc-alert-error-bg: #fef2f2;
    --lc-alert-error-text: #dc2626;
    --lc-alert-error-border: #fecaca;

    /* 正文内容（帖子/博客正文、表格） */
    --lc-content-text: #333333;
    --lc-content-border: #dde0e4;

    /* 代码块 */
    --lc-code-bg: #1e1e2e;
    --lc-code-text: #cdd6f4;

    /* 杂项 */
    --lc-bg-theme-badge: rgba(255, 255, 255, 0.2);
    --lc-bg-strength-track: #eeeeee;

    /* 阴影（增强/特型） */
    --lc-shadow-dropdown: 0 4px 16px rgba(0, 0, 0, 0.1);
    --lc-shadow-dropdown-up: 0 -4px 16px rgba(0, 0, 0, 0.1);
    --lc-shadow-mobile-nav: 0 -2px 8px rgba(0, 0, 0, 0.05);
    --lc-shadow-primary-glow: 0 2px 8px rgba(79, 110, 247, 0.3);
    --lc-shadow-float: 0 2px 8px rgba(0, 0, 0, 0.12);

    /* 编辑器（WYSIWYG / Markdown） */
    --lc-editor-toolbar-bg: #f8f9fa;
    --lc-editor-tab-hover-bg: rgba(0, 0, 0, 0.03);
    --lc-editor-btn-text: #495057;
    --lc-editor-btn-hover-bg: #e9ecef;
    --lc-editor-btn-hover-text: #212529;
    --lc-editor-btn-press-bg: #dee2e6;
    --lc-editor-separator-bg: #ced4da;
    --lc-editor-placeholder-text: #adb5bd;
    --lc-editor-quote-bg: #f0f4ff;
    --lc-editor-quote-text: #495057;
    --lc-editor-quote-bg-2: #f4f5f7;
    --lc-editor-quote-text-2: #555555;
    --lc-editor-code-inline-bg: #e9ecef;
    --lc-editor-code-inline-text: #e03131;
    --lc-editor-table-border: #dee2e6;
    --lc-editor-table-th-bg: #f8f9fa;
    --lc-editor-emoji-border: #e0e0e0;
    --lc-editor-emoji-hover-bg: #f0f0f0;
    --lc-editor-btn-highlight-bg: #d0d7de;
    --lc-editor-btn-highlight-text: #0969da;
    --lc-editor-btn-highlight-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.12);
    --lc-editor-word-count-text: #8b949e;

    /* 旧组件（components.css 收编，前台按需加载页面用） */
    --lc-comp-tag-hot-bg: #fff3e0;
    --lc-comp-tag-hot-text: #ff9800;
    --lc-comp-tag-danger-bg: #fce4ec;
    --lc-comp-tag-danger-text: #e91e63;
    --lc-comp-alert-error-bg: #fee;
    --lc-comp-alert-error-border: #f00;
    --lc-comp-alert-error-text: #c00;
    --lc-comp-alert-success-bg: #d4edda;
    --lc-comp-alert-success-border: #28a745;
    --lc-comp-alert-success-text: #155724;
    --lc-comp-alert-warning-bg: #fff3cd;
    --lc-comp-alert-warning-border: #ffc107;
    --lc-comp-alert-warning-text: #856404;
    --lc-comp-input-border: #ddd;
    --lc-comp-label-text: #333333;
    --lc-comp-hint-text: #999999;
    --lc-comp-btn-danger-bg: #dc3545;
    --lc-comp-tag-badge-bg: #667eea;
    --lc-comp-tag-badge-hover-bg: #5a6fd6;
    --lc-comp-vote-up-active: #f44336;
    --lc-comp-vote-up-hover-bg: #ffebee;
    --lc-comp-reply-lock-bg: #fff3e0;
    --lc-comp-reply-lock-border: #ff9800;
    --lc-comp-pagination-active-bg: #667eea;
    --lc-comp-swatch-border: #ddd;
    --lc-comp-preview-border: #e0e0e0;
    --lc-comp-overlay-bg: rgba(0, 0, 0, 0.85);

    /* 尺寸 */
    --lc-left-width: 180px;
    --lc-right-width: 260px;
    --lc-nav-height: 54px;
    /* 站点内容宽度（外观设置可切换） */
    --lc-site-width: 1320px;
    /* 圆角风格（外观设置可切换） */
    --lc-radius: 8px;

    /* 看图（图片灯箱） */
    --lc-lightbox-bg: rgba(0, 0, 0, 0.86);
    --lc-lightbox-ctrl-bg: rgba(255, 255, 255, 0.16);
    --lc-lightbox-ctrl-hover-bg: rgba(255, 255, 255, 0.3);
    --lc-lightbox-ctrl-text: #ffffff;
}

/* ====== 旧版通用变量（兼容 style.css / editor.css / 插件 CSS） ======
   统一指向 --lc-*，主题换肤时旧组件颜色自动跟随 */
:root {
    --primary-color: var(--lc-primary);
    --primary-hover: var(--lc-primary-hover);
    --bg-light: var(--lc-primary-subtle);
    --bg-white: var(--lc-bg-card);
    --border-color: var(--lc-border);
    --text-dark: var(--lc-text);
    --text-muted: var(--lc-text-muted);
    --success-color: var(--lc-success);
}

/* ====== 标签通用 ====== */
.form-label {
    font-size: 13px;
    font-weight: 500;
    color: var(--lc-text-secondary);
    display: block;
}

/* 密码强度条轨道（收编视图内联色值） */

/* =============================================
   合并收编区 (components.css) — 合并后该文件废弃
   说明：
   - 与 admin.css 重叠的类已按核对结果剔除/注释：后台依赖 admin.css
     的裸类或作用域版本（.btn-edit 紫底 / .c-666 #666 / .c-999 #999 /
     .form-input / .btn-secondary / .btn-del / .c-333 / .lv-badge /
     .color-swatch），防 modern.css 后加载覆盖后台样式；
   - 死代码类（视图零引用）一并清理（.link-primary / .form-hint /
     .tag-badges / .tag-badge / .reply-lock / .pagination-custom /
     .form-list / .mt-5 / .px-15 / .ml-10 / .word-break / .c-danger）；
   - .form-label 统一使用 modern.css 原版（13px/500），旧 14px/600 版已弃；
   - 旧原子工具类已全部迁移至 lc-*（Section 21）：.flex/.gap-*/
.fs-*/ .fw-*/.mb-*/.mt-*/.m-0/.inline-block/.items-center/.text-*/等， 视图已同步改为 lc-*，旧类定义已删除（见下方 [迁移] 注释）。=============================================*/

/* ===== Flex 布局 / 间距 / 排版 ===== */
/* [迁移] 旧原子类已全部迁移至 lc-*（Section 21）：
   .flex/.flex-wrap/.flex-center/.flex-between/.flex-1 → .lc-flex*；
   .gap-2/4/8/10/15/20/5 → .lc-gap-*；
   .mt-12/15/.mb-10/12/15/20/.m-0/.pointer → .lc-mt-*/
.lc-mb-*/.lc-m-0/.lc-cursor-pointer； .text-muted/.text-nowrap → .lc-text-muted/.lc-text-nowrap */ .stat-card {
    flex: 1;
    text-align: center;
    padding: 16px;
    border-radius: 8px;
}

/* ===== 组件 ===== */
.card {
    margin-bottom: 20px;
    padding: 20px;
    background: var(--bg-white);
    border-radius: 8px;
    border: 1px solid var(--border-color);
}

/* [死代码] .link-primary 已清理（前台/后台视图零引用；admin.css 有 .admin-container .link-primary 作用域版） */

.tag {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 12px;
}

.tag-hot {
    color: var(--lc-comp-tag-hot-text);
    background: var(--lc-comp-tag-hot-bg);
}

.tag-danger {
    color: var(--lc-comp-tag-danger-text);
    background: var(--lc-comp-tag-danger-bg);
}

.alert {
    padding: 12px 15px;
    border-radius: 4px;
    margin-bottom: 20px;
    font-size: 14px;
}

.alert-error {
    background: var(--lc-comp-alert-error-bg);
    border-left: 3px solid var(--lc-comp-alert-error-border);
    color: var(--lc-comp-alert-error-text);
}

.alert-success {
    background: var(--lc-comp-alert-success-bg);
    border-left: 3px solid var(--lc-comp-alert-success-border);
    color: var(--lc-comp-alert-success-text);
}

.alert-warning {
    background: var(--lc-comp-alert-warning-bg);
    border-left: 3px solid var(--lc-comp-alert-warning-border);
    color: var(--lc-comp-alert-warning-text);
}

/* ===== 表单 ===== */
/* [剔除-后台覆盖] .form-input 已弃：后台由 admin.css .admin-content/.admin-verify-wrapper .form-input 作用域提供完整样式 */
/* [剔除-统一] .form-label 已弃：统一使用 modern.css 原版（13px/500） */
/* [死代码] .form-hint 已清理（视图零引用） */

/* ===== 按钮 ===== */
.btn-primary {
    padding: 10px 24px;
    background: var(--primary-color);
    color: var(--lc-text-white);
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    text-decoration: none;
    display: inline-block;
}

.btn-primary:hover {
    opacity: 0.9;
}

/* [剔除-后台覆盖] .btn-secondary 已弃：后台由 admin.css .admin-content .btn-secondary 作用域提供 */
.btn-danger {
    padding: 6px 12px;
    background: var(--lc-comp-btn-danger-bg);
    color: var(--lc-text-white);
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    text-decoration: none;
}

/* ===== 空状态 ===== */
.empty-state {
    text-align: center;
    padding: 60px 20px;
    background: var(--lc-bg-card);
    border-radius: 8px;
    color: var(--lc-comp-hint-text);
}

/* [死代码] .tag-badges / .tag-badge / a.tag-badge:hover 已清理（视图零引用） */

/* ===== Vote Buttons ===== */
.vote-buttons {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.vote-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 6px;
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: 14px;
    color: var(--lc-comp-hint-text);

    line-height: 1;
}

.vote-btn:hover {
    color: var(--primary-color);
}

.vote-btn.vote-up.active {
    color: var(--lc-comp-vote-up-active);
}

.vote-btn .vote-icon {
    font-size: 14px;
}

.vote-btn .vote-count {
    font-weight: bold;
}

.vote-btn.vote-up:hover:not(.active) {
    background: var(--lc-comp-vote-up-hover-bg);
}

.vote-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ===== 背景色 ===== */
/* 原 components.css 中 .bg-light/.bg-f0/.bg-faf/.bg-f5 为悬空选择器，与 .c-333 共享 { color: var(--text-dark); }；
   .c-333 已剔除（后台由 admin.css .admin-container .c-333 提供）；.bg-f5 为死成员已拆组清理 */
.bg-light,
.bg-f0,
.bg-faf {
    color: var(--text-dark);
}

/* ===== 文字颜色 ===== */
/* [剔除-后台覆盖] .c-666 已弃：admin.css 有裸类 .c-666{color:#666}，保留会覆盖后台 */
/* [剔除-后台覆盖] .c-999 已弃：admin.css 有裸类 .c-999{color:#999}，保留会覆盖后台 */
.c-primary {
    color: var(--primary-color);
}

/* [死代码] .c-danger 已清理（视图零引用） */

/* ===== 边框 ===== */
/* [死代码] .border-f0/.border-f5 为选择器组内死成员，已拆组清理 */
.border,
.border-ddd {
    border: 1px solid var(--border-color);
}

.border-bottom {
    border-bottom: 1px solid var(--border-color);
}

/* [迁移] .rounded-8 已迁移至 .lc-rounded-8 */

/* ===== Padding ===== */
/* [迁移] .p-15/.py-10 已迁移至 .lc-p-15/.lc-py-* */
/* [死代码] .px-15 已清理（视图零引用） */

/* ===== Font ===== */
/* [迁移] .fs-12/13/14/15/16/22、.fw-500/600/bold、.text-center、.text-decoration-none 已迁移至 .lc-fs-*/
.lc-fw-*/.lc-text-center/.lc-text-decoration-none */
/* ===== Width / Height ===== */
/* [迁移] .d-inline-block 已迁移至 .lc-inline-block */

/* ===== 基础布局块 ===== */
/* [迁移] .inline-block/.block 已迁移至 .lc-inline-block/.lc-block */

/* ===== 按钮变体 ===== */
.btn-sm {
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 13px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
}

/* [剔除-后台覆盖] .btn-edit 已弃：admin.css 裸类 .btn-edit 为紫底(var(--c-primary))，保留会覆盖后台 */
/* [剔除-后台覆盖] .btn-del 已弃：后台由 admin.css .admin-content .btn-del 作用域提供 */

/* ===== 回复可见遮罩 ===== */
/* [死代码] .reply-lock 已清理（视图零引用） */

/* ===== 分页 ===== */
/* [死代码] .pagination-custom 已清理（视图零引用） */

/* ===== 表单列表样式 ===== */
/* [死代码] .form-list（含 .checkbox-inline 依赖）已清理：admin.css 有裸类 .checkbox-inline */

/* ===== 分隔线变体 ===== */
/* [死代码] .ml-10 已清理（视图零引用） */
/* [迁移] .ml-auto/.mt-20 已迁移至 .lc-ml-auto/.lc-mt-20 */

/* ===== 等级徽章 ===== */
/* [剔除-后台覆盖] .lv-badge 已弃：后台由 admin.css .admin-container .lv-badge 作用域提供（值不同：radius 10px→4px、weight bold→600） */
/* [剔除-后台覆盖] .color-swatch 已弃：后台由 admin.css .admin-container .color-swatch 作用域提供（值不同：18px vs 24px） */

/* ===== 表格式列宽辅助 ===== */
/* [迁移] .w-100 已迁移至 .lc-wp-100 */

/* [死代码] .word-break 已清理（视图零引用） */

/* ===== 移动端通用卡片样式 ===== */
/* 规则已合并至「22b 统一响应式块」（.post-container/.message-container/.search-container/.auth-box、.stat-cards .bg-light） */

/* [迁移] .mt-4/.fs-11/.items-center/.cursor-pointer 已迁移至 .lc-mt-4/.lc-fs-11/.lc-items-center/.lc-cursor-pointer */

/* 附件图片缩略图 */
.attachment-image {
    max-width: 200px;
    max-height: 150px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid var(--lc-comp-preview-border);
    cursor: pointer;

}

.attachment-image:hover {
    opacity: .85;
}

/* ====== 登录 / 注册 / 找回密码 弹窗 ====== */
.scroll-fix {
    overflow: hidden;
}

.auth-modal-mask {
    position: fixed;
    inset: 0;
    background: rgba(17, 24, 39, 0.45);
    z-index: 1050;
}

.auth-modal {
    position: fixed;
    inset: 0;
    z-index: 1051;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    overflow-y: auto;
}

.auth-modal-card {
    position: relative;
    width: 100%;
    max-width: 400px;
    margin: auto;
    padding: 28px 26px 22px;
    background: var(--lc-bg-card);
    border: 1px solid var(--lc-border-light);
    border-radius: 14px;
    box-shadow: var(--lc-shadow-dropdown);
}

.auth-modal-close {
    position: absolute;
    top: -14px;
    right: -14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 1px solid var(--lc-border-light);
    border-radius: 50%;
    background: var(--lc-bg-card);
    color: var(--lc-text-muted);
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .15);
    transition: color .15s, border-color .15s;
}

.auth-modal-close:hover {
    color: var(--lc-text);
    border-color: var(--lc-primary);
}

.auth-modal-head h3 {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    color: var(--lc-text);
}

.auth-modal-subtitle {
    margin: 6px 0 0;
    font-size: 13px;
    color: var(--lc-text-muted);
}

.auth-modal-subtitle:empty {
    display: none;
}

.auth-modal-alert {
    display: none;
    margin-top: 14px;
    padding: 9px 12px;
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.5;
    background: var(--lc-alert-error-bg);
    color: var(--lc-alert-error-text);
    border: 1px solid var(--lc-alert-error-border);
}

.auth-modal-alert.show {
    display: block;
}

.auth-modal-alert.success {
    background: var(--lc-alert-success-bg);
    color: var(--lc-alert-success-text);
    border-color: var(--lc-alert-success-border);
}

.auth-modal-panel {
    margin-top: 18px;
}

.auth-form-row {
    margin-bottom: 12px;
}

.auth-form-row input[type="text"],
.auth-form-row input[type="password"],
.auth-form-row input[type="email"] {
    width: 100%;
    height: 42px;
    padding: 0 12px;
    border: 1px solid var(--lc-border);
    border-radius: 8px;
    background: var(--lc-bg-input);
    color: var(--lc-text);
    font-size: 14px;
    outline: none;
    transition: border-color .15s, box-shadow .15s;
}

.auth-form-row input:focus {
    border-color: var(--lc-primary);
    box-shadow: 0 0 0 3px var(--lc-primary-light);
}

.auth-form-row input::placeholder {
    color: var(--lc-text-muted);
}

.auth-captcha-row,
.auth-inline-row {
    display: flex;
    align-items: stretch;
    gap: 8px;
}

.auth-captcha-row input,
.auth-inline-row input {
    flex: 1 1 auto;
    min-width: 0;
}

.auth-captcha-row img {
    flex: 0 0 auto;
    width: 110px;
    height: 42px;
    border: 1px solid var(--lc-border);
    border-radius: 8px;
    cursor: pointer;
    object-fit: cover;
}

.auth-inline-btn {
    flex: 0 0 auto;
    height: 42px;
    padding: 0 14px;
    border: 1px solid var(--lc-border);
    border-radius: 8px;
    background: var(--lc-bg);
    color: var(--lc-text-secondary);
    font-size: 13px;
    white-space: nowrap;
    cursor: pointer;
    transition: color .15s, border-color .15s, background-color .15s;
}

.auth-inline-btn:hover {
    border-color: var(--lc-primary);
    color: var(--lc-primary);
    background: var(--lc-primary-subtle);
}

.auth-inline-btn:disabled {
    opacity: .6;
    cursor: not-allowed;
}

.auth-checkbox {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 4px 0 14px;
    font-size: 13px;
    color: var(--lc-text-secondary);
    cursor: pointer;
}

.auth-checkbox input {
    width: auto;
    height: auto;
}

.auth-submit {
    width: 100%;
    height: 42px;
    border: none;
    border-radius: 8px;
    background: var(--lc-primary);
    color: var(--lc-text-inverse);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color .15s;
}

.auth-submit:hover {
    background: var(--lc-primary-hover);
}

.auth-submit:disabled {
    opacity: .6;
    cursor: not-allowed;
}

.auth-modal-switch {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-top: 14px;
    font-size: 13px;
}

.auth-modal-switch a {
    color: var(--lc-primary);
}

.auth-login-ext {
    margin-top: 14px;
}

.auth-login-ext:empty {
    display: none;
}

/* ====== 侧边栏：站点统计 ====== */
.lc-site-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.lc-site-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px 4px;
    border-radius: 6px;
    background: var(--lc-bg-body);
}

.lc-site-stat-value {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--lc-text);
}

.lc-site-stat-label {
    margin-top: 2px;
    font-size: 11px;
    color: var(--lc-text-muted);
}

.lc-site-stat [class^="ri-"] {
    margin-bottom: 3px;
    font-size: 13px;
    color: var(--lc-primary);
}

/* ====== 列表图片网格：按数量切换布局 ====== */
.lc-excerpt-thumbs-1 {
    grid-template-columns: 1fr;
    max-width: 240px;
}

.lc-excerpt-thumbs-1 .lc-excerpt-thumb {
    height: 150px;
}

.lc-excerpt-thumbs-2 {
    grid-template-columns: repeat(2, 1fr);
    max-width: 240px;
}

.lc-excerpt-thumbs-2 .lc-excerpt-thumb {
    height: 110px;
}

.lc-excerpt-thumbs-3 {
    grid-template-columns: repeat(3, 1fr);
}

.lc-excerpt-thumbs-4 {
    grid-template-columns: repeat(2, 1fr);
    max-width: 220px;
}

.lc-excerpt-thumbs-4 .lc-excerpt-thumb {
    height: 100px;
}

.lc-excerpt-thumbs-5 .lc-excerpt-thumb,
.lc-excerpt-thumbs-6 .lc-excerpt-thumb,
.lc-excerpt-thumbs-7 .lc-excerpt-thumb,
.lc-excerpt-thumbs-8 .lc-excerpt-thumb,
.lc-excerpt-thumbs-9 .lc-excerpt-thumb {
    height: 86px;
}

.lc-excerpt-thumbs-more {
    position: relative;
}

.lc-excerpt-thumb-wrap {
    position: relative;
    display: block;
}

.lc-excerpt-thumb-more {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: rgba(17, 24, 39, 0.55);
    color: #fff;
    font-size: 16px;
    font-weight: 600;
}

/* ====== 会员中心 ====== */
/* ===== 会员中心 ===== */
.uc-body {
    padding: 20px;
}

/* 个人中心信息头 */
.uc-hero {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px;
    border: 1px solid var(--lc-border-light);
    border-radius: 10px;
    background: var(--lc-bg-body);
}

.uc-hero-avatar {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid var(--lc-border);
}

.uc-hero-main {
    flex: 1 1 auto;
    min-width: 0;
}

.uc-hero-name {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 17px;
    font-weight: 600;
    color: var(--lc-text);
}

.uc-hero-desc {
    margin-top: 4px;
    font-size: 13px;
    color: var(--lc-text-secondary);
}

.uc-hero-meta {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 6px;
    font-size: 12px;
    color: var(--lc-text-muted);
}

.uc-hero-action {
    flex-shrink: 0;
}

/* 统计格 */
.uc-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-top: 16px;
}

.uc-stat-box {
    padding: 16px 12px;
    text-align: center;
    border: 1px solid var(--lc-border-light);
    border-radius: 10px;
    background: var(--lc-bg-body);
}

.uc-stat-value {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--lc-primary);
}

.uc-stat-label {
    margin-top: 4px;
    font-size: 12px;
    color: var(--lc-text-muted);
}

/* 个人中心子标签 */
.uc-subtabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 20px 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--lc-border-light);
}

.uc-subtab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 7px 16px;
    border: 1px solid transparent;
    border-radius: 7px;
    background: transparent;
    font-size: 13px;
    color: var(--lc-text-secondary);
    cursor: pointer;
    transition: color .12s, background-color .12s;
}

.uc-subtab:hover {
    color: var(--lc-primary);
    background: var(--lc-primary-subtle);
}

.uc-subtab.uc-active {
    color: var(--lc-text-inverse);
    background: var(--lc-primary);
    font-weight: 600;
}

.uc-subtab [class^="ri-"] {
    font-size: 13px;
    line-height: 1;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    vertical-align: middle;
}

.uc-subpane {
    display: none;
}

.uc-subpane.uc-active {
    display: block;
}

.uc-panel-title {
    margin: 0 0 16px;
    font-size: 15px;
    font-weight: 600;
    color: var(--lc-text);
}

.uc-form-row {
    margin-bottom: 14px;
}

.uc-form-row label {
    display: block;
    margin-bottom: 6px;
    font-size: 13px;
    font-weight: 500;
    color: var(--lc-text-secondary);
}

.uc-avatar-edit {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}

.uc-avatar-edit img {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    object-fit: cover;
}

.uc-tip {
    font-size: 12px;
    color: var(--lc-text-muted);
}

.uc-checkin-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 28px 20px;
    text-align: center;
}

.uc-checkin-days {
    font-size: 34px;
    font-weight: 700;
    line-height: 1;
    color: var(--lc-primary);
}

.uc-checkin-days small {
    font-size: 13px;
    font-weight: 500;
    color: var(--lc-text-muted);
}

.uc-checkin-stats {
    display: flex;
    justify-content: center;
    gap: 32px;
    margin-top: 4px;
}

.uc-checkin-stat {
    text-align: center;
}

.uc-checkin-stat b {
    display: block;
    font-size: 18px;
    color: var(--lc-text);
}

.uc-checkin-stat span {
    font-size: 12px;
    color: var(--lc-text-muted);
}

.uc-medal-center {
    padding-top: 4px;
}

.uc-medal-section {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 16px;
    font-size: 15px;
    font-weight: 600;
    color: var(--lc-text);
}

.uc-medal-section i {
    color: var(--lc-primary);
}

.uc-medal-limit {
    font-size: 12px;
    font-weight: 400;
    color: var(--lc-text-muted);
}

.uc-medal-empty {
    padding: 22px;
    border: 1px dashed var(--lc-border-light);
    border-radius: 10px;
    text-align: center;
    font-size: 13px;
    color: var(--lc-text-muted);
    background: var(--lc-bg-body);
}

.uc-medal-divider {
    margin: 24px 0;
    border: none;
    border-top: 1px solid var(--lc-border-light);
}

.uc-medal-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.uc-medal {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 20px 14px 16px;
    text-align: center;
    border: 1px solid var(--lc-border-light);
    border-radius: 12px;
    background: var(--lc-bg-card, #fff);
    transition: transform .18s ease, box-shadow .18s ease;
}

.uc-medal:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(15, 23, 42, .07);
}

.uc-medal-badge {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 22px;
    color: #fff;
    box-shadow: 0 6px 14px rgba(15, 23, 42, .12);
}

.uc-medal-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--lc-text);
}

.uc-medal-desc {
    font-size: 12px;
    color: var(--lc-text-muted);
    line-height: 1.5;
    min-height: 34px;
}

.uc-medal-foot {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    width: 100%;
    margin-top: auto;
    padding-top: 10px;
    border-top: 1px dashed var(--lc-border-light);
}

.uc-medal-cond {
    font-size: 11px;
    color: var(--lc-text-muted);
}

.uc-medal-got {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-weight: 600;
    color: var(--lc-primary);
}

.uc-medal-locked {
    opacity: .55;
    filter: grayscale(.35);
}

.uc-medal-owned .uc-medal-badge {
    box-shadow: 0 6px 16px rgba(15, 23, 42, .2);
}

.uc-medal-wear {
    font-size: 12px;
}

/* 会员中心 - 发新主题 */
.uc-write-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.uc-write-head {
    display: flex;
    gap: 14px;
}

.uc-write-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.uc-write-field-sort {
    flex: 0 0 200px;
}

.uc-write-field-title {
    flex: 1;
}

.uc-write-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--lc-text-secondary);
}

.uc-write-prefix,
.uc-write-suggest {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.uc-prefix-chips {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
}

.uc-prefix-chip {
    border: none;
    border-radius: 6px;
    padding: 3px 12px;
    font-size: 12px;
    line-height: 1.7;
    color: #fff;
    cursor: pointer;
    transition: opacity .15s ease;
}

.uc-prefix-chip:hover {
    opacity: .85;
}

.uc-tag-chip {
    border: 1px solid var(--lc-border-light);
    border-radius: 6px;
    padding: 3px 12px;
    font-size: 12px;
    line-height: 1.7;
    color: var(--lc-text-secondary);
    background: var(--lc-bg-body);
    cursor: pointer;
}

.uc-tag-chip:hover {
    color: var(--lc-primary);
    border-color: var(--lc-primary);
}

.uc-editor {
    border: 1px solid var(--lc-border-light);
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}

.uc-editor-tabs {
    display: flex;
    gap: 4px;
    padding: 6px 8px 0;
    background: var(--lc-bg-body);
    border-bottom: 1px solid var(--lc-border-light);
}

.uc-editor-tab {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 14px;
    border: none;
    border-radius: 8px 8px 0 0;
    font-size: 13px;
    color: var(--lc-text-secondary);
    background: transparent;
    cursor: pointer;
}

.uc-editor-tab.uc-active {
    color: var(--lc-primary);
    background: #fff;
    font-weight: 600;
}

.uc-editor-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    padding: 8px 10px;
    border-bottom: 1px solid var(--lc-border-light);
    align-items: center;
    user-select: none;
}

.uc-editor-toolbar button {
    min-width: 30px;
    height: 30px;
    padding: 0 6px;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 700;
    color: var(--lc-text-secondary);
    background: transparent;
    cursor: pointer;
}

.uc-editor-toolbar button:hover {
    color: var(--lc-primary);
    background: var(--lc-primary-subtle);
}

.editor-separator {
    display: inline-block;
    width: 1px;
    height: 20px;
    background: var(--lc-editor-separator-bg, #ced4da);
    margin: 0 5px;
    flex-shrink: 0;
}

.uc-editor-textarea {
    width: 100%;
    min-height: 280px;
    padding: 14px;
    border: none;
    outline: none;
    resize: vertical;
    font-size: 14px;
    line-height: 1.7;
    color: var(--lc-text);
    background: #fff;
}

.uc-editor-preview {
    display: none;
    min-height: 280px;
    padding: 14px 18px;
    font-size: 14px;
    line-height: 1.8;
    color: var(--lc-text);
    word-break: break-word;
}

.uc-editor-preview h1,
.uc-editor-preview h2,
.uc-editor-preview h3 {
    margin: 16px 0 8px;
}

.uc-editor-preview p {
    margin: 8px 0;
}

.uc-editor-preview ul,
.uc-editor-preview ol {
    margin: 8px 0;
    padding-left: 22px;
}

.uc-editor-preview blockquote {
    margin: 10px 0;
    padding: 6px 14px;
    border-left: 3px solid var(--lc-primary);
    background: var(--lc-bg-body);
    color: var(--lc-text-secondary);
}

.uc-editor-preview pre {
    margin: 10px 0;
    padding: 12px;
    border-radius: 8px;
    background: var(--lc-bg-body);
    overflow-x: auto;
}

.uc-editor-preview code {
    padding: 1px 5px;
    border-radius: 4px;
    background: var(--lc-bg-body);
    font-size: 13px;
}

.uc-editor-preview pre code {
    padding: 0;
    background: none;
}

.uc-editor-preview img {
    max-width: 100%;
    border-radius: 8px;
}

.uc-editor-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 14px;
    border-top: 1px solid var(--lc-border-light);
    font-size: 12px;
    color: var(--lc-text-muted);
    background: var(--lc-bg-body);
}

.uc-editor-foot b {
    color: var(--lc-primary);
}

.uc-write-options {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}

.uc-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--lc-text-secondary);
    cursor: pointer;
}

.uc-write-actions {
    display: flex;
    gap: 10px;
    padding-top: 4px;
}

.uc-task {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 0;
    border-bottom: 1px solid var(--lc-border-light);
}

.uc-task:last-child {
    border-bottom: none;
}

.uc-task-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    border-radius: 9px;
    font-size: 17px;
    background: var(--lc-primary-subtle);
    color: var(--lc-primary);
}

.uc-task-main {
    flex: 1 1 auto;
    min-width: 0;
}

.uc-task-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--lc-text);
}

.uc-task-desc {
    margin-top: 2px;
    font-size: 12px;
    color: var(--lc-text-muted);
}

.uc-task-right {
    flex-shrink: 0;
    text-align: right;
}

.uc-task-reward {
    font-size: 13px;
    font-weight: 600;
    color: var(--lc-primary);
}

.uc-task-status {
    margin-top: 4px;
    font-size: 12px;
    color: var(--lc-text-muted);
}

.uc-task-status.uc-done {
    color: #16a34a;
}

.uc-task-tag {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 7px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.6;
    vertical-align: middle;
    color: var(--lc-primary);
    background: var(--lc-primary-subtle);
}

.uc-task-btn {
    display: inline-block;
    margin-top: 6px;
    padding: 5px 14px;
    border: 1px solid transparent;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    cursor: pointer;
    transition: opacity .15s, background .15s, color .15s;
}

.uc-task-btn-claim {
    color: var(--lc-text-white);
    background: var(--lc-primary);
}

.uc-task-btn-claim:hover {
    opacity: .9;
}

.uc-task-btn-done {
    color: var(--lc-text-muted);
    background: var(--lc-border-light);
    cursor: default;
}

.uc-task-claim-form {
    margin: 0;
}

.uc-progress {
    height: 6px;
    margin-top: 8px;
    border-radius: 999px;
    background: var(--lc-border-light);
    overflow: hidden;
}

.uc-progress-bar {
    height: 100%;
    border-radius: 999px;
    background: var(--lc-primary);
    transition: width .3s;
}

/* 敬请期待占位 */
.uc-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 60px 20px;
    text-align: center;
    color: var(--lc-text-muted);
}

.uc-empty i {
    font-size: 40px;
    opacity: .4;
}

/* 我的点赞 / 我的收藏：文章列表 */
.uc-article-list {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--lc-border-light);
    border-radius: 10px;
    overflow: hidden;
}

.uc-article {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--lc-border-light);
    text-decoration: none;
    color: inherit;
    transition: background-color .12s;
}

.uc-article:last-child {
    border-bottom: none;
}

.uc-article:hover {
    background: var(--lc-bg-row-hover);
}

.uc-article-cover {
    flex-shrink: 0;
    width: 72px;
    height: 54px;
    border-radius: 6px;
    overflow: hidden;
    background: var(--lc-bg-body);
}

.uc-article-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.uc-article-main {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    flex: 1;
}

.uc-article-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--lc-text);
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.uc-article:hover .uc-article-title {
    color: var(--lc-primary);
}

.uc-article-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 12px;
    color: var(--lc-text-muted);
}

.uc-article-meta span,
.uc-article-meta time {
    display: inline-flex;
    align-items: center;
    gap: 3px;
}


/* 等级页 */
.uc-level-hero {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px;
    margin-bottom: 18px;
    border: 1px solid var(--lc-border-light);
    border-radius: 10px;
    background: var(--lc-bg-body);
}

.uc-level-hero-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    flex-shrink: 0;
    border-radius: 50%;
    font-size: 24px;
    background: var(--lc-primary-light);
    color: var(--lc-primary);
}

.uc-level-hero-main {
    flex: 1 1 auto;
    min-width: 0;
}

.uc-level-hero-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--lc-text);
}

.uc-level-hero-sub {
    margin-top: 4px;
    font-size: 13px;
    color: var(--lc-text-muted);
}

.uc-level-hero-progress {
    width: 220px;
    flex-shrink: 0;
}

.uc-tier-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.uc-tier {
    padding: 16px 18px;
    border: 1px solid var(--lc-border-light);
    border-radius: 10px;
    background: var(--lc-bg-card);
}

.uc-tier-cur {
    border-color: var(--lc-primary);
    background: var(--lc-primary-subtle);
}

.uc-tier-head {
    display: flex;
    align-items: center;
    gap: 10px;
}

.uc-tier-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    border-radius: 50%;
    font-size: 16px;
    background: var(--lc-primary-light);
    color: var(--lc-primary);
}

.uc-tier-title {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
    flex: 1 1 auto;
    min-width: 0;
}

.uc-tier-code {
    font-size: 15px;
    font-weight: 700;
    color: var(--lc-primary);
}

.uc-tier-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--lc-text);
}

.uc-tier-sub {
    font-size: 12px;
    color: var(--lc-text-muted);
}

.uc-tier-desc {
    margin-top: 10px;
    font-size: 12px;
    color: var(--lc-text-muted);
}

.uc-tier-criteria {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 10px;
}

.uc-criteria-row {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: var(--lc-text-secondary);
}

.uc-criteria-label {
    flex: 0 0 auto;
    min-width: 168px;
}

.uc-criteria-bar {
    flex: 1 1 auto;
    height: 8px;
    border-radius: 999px;
    background: var(--lc-border-light);
    overflow: hidden;
}

.uc-criteria-bar i {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: var(--lc-primary);
}

.uc-criteria-pct {
    flex: 0 0 40px;
    text-align: right;
    color: var(--lc-text-muted);
}

/* 积分页 */
.uc-points-hero {
    padding: 24px 20px;
    margin-bottom: 18px;
    text-align: center;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--lc-primary) 0%, var(--lc-primary-hover) 100%);
    color: var(--lc-text-white);
}

.uc-points-hero-value {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.1;
}

.uc-points-hero-label {
    margin-top: 2px;
    font-size: 13px;
    opacity: .85;
}

.uc-points-hero-sub {
    margin-top: 10px;
    font-size: 12px;
    opacity: .9;
}

.uc-points-total {
    margin-top: 6px;
    padding-top: 14px;
    border-top: 2px solid var(--lc-border-light);
    font-weight: 600;
}

.uc-points-total b {
    font-size: 16px;
}

/* 签到日历 */
.uc-calendar-wrap {
    margin-top: 20px;
}

.uc-calendar {
    margin-top: 12px;
    padding: 16px;
    border: 1px solid var(--lc-border-light);
    border-radius: 10px;
    background: var(--lc-bg-card);
}

.uc-calendar-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.uc-calendar-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--lc-text);
}

.uc-calendar-nav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    color: var(--lc-text-secondary);
    transition: color .12s, background-color .12s;
}

.uc-calendar-nav:hover {
    color: var(--lc-primary);
    background: var(--lc-primary-subtle);
}

.uc-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 6px;
}

.uc-calendar-week {
    padding: 4px 0;
    text-align: center;
    font-size: 12px;
    color: var(--lc-text-muted);
}

.uc-calendar-day {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    border-radius: 8px;
    font-size: 13px;
    color: var(--lc-text-secondary);
    background: var(--lc-bg-body);
}

.uc-calendar-empty {
    background: transparent;
}

.uc-calendar-today {
    box-shadow: inset 0 0 0 1px var(--lc-primary);
    color: var(--lc-primary);
}

.uc-calendar-checked {
    background: var(--lc-primary);
    color: var(--lc-text-white);
    font-size: 11px;
}

.uc-calendar-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 12px;
    font-size: 12px;
    color: var(--lc-text-muted);
}

.uc-calendar-legend i {
    color: var(--lc-primary);
}

.uc-points-rule {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--lc-border-light);
    font-size: 14px;
    color: var(--lc-text-secondary);
}

.uc-points-rule:last-child {
    border-bottom: none;
}

.uc-points-rule b {
    color: var(--lc-primary);
}

/* 列表 / 详情作者徽章 */

.lc-author-level {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 1px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.6;
    white-space: nowrap;
    text-decoration: none;
    color: var(--lc-primary);
    background: var(--lc-primary-subtle);
    transition: opacity .15s;
}

.lc-author-level-tl0 {
    color: var(--lc-text-muted);
    background: var(--lc-bg-body);
}

.lc-author-level-tl1 {
    color: var(--lc-tag-warning-text);
    background: var(--lc-tag-warning-bg);
}

.lc-author-level-tl2 {
    color: var(--lc-primary);
    background: var(--lc-primary-subtle);
}

.lc-author-level-tl3 {
    color: var(--lc-alert-success-text);
    background: var(--lc-alert-success-bg);
}

.lc-author-level-tl4 {
    color: #7c3aed;
    background: #f3e8ff;
}

.lc-author-level-tl5 {
    color: #b45309;
    background: #fef3c7;
}

.lc-author-level-text {
    white-space: nowrap;
}

.lc-author-medals {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    vertical-align: middle;
    white-space: nowrap;
}

.lc-author-medal {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    font-size: 10px;
    color: var(--lc-text-white);
    line-height: 1;
}

.lc-author-medal i {
    font-size: 10px;
    line-height: 1;
}

/* ====== 评论区 ====== */
.lc-comment-list {
    display: flex;
    flex-direction: column;
}

/* 楼层式评论：整条评论为一块，顶部用户信息栏 + 正文 + 操作栏 */
.lc-comment {
    padding: 0;
    border-bottom: 1px solid var(--lc-border-light);
}

.lc-comment-list>.lc-comment:last-child,
.lc-comment-children>.lc-comment:last-child {
    border-bottom: none;
}

.lc-comment-main {
    min-width: 0;
}

/* 顶部用户信息栏：头像 + 作者信息 + 回复入口 */
.lc-comment-user-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 20px;
    border-bottom: 1px solid var(--lc-border-light);
}

.lc-comment-user {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.lc-comment-user-info {
    min-width: 0;
}

.lc-comment-name-row {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    min-width: 0;
}

.lc-comment-avatar {
    width: 40px;
    height: 40px;
    border-radius: 4px;
    object-fit: cover;
    flex-shrink: 0;
    background: var(--lc-bg-body);
}

.lc-comment-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--lc-text);
    text-decoration: none;
}

a.lc-comment-name:hover {
    color: var(--lc-primary);
}

.lc-comment-tag {
    display: inline-flex;
    align-items: center;
    padding: 0 6px;
    height: 18px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    color: var(--lc-primary);
    background: var(--lc-primary-subtle);
}

.lc-comment-time {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 12px;
    color: var(--lc-text-muted);
    white-space: nowrap;
}

/* 正文与操作区 */
.lc-comment-body {
    padding: 12px 20px;
}

.lc-comment-content {
    font-size: 14px;
    line-height: 1.7;
    color: var(--lc-content-text);
    word-break: break-word;
    overflow-wrap: anywhere;
}

.lc-comment-content img {
    max-width: 100%;
    height: auto;
    border-radius: 6px;
}

.lc-comment-content p {
    margin: 0 0 8px;
}

.lc-comment-content p:last-child {
    margin-bottom: 0;
}

.lc-comment-foot {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed var(--lc-border-light);
}

.lc-comment-foot-sep {
    font-size: 12px;
    color: var(--lc-border);
}

.lc-comment-floor {
    margin-left: auto;
    font-size: 12px;
    color: var(--lc-text-muted);
    white-space: nowrap;
}

.lc-comment-action {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    font-family: inherit;
    font-size: 12px;
    color: var(--lc-text-muted);
    transition: color .15s;
}

.lc-comment-action:hover {
    color: var(--lc-primary);
}

.lc-comment-like.liked {
    color: var(--lc-comp-vote-up-active);
    cursor: default;
}

.lc-comment-caret {
    font-size: 14px;
    transition: transform .2s;
}

.lc-comment-toggle[aria-expanded="false"] .lc-comment-caret {
    transform: rotate(-90deg);
}

/* 子评论：缩进 + 左侧竖线，与主楼层区分 */
.lc-comment-children .lc-comment-children {
    padding-right: 0;
}

.lc-comment-children .lc-comment-user-bar,
.lc-comment-children .lc-comment-body {
    padding: 12px 0;
}

.lc-comment-children.collapsed {
    display: none;
}

.lc-comment-child .lc-comment-avatar {
    width: 32px;
    height: 32px;
}

.lc-comments-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 40px 0;
    color: var(--lc-text-muted);
    font-size: 13px;
}

.lc-comments-empty i {
    font-size: 32px;
    opacity: .5;
}

.lc-comments-pager {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    margin-top: -16px;
    padding: 16px 20px;
}

.lc-comments-pager a,
.lc-comments-pager span {
    padding: 6px 12px;
    border: 1px solid var(--lc-border);
    border-radius: 6px;
    font-size: 13px;
    color: var(--lc-text-secondary);
    transition: color .12s, background-color .12s, border-color .12s;
}

.lc-comments-pager a:hover {
    border-color: var(--lc-primary);
    color: var(--lc-primary);
    background: var(--lc-primary-subtle);
}

.lc-comments-pager span {
    background: var(--lc-primary);
    border-color: var(--lc-primary);
    color: var(--lc-text-inverse);
}

/* 点赞 / 收藏激活态 */
.vote-btn.vote-up.active {
    color: var(--lc-comp-vote-up-active);
}

.collect-btn:hover {
    color: var(--lc-primary);
}

.collect-btn.active {
    color: var(--lc-primary);
}

/* 轻提示：右上角浮出，数秒后自动消失 */
.lcbk-toast {
    position: fixed;
    top: 70px;
    right: 20px;
    transform: translateX(12px);
    max-width: min(320px, calc(100vw - 40px));
    padding: 9px 16px;
    border-radius: 8px;
    background: rgba(0, 0, 0, .78);
    color: #fff;
    font-size: 13px;
    line-height: 1.5;
    box-shadow: var(--lc-shadow-float);
    z-index: 9999;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s, transform .2s;
}

.lcbk-toast.show {
    opacity: 1;
    transform: translateX(0);
}


/* ====== 评论表单 ====== */
.lc-comment-form {
    margin-bottom: 18px;
}

.lc-comment-form>.comment-post {
    padding: 16px 20px 18px;
}

/* 回复某条评论时，表单被移动到该评论内 */
.lc-comment-main .comment-post {
    margin-top: 10px;
    padding: 12px;
    border: 1px solid var(--lc-border-light);
    border-radius: 8px;
    background: var(--lc-bg-body);
}

.lc-comment-editor {
    margin-bottom: 12px;
}

.commentform #comment {
    display: block;
    width: 100%;
    min-height: 110px;
    padding: 12px 14px;
    border: 1px solid var(--lc-border);
    border-radius: 8px;
    background: var(--lc-bg-input);
    color: var(--lc-text);
    font-family: inherit;
    font-size: 14px;
    line-height: 1.7;
    box-sizing: border-box;
    resize: vertical;
    transition: border-color .15s, box-shadow .15s;
}

.commentform #comment:focus {
    outline: none;
    border-color: var(--lc-primary);
    box-shadow: 0 0 0 3px var(--lc-primary-light);
}

.commentform #comment::placeholder {
    color: var(--lc-text-muted);
}

.lc-comment-form-foot {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
}

.comment-info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    flex: 1 1 320px;
    min-width: 0;
}

.comment-info .form-control {
    flex: 1 1 120px;
    min-width: 0;
    height: 38px;
    padding: 0 12px;
    border: 1px solid var(--lc-border);
    border-radius: 8px;
    background: var(--lc-bg-input);
    color: var(--lc-text);
    font-size: 13px;
    box-sizing: border-box;
    transition: border-color .15s, box-shadow .15s;
}

.comment-info .form-control:focus {
    outline: none;
    border-color: var(--lc-primary);
    box-shadow: 0 0 0 3px var(--lc-primary-light);
}

.comment-info .form-control::placeholder {
    color: var(--lc-text-muted);
}

.comment-info .captcha-container {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 100%;
}

.comment-info .captcha-container img {
    height: 38px;
    border-radius: 8px;
    cursor: pointer;
}

/* 验证码输入框由核心 $verifyCode 直接输出，无统一类名，按容器兜底 */
.comment-info .captcha-container input[type="text"],
.comment-info .captcha-container input[type="number"] {
    flex: 1 1 120px;
    min-width: 0;
    height: 38px;
    padding: 0 12px;
    border: 1px solid var(--lc-border);
    border-radius: 8px;
    background: var(--lc-bg-input);
    color: var(--lc-text);
    font-size: 13px;
    box-sizing: border-box;
}

.com_submit_p {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    margin-left: auto;
}

.lc-comment-login-tip {
    font-size: 13px;
    color: var(--lc-text-muted);
}

.lc-comment-login-tip a {
    color: var(--lc-primary);
}

.lc-btn-plain {
    background: transparent;
    color: var(--lc-text-muted);
}

.lc-btn-plain:hover {
    background: var(--lc-bg-body);
    border-color: var(--lc-border);
    color: var(--lc-text-secondary);
}

/* ====== 相邻文章 ====== */
.neighbor-log {
    display: flex;
    align-items: stretch;
    gap: 12px;
    padding: 16px 20px;
    border-top: 1px solid var(--lc-border-light);
}

.lc-neighbor-item {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 10px 14px;
    border: 1px solid var(--lc-border);
    border-radius: 8px;
    background: var(--lc-bg-body);
    text-decoration: none;
    transition: border-color .15s, background-color .15s;
}

a.lc-neighbor-item:hover {
    border-color: var(--lc-primary);
    background: var(--lc-primary-subtle);
}

.lc-neighbor-next {
    align-items: flex-end;
    text-align: right;
}

.lc-neighbor-dir {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 12px;
    color: var(--lc-text-muted);
}

.lc-neighbor-title {
    display: -webkit-box;
    overflow: hidden;
    font-size: 13px;
    line-height: 1.5;
    color: var(--lc-text);
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

a.lc-neighbor-item:hover .lc-neighbor-title {
    color: var(--lc-primary);
}

.lc-neighbor-empty {
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: var(--lc-text-muted);
    background: transparent;
    border-style: dashed;
}

/* ====== 外观设置 ====== */
.lc-scheme-trigger {
    padding: 6px 9px;
}

.lc-scheme-panel {
    padding: 14px;
    width: 320px;
    max-height: calc(100vh - 90px);
    overflow-y: auto;
}

.lc-appearance {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* 明暗模式：日间 / 黑夜 / 自动 */
.lc-appearance-themes {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.lc-appearance-theme {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 40px;
    padding: 0 8px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: var(--lc-bg-row-hover);
    color: var(--lc-text-secondary);
    font-size: 13px;
    font-family: inherit;
    cursor: pointer;
    transition: color .15s, background-color .15s, border-color .15s;
}

.lc-appearance-theme i {
    font-size: 15px;
}

.lc-appearance-theme:hover {
    color: var(--lc-primary);
}

.lc-appearance-theme.lc-active {
    color: var(--lc-primary);
    background: var(--lc-primary-subtle);
    border-color: var(--lc-primary);
}

/* 字号 / 站点宽度：两列 */
.lc-appearance-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}

.lc-appearance-item {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: var(--lc-bg-row-hover);
    color: var(--lc-text);
    font-size: 13px;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
    transition: color .15s, background-color .15s, border-color .15s;
}

.lc-appearance-item i {
    font-size: 16px;
    color: var(--lc-text-muted);
}

.lc-appearance-a {
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    color: var(--lc-text-muted);
}

.lc-appearance-item:hover {
    color: var(--lc-primary);
}

.lc-appearance-item.lc-active {
    color: var(--lc-primary);
    background: var(--lc-primary-subtle);
    border-color: var(--lc-primary);
}

.lc-appearance-item.lc-active i,
.lc-appearance-item.lc-active .lc-appearance-a {
    color: var(--lc-primary);
}

/* 色板：双色圆点（左浅右深），固定 5 列两行，选中项带主色描边环 */
.lc-scheme-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    justify-items: center;
    gap: 12px 0;
    width: 100%;
}

.lc-scheme-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: none;
    cursor: pointer;
    font-family: inherit;
}

.lc-scheme-dot {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: linear-gradient(90deg, var(--sw-light) 0 50%, var(--sw-dark) 50% 100%);
    transition: box-shadow .15s, transform .15s;
}

.lc-scheme-item:hover .lc-scheme-dot {
    transform: scale(1.08);
}

.lc-scheme-item.lc-active .lc-scheme-dot {
    box-shadow: 0 0 0 2px var(--lc-bg-card), 0 0 0 4px var(--sw-dark);
}

/* 色板圆点配色：仅用于预览各色系，实际换肤见下方 html[data-scheme] 变量覆盖 */
.lc-scheme-item[data-scheme="original"] {
    --sw-light: #f0f3ff;
    --sw-dark: #3b5de7;
}

.lc-scheme-item[data-scheme="emerald"] {
    --sw-light: #4ade80;
    --sw-dark: #22c55e;
}

.lc-scheme-item[data-scheme="forest"] {
    --sw-light: #22c55e;
    --sw-dark: #15803d;
}

.lc-scheme-item[data-scheme="blue"] {
    --sw-light: #6b8bf8;
    --sw-dark: #2952a3;
}

.lc-scheme-item[data-scheme="sky"] {
    --sw-light: #a5d8fb;
    --sw-dark: #59b8f8;
}

.lc-scheme-item[data-scheme="orange"] {
    --sw-light: #fbbf24;
    --sw-dark: #d05a1b;
}

.lc-scheme-item[data-scheme="red"] {
    --sw-light: #f87171;
    --sw-dark: #7f1d1d;
}

.lc-scheme-item[data-scheme="pink"] {
    --sw-light: #f9a8d4;
    --sw-dark: #db2777;
}

.lc-scheme-item[data-scheme="violet"] {
    --sw-light: #a78bfa;
    --sw-dark: #7c3aed;
}

.lc-scheme-item[data-scheme="teal"] {
    --sw-light: #2dd4bf;
    --sw-dark: #0d9488;
}

/* 派生色统一跟随主色，避免逐个色系重复声明 */
html[data-scheme] {
    --lc-text-link: var(--lc-primary);
    --lc-text-nav-hover: var(--lc-primary);
    --lc-bg-nav-hover: var(--lc-primary-subtle);
    --lc-bg-tag: var(--lc-primary-subtle);
    --lc-tag-bg: var(--lc-primary-light);
    --lc-tag-text: var(--lc-primary);
}

/* 色系变量覆盖（html[data-scheme] 优先级高于 :root） */
html[data-scheme="original"] {
    --lc-primary: #4f6ef7;
    --lc-primary-hover: #3b5de7;
    --lc-primary-light: #eef1ff;
    --lc-primary-subtle: #f0f3ff;
    --lc-shadow-primary-glow: 0 2px 8px rgba(79, 110, 247, .3);
}

html[data-scheme="emerald"] {
    --lc-primary: #22c55e;
    --lc-primary-hover: #16a34a;
    --lc-primary-light: #eafaf0;
    --lc-primary-subtle: #f0fdf4;
    --lc-shadow-primary-glow: 0 2px 8px rgba(34, 197, 94, .3);
}

html[data-scheme="forest"] {
    /* 主色 */
    --lc-primary: #16a34a;
    --lc-primary-hover: #15803d;
    --lc-primary-light: #f0fdf4;
    --lc-primary-subtle: #f2faf5;

    /* 背景 */
    --lc-bg: #ffffff;
    --lc-bg-body: #f2f6f3;
    --lc-bg-card: #ffffff;
    --lc-bg-nav: #14532d;
    --lc-bg-sidebar: #ffffff;
    --lc-bg-row-hover: #f0fdf4;
    --lc-bg-input: #ffffff;
    --lc-bg-tag: #f0fdf4;

    /* 文字 */
    --lc-text: #1a1a2e;
    --lc-text-secondary: #5b6b5e;
    --lc-text-muted: #9ca3af;
    --lc-text-inverse: #ffffff;
    --lc-text-link: #16a34a;
    --lc-text-nav: #d0ecd8;
    --lc-text-nav-hover: #ffffff;
    --lc-bg-nav-hover: rgba(255, 255, 255, 0.12);

    /* 边框 */
    --lc-border: #e0e8e2;
    --lc-border-light: #eaf0ec;
    --lc-divider: #eef3f0;

    /* 语义色 */
    --lc-success: #22c55e;
    --lc-error: #ef4444;
    --lc-warning: #f59e0b;

    /* 标签 */
    --lc-tag-bg: #f0fdf4;
    --lc-tag-text: #16a34a;
    --lc-tag-hot-bg: #fef2f2;
    --lc-tag-hot-text: #dc2626;
    --lc-tag-elite-bg: #fefce8;
    --lc-tag-elite-text: #a16207;

    /* 白字（主色底/深色底上的文字） */
    --lc-text-white: #ffffff;

    /* 标签-警告 */
    --lc-tag-warning-bg: #fef3c7;
    --lc-tag-warning-text: #d97706;

    /* 提示框 */
    --lc-alert-success-bg: #f0fdf4;
    --lc-alert-success-text: #16a34a;
    --lc-alert-success-border: #bbf7d0;
    --lc-alert-error-bg: #fef2f2;
    --lc-alert-error-text: #dc2626;
    --lc-alert-error-border: #fecaca;

    /* 正文内容（帖子/博客正文、表格） */
    --lc-content-text: #2f4a3a;
    --lc-content-border: #e0e8e2;

    /* 代码块（白天浅色：浅绿底 + 深绿字） */
    --lc-code-bg: #eef7f0;
    --lc-code-text: #166534;

    /* 杂项 */
    --lc-bg-theme-badge: rgba(22, 163, 74, 0.14);
    --lc-bg-strength-track: #e3f1e7;

    /* 阴影 */
    --lc-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
    --lc-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    --lc-shadow-dropdown: 0 4px 16px rgba(22, 163, 74, 0.12);
    --lc-shadow-dropdown-up: 0 -4px 16px rgba(22, 163, 74, 0.12);
    --lc-shadow-mobile-nav: 0 -2px 8px rgba(0, 0, 0, 0.05);
    --lc-shadow-primary-glow: 0 2px 8px rgba(22, 163, 74, 0.35);
    --lc-shadow-float: 0 2px 8px rgba(0, 0, 0, 0.12);

    /* 旧版通用变量（兼容 style.css / editor.css / 插件 CSS）：统一指向 --lc-* */
    --primary-color: var(--lc-primary);
    --primary-hover: var(--lc-primary-hover);
    --bg-light: var(--lc-primary-subtle);
    --bg-white: var(--lc-bg-card);
    --border-color: var(--lc-border);
    --text-dark: var(--lc-text);
    --text-muted: var(--lc-text-muted);
    --success-color: var(--lc-success);

    /* 编辑器（WYSIWYG / Markdown） */
    --lc-editor-toolbar-bg: #f7faf8;
    --lc-editor-tab-hover-bg: rgba(22, 163, 74, 0.06);
    --lc-editor-btn-text: #5b6b5e;
    --lc-editor-btn-hover-bg: #f0fdf4;
    --lc-editor-btn-hover-text: #15803d;
    --lc-editor-btn-press-bg: #dceee2;
    --lc-editor-separator-bg: #b8ccbe;
    --lc-editor-placeholder-text: #a8b8ac;
    --lc-editor-quote-bg: #f2faf5;
    --lc-editor-quote-text: #5b6b5e;
    --lc-editor-quote-bg-2: #f7faf8;
    --lc-editor-quote-text-2: #5b6b5e;
    --lc-editor-code-inline-bg: #f0fdf4;
    --lc-editor-code-inline-text: #15803d;
    --lc-editor-table-border: #e0e8e2;
    --lc-editor-table-th-bg: #f2faf5;
    --lc-editor-emoji-border: #e0e8e2;
    --lc-editor-emoji-hover-bg: #f0fdf4;
    --lc-editor-btn-highlight-bg: #dceee2;
    --lc-editor-btn-highlight-text: #16a34a;
    --lc-editor-btn-highlight-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
    --lc-editor-word-count-text: #9ca3af;

    /* 旧组件（components.css） */
    --lc-comp-tag-hot-bg: #fef2f2;
    --lc-comp-tag-hot-text: #dc2626;
    --lc-comp-tag-danger-bg: #fce4ec;
    --lc-comp-tag-danger-text: #be185d;
    --lc-comp-alert-error-bg: #fee;
    --lc-comp-alert-error-border: #f00;
    --lc-comp-alert-error-text: #c00;
    --lc-comp-alert-success-bg: #d4edda;
    --lc-comp-alert-success-border: #28a745;
    --lc-comp-alert-success-text: #155724;
    --lc-comp-alert-warning-bg: #fff3cd;
    --lc-comp-alert-warning-border: #ffc107;
    --lc-comp-alert-warning-text: #856404;
    --lc-comp-input-border: #e0e8e2;
    --lc-comp-label-text: #1a1a2e;
    --lc-comp-hint-text: #9ca3af;
    --lc-comp-btn-danger-bg: #dc2626;
    --lc-comp-tag-badge-bg: #16a34a;
    --lc-comp-tag-badge-hover-bg: #15803d;
    --lc-comp-vote-up-active: #ef4444;
    --lc-comp-vote-up-hover-bg: #fef2f2;
    --lc-comp-reply-lock-bg: #fef3c7;
    --lc-comp-reply-lock-border: #f59e0b;
    --lc-comp-pagination-active-bg: #16a34a;
    --lc-comp-swatch-border: #e0e8e2;
    --lc-comp-preview-border: #e0e8e2;
    --lc-comp-overlay-bg: rgba(0, 0, 0, 0.85);
}

html[data-scheme="blue"] {
    /* 主色 */
    --lc-primary: #3366cc;
    --lc-primary-hover: #2952a3;
    --lc-primary-light: #e8f0ff;
    --lc-primary-subtle: #f0f5ff;

    /* 背景 */
    --lc-bg: #ffffff;
    --lc-bg-body: #f0f3f7;
    --lc-bg-card: #ffffff;
    --lc-bg-nav: #1a3a6b;
    --lc-bg-sidebar: #ffffff;
    --lc-bg-row-hover: #f0f5ff;
    --lc-bg-input: #ffffff;
    --lc-bg-tag: #e8f0ff;

    /* 文字 */
    --lc-text: #1a1a2e;
    --lc-text-secondary: #5b6778;
    --lc-text-muted: #9ca3af;
    --lc-text-inverse: #ffffff;
    --lc-text-link: #3366cc;
    --lc-text-nav: #d0dff5;
    --lc-text-nav-hover: #ffffff;
    --lc-bg-nav-hover: rgba(255, 255, 255, 0.12);

    /* 边框 */
    --lc-border: #e0e5ed;
    --lc-border-light: #eaeef5;
    --lc-divider: #eef1f5;

    /* 语义色 */
    --lc-success: #22c55e;
    --lc-error: #ef4444;
    --lc-warning: #f59e0b;

    /* 标签 */
    --lc-tag-bg: #e8f0ff;
    --lc-tag-text: #3366cc;
    --lc-tag-hot-bg: #fef2f2;
    --lc-tag-hot-text: #dc2626;
    --lc-tag-elite-bg: #fefce8;
    --lc-tag-elite-text: #a16207;

    /* 白字（主色底/深色底上的文字） */
    --lc-text-white: #ffffff;

    /* 标签-警告 */
    --lc-tag-warning-bg: #fef3c7;
    --lc-tag-warning-text: #d97706;

    /* 提示框 */
    --lc-alert-success-bg: #f0fdf4;
    --lc-alert-success-text: #16a34a;
    --lc-alert-success-border: #bbf7d0;
    --lc-alert-error-bg: #fef2f2;
    --lc-alert-error-text: #dc2626;
    --lc-alert-error-border: #fecaca;

    /* 正文内容（帖子/博客正文、表格） */
    --lc-content-text: #2f3a52;
    --lc-content-border: #e0e5ed;

    /* 代码块（白天浅色：浅蓝底 + 深蓝字） */
    --lc-code-bg: #eef4ff;
    --lc-code-text: #1e40af;

    /* 杂项 */
    --lc-bg-theme-badge: rgba(51, 102, 204, 0.14);
    --lc-bg-strength-track: #e3ecf9;

    /* 阴影 */
    --lc-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
    --lc-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    --lc-shadow-dropdown: 0 4px 16px rgba(51, 102, 204, 0.12);
    --lc-shadow-dropdown-up: 0 -4px 16px rgba(51, 102, 204, 0.12);
    --lc-shadow-mobile-nav: 0 -2px 8px rgba(0, 0, 0, 0.05);
    --lc-shadow-primary-glow: 0 2px 8px rgba(51, 102, 204, 0.35);
    --lc-shadow-float: 0 2px 8px rgba(0, 0, 0, 0.12);

    /* 旧版通用变量（兼容 style.css / editor.css / 插件 CSS）：统一指向 --lc-* */
    --primary-color: var(--lc-primary);
    --primary-hover: var(--lc-primary-hover);
    --bg-light: var(--lc-primary-subtle);
    --bg-white: var(--lc-bg-card);
    --border-color: var(--lc-border);
    --text-dark: var(--lc-text);
    --text-muted: var(--lc-text-muted);
    --success-color: var(--lc-success);

    /* 编辑器（WYSIWYG / Markdown） */
    --lc-editor-toolbar-bg: #f7fafd;
    --lc-editor-tab-hover-bg: rgba(51, 102, 204, 0.06);
    --lc-editor-btn-text: #5b6778;
    --lc-editor-btn-hover-bg: #e8f0ff;
    --lc-editor-btn-hover-text: #2952a3;
    --lc-editor-btn-press-bg: #d6e4f7;
    --lc-editor-separator-bg: #b8c8dd;
    --lc-editor-placeholder-text: #a8b8cc;
    --lc-editor-quote-bg: #f0f5ff;
    --lc-editor-quote-text: #5b6778;
    --lc-editor-quote-bg-2: #f7fafd;
    --lc-editor-quote-text-2: #5b6778;
    --lc-editor-code-inline-bg: #e8f0ff;
    --lc-editor-code-inline-text: #1d4ed8;
    --lc-editor-table-border: #e0e5ed;
    --lc-editor-table-th-bg: #f0f5ff;
    --lc-editor-emoji-border: #e0e5ed;
    --lc-editor-emoji-hover-bg: #e8f0ff;
    --lc-editor-btn-highlight-bg: #d6e4f7;
    --lc-editor-btn-highlight-text: #3366cc;
    --lc-editor-btn-highlight-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
    --lc-editor-word-count-text: #9ca3af;

    /* 旧组件（components.css） */
    --lc-comp-tag-hot-bg: #fef2f2;
    --lc-comp-tag-hot-text: #dc2626;
    --lc-comp-tag-danger-bg: #fce4ec;
    --lc-comp-tag-danger-text: #be185d;
    --lc-comp-alert-error-bg: #fee;
    --lc-comp-alert-error-border: #f00;
    --lc-comp-alert-error-text: #c00;
    --lc-comp-alert-success-bg: #d4edda;
    --lc-comp-alert-success-border: #28a745;
    --lc-comp-alert-success-text: #155724;
    --lc-comp-alert-warning-bg: #fff3cd;
    --lc-comp-alert-warning-border: #ffc107;
    --lc-comp-alert-warning-text: #856404;
    --lc-comp-input-border: #e0e5ed;
    --lc-comp-label-text: #1a1a2e;
    --lc-comp-hint-text: #9ca3af;
    --lc-comp-btn-danger-bg: #dc2626;
    --lc-comp-tag-badge-bg: #3366cc;
    --lc-comp-tag-badge-hover-bg: #2952a3;
    --lc-comp-vote-up-active: #ef4444;
    --lc-comp-vote-up-hover-bg: #fef2f2;
    --lc-comp-reply-lock-bg: #fef3c7;
    --lc-comp-reply-lock-border: #f59e0b;
    --lc-comp-pagination-active-bg: #3366cc;
    --lc-comp-swatch-border: #e0e5ed;
    --lc-comp-preview-border: #e0e5ed;
    --lc-comp-overlay-bg: rgba(0, 0, 0, 0.85);
}

html[data-scheme="sky"] {
    /* 主色 */
    --lc-primary: #0ea5e9;
    --lc-primary-hover: #0284c7;
    --lc-primary-light: #f0f9ff;
    --lc-primary-subtle: #f3faff;

    /* 背景 */
    --lc-bg: #ffffff;
    --lc-bg-body: #eef6fc;
    --lc-bg-card: #ffffff;
    --lc-bg-nav: #0284c7;
    --lc-bg-sidebar: #ffffff;
    --lc-bg-row-hover: #f0f9ff;
    --lc-bg-input: #ffffff;
    --lc-bg-tag: #f0f9ff;

    /* 文字 */
    --lc-text: #1a1a2e;
    --lc-text-secondary: #5f7282;
    --lc-text-muted: #9ca3af;
    --lc-text-inverse: #ffffff;
    --lc-text-link: #0ea5e9;
    --lc-text-nav: #ffffff;
    --lc-text-nav-hover: #ffffff;
    --lc-bg-nav-hover: rgba(255, 255, 255, 0.12);

    /* 边框 */
    --lc-border: #d8e6f2;
    --lc-border-light: #e3eef8;
    --lc-divider: #e8f1f9;

    /* 语义色 */
    --lc-success: #22c55e;
    --lc-error: #ef4444;
    --lc-warning: #f59e0b;

    /* 标签 */
    --lc-tag-bg: #f0f9ff;
    --lc-tag-text: #0284c7;
    --lc-tag-hot-bg: #e0f2fe;
    --lc-tag-hot-text: #0284c7;
    --lc-tag-elite-bg: #fefce8;
    --lc-tag-elite-text: #a16207;

    /* 白字（主色底/深色底上的文字） */
    --lc-text-white: #ffffff;

    /* 标签-警告 */
    --lc-tag-warning-bg: #fef3c7;
    --lc-tag-warning-text: #d97706;

    /* 提示框 */
    --lc-alert-success-bg: #f0fdf4;
    --lc-alert-success-text: #16a34a;
    --lc-alert-success-border: #bbf7d0;
    --lc-alert-error-bg: #fef2f2;
    --lc-alert-error-text: #dc2626;
    --lc-alert-error-border: #fecaca;

    /* 正文内容（帖子/博客正文、表格） */
    --lc-content-text: #3d5a6b;
    --lc-content-border: #d8e6f2;

    /* 代码块（白天浅色：浅蓝底 + 深蓝字） */
    --lc-code-bg: #ecf7fd;
    --lc-code-text: #0369a1;

    /* 杂项 */
    --lc-bg-theme-badge: rgba(14, 165, 233, 0.14);
    --lc-bg-strength-track: #dff0f9;

    /* 阴影 */
    --lc-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
    --lc-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    --lc-shadow-dropdown: 0 4px 16px rgba(14, 165, 233, 0.12);
    --lc-shadow-dropdown-up: 0 -4px 16px rgba(14, 165, 233, 0.12);
    --lc-shadow-mobile-nav: 0 -2px 8px rgba(0, 0, 0, 0.05);
    --lc-shadow-primary-glow: 0 2px 8px rgba(14, 165, 233, 0.35);
    --lc-shadow-float: 0 2px 8px rgba(0, 0, 0, 0.12);

    /* 旧版通用变量（兼容 style.css / editor.css / 插件 CSS）：统一指向 --lc-* */
    --primary-color: var(--lc-primary);
    --primary-hover: var(--lc-primary-hover);
    --bg-light: var(--lc-primary-subtle);
    --bg-white: var(--lc-bg-card);
    --border-color: var(--lc-border);
    --text-dark: var(--lc-text);
    --text-muted: var(--lc-text-muted);
    --success-color: var(--lc-success);

    /* 编辑器（WYSIWYG / Markdown） */
    --lc-editor-toolbar-bg: #f2f8fd;
    --lc-editor-tab-hover-bg: rgba(14, 165, 233, 0.06);
    --lc-editor-btn-text: #5f7282;
    --lc-editor-btn-hover-bg: #f0f9ff;
    --lc-editor-btn-hover-text: #0284c7;
    --lc-editor-btn-press-bg: #dceefb;
    --lc-editor-separator-bg: #c5dcee;
    --lc-editor-placeholder-text: #a3bed0;
    --lc-editor-quote-bg: #f3faff;
    --lc-editor-quote-text: #5f7282;
    --lc-editor-quote-bg-2: #f2f8fd;
    --lc-editor-quote-text-2: #5f7282;
    --lc-editor-code-inline-bg: #f0f9ff;
    --lc-editor-code-inline-text: #0ea5e9;
    --lc-editor-table-border: #d8e6f2;
    --lc-editor-table-th-bg: #f3faff;
    --lc-editor-emoji-border: #d8e6f2;
    --lc-editor-emoji-hover-bg: #f0f9ff;
    --lc-editor-btn-highlight-bg: #dceefb;
    --lc-editor-btn-highlight-text: #0ea5e9;
    --lc-editor-btn-highlight-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
    --lc-editor-word-count-text: #9ca3af;

    /* 旧组件（components.css） */
    --lc-comp-tag-hot-bg: #f0f9ff;
    --lc-comp-tag-hot-text: #0ea5e9;
    --lc-comp-tag-danger-bg: #fce4ec;
    --lc-comp-tag-danger-text: #be185d;
    --lc-comp-alert-error-bg: #fee;
    --lc-comp-alert-error-border: #f00;
    --lc-comp-alert-error-text: #c00;
    --lc-comp-alert-success-bg: #d4edda;
    --lc-comp-alert-success-border: #28a745;
    --lc-comp-alert-success-text: #155724;
    --lc-comp-alert-warning-bg: #fff3cd;
    --lc-comp-alert-warning-border: #ffc107;
    --lc-comp-alert-warning-text: #856404;
    --lc-comp-input-border: #d8e6f2;
    --lc-comp-label-text: #1a1a2e;
    --lc-comp-hint-text: #9ca3af;
    --lc-comp-btn-danger-bg: #0ea5e9;
    --lc-comp-tag-badge-bg: #0ea5e9;
    --lc-comp-tag-badge-hover-bg: #0284c7;
    --lc-comp-vote-up-active: #38bdf8;
    --lc-comp-vote-up-hover-bg: #f0f9ff;
    --lc-comp-reply-lock-bg: #fef3c7;
    --lc-comp-reply-lock-border: #f59e0b;
    --lc-comp-pagination-active-bg: #0ea5e9;
    --lc-comp-swatch-border: #d8e6f2;
    --lc-comp-preview-border: #d8e6f2;
    --lc-comp-overlay-bg: rgba(0, 0, 0, 0.85);
}

html[data-scheme="orange"] {
    /* 主色 */
    --lc-primary: #e7672e;
    --lc-primary-hover: #d05a1b;
    --lc-primary-light: #fef3ec;
    --lc-primary-subtle: #fdf5ee;

    /* 背景 */
    --lc-bg: #ffffff;
    --lc-bg-body: #faf3ec;
    --lc-bg-card: #ffffff;
    --lc-bg-nav: #d84707;
    --lc-bg-sidebar: #ffffff;
    --lc-bg-row-hover: #fef3ec;
    --lc-bg-input: #ffffff;
    --lc-bg-tag: #fef3ec;

    /* 文字 */
    --lc-text: #1a1a2e;
    --lc-text-secondary: #716158;
    --lc-text-muted: #9ca3af;
    --lc-text-inverse: #ffffff;
    --lc-text-link: #e7672e;
    --lc-text-nav: #ffffff;
    --lc-text-nav-hover: #ffffff;
    --lc-bg-nav-hover: rgba(255, 255, 255, 0.12);

    /* 边框 */
    --lc-border: #eaded6;
    --lc-border-light: #f2e9e1;
    --lc-divider: #f4ece5;

    /* 语义色 */
    --lc-success: #22c55e;
    --lc-error: #ef4444;
    --lc-warning: #f59e0b;

    /* 标签 */
    --lc-tag-bg: #fef3ec;
    --lc-tag-text: #e7672e;
    --lc-tag-hot-bg: #fef3ec;
    --lc-tag-hot-text: #e7672e;
    --lc-tag-elite-bg: #fefce8;
    --lc-tag-elite-text: #a16207;

    /* 白字（主色底/深色底上的文字） */
    --lc-text-white: #ffffff;

    /* 标签-警告 */
    --lc-tag-warning-bg: #fef3c7;
    --lc-tag-warning-text: #d97706;

    /* 提示框 */
    --lc-alert-success-bg: #f0fdf4;
    --lc-alert-success-text: #16a34a;
    --lc-alert-success-border: #bbf7d0;
    --lc-alert-error-bg: #fef2ec;
    --lc-alert-error-text: #c2410c;
    --lc-alert-error-border: #fcd7c0;

    /* 正文内容（帖子/博客正文、表格） */
    --lc-content-text: #5a3d2a;
    --lc-content-border: #eaded6;

    /* 代码块（白天浅色：浅橙底 + 深橙字） */
    --lc-code-bg: #fef2ea;
    --lc-code-text: #c2410c;

    /* 杂项 */
    --lc-bg-theme-badge: rgba(231, 103, 46, 0.14);
    --lc-bg-strength-track: #f8e4d6;

    /* 阴影 */
    --lc-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
    --lc-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    --lc-shadow-dropdown: 0 4px 16px rgba(231, 103, 46, 0.12);
    --lc-shadow-dropdown-up: 0 -4px 16px rgba(231, 103, 46, 0.12);
    --lc-shadow-mobile-nav: 0 -2px 8px rgba(0, 0, 0, 0.05);
    --lc-shadow-primary-glow: 0 2px 8px rgba(231, 103, 46, 0.35);
    --lc-shadow-float: 0 2px 8px rgba(0, 0, 0, 0.12);

    /* 旧版通用变量（兼容 style.css / editor.css / 插件 CSS）：统一指向 --lc-* */
    --primary-color: var(--lc-primary);
    --primary-hover: var(--lc-primary-hover);
    --bg-light: var(--lc-primary-subtle);
    --bg-white: var(--lc-bg-card);
    --border-color: var(--lc-border);
    --text-dark: var(--lc-text);
    --text-muted: var(--lc-text-muted);
    --success-color: var(--lc-success);

    /* 编辑器（WYSIWYG / Markdown） */
    --lc-editor-toolbar-bg: #fdf7f1;
    --lc-editor-tab-hover-bg: rgba(231, 103, 46, 0.06);
    --lc-editor-btn-text: #716158;
    --lc-editor-btn-hover-bg: #fef3ec;
    --lc-editor-btn-hover-text: #d05a1b;
    --lc-editor-btn-press-bg: #fbe3d3;
    --lc-editor-separator-bg: #ead2c0;
    --lc-editor-placeholder-text: #c9a892;
    --lc-editor-quote-bg: #fdf5ee;
    --lc-editor-quote-text: #716158;
    --lc-editor-quote-bg-2: #fdf7f1;
    --lc-editor-quote-text-2: #716158;
    --lc-editor-code-inline-bg: #fef3ec;
    --lc-editor-code-inline-text: #e7672e;
    --lc-editor-table-border: #eaded6;
    --lc-editor-table-th-bg: #fdf5ee;
    --lc-editor-emoji-border: #eaded6;
    --lc-editor-emoji-hover-bg: #fef3ec;
    --lc-editor-btn-highlight-bg: #fbe3d3;
    --lc-editor-btn-highlight-text: #e7672e;
    --lc-editor-btn-highlight-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
    --lc-editor-word-count-text: #9ca3af;

    /* 旧组件（components.css） */
    --lc-comp-tag-hot-bg: #fef3ec;
    --lc-comp-tag-hot-text: #e7672e;
    --lc-comp-tag-danger-bg: #fce4ec;
    --lc-comp-tag-danger-text: #be185d;
    --lc-comp-alert-error-bg: #fee;
    --lc-comp-alert-error-border: #f00;
    --lc-comp-alert-error-text: #c00;
    --lc-comp-alert-success-bg: #d4edda;
    --lc-comp-alert-success-border: #28a745;
    --lc-comp-alert-success-text: #155724;
    --lc-comp-alert-warning-bg: #fff3cd;
    --lc-comp-alert-warning-border: #ffc107;
    --lc-comp-alert-warning-text: #856404;
    --lc-comp-input-border: #eaded6;
    --lc-comp-label-text: #1a1a2e;
    --lc-comp-hint-text: #9ca3af;
    --lc-comp-btn-danger-bg: #e7672e;
    --lc-comp-tag-badge-bg: #e7672e;
    --lc-comp-tag-badge-hover-bg: #d05a1b;
    --lc-comp-vote-up-active: #ef4444;
    --lc-comp-vote-up-hover-bg: #fef3ec;
    --lc-comp-reply-lock-bg: #fef3c7;
    --lc-comp-reply-lock-border: #f59e0b;
    --lc-comp-pagination-active-bg: #e7672e;
    --lc-comp-swatch-border: #eaded6;
    --lc-comp-preview-border: #eaded6;
    --lc-comp-overlay-bg: rgba(0, 0, 0, 0.85);
}

html[data-scheme="red"] {
    /* 主色 */
    --lc-primary: #dc2626;
    --lc-primary-hover: #b91c1c;
    --lc-primary-light: #fef2f2;
    --lc-primary-subtle: #fef5f5;

    /* 背景 */
    --lc-bg: #ffffff;
    --lc-bg-body: #f8f2f2;
    --lc-bg-card: #ffffff;
    --lc-bg-nav: #7f1d1d;
    --lc-bg-sidebar: #ffffff;
    --lc-bg-row-hover: #fef2f2;
    --lc-bg-input: #ffffff;
    --lc-bg-tag: #fef2f2;

    /* 文字 */
    --lc-text: #1a1a2e;
    --lc-text-secondary: #6b5b5b;
    --lc-text-muted: #9ca3af;
    --lc-text-inverse: #ffffff;
    --lc-text-link: #dc2626;
    --lc-text-nav: #f5d0d0;
    --lc-text-nav-hover: #ffffff;
    --lc-bg-nav-hover: rgba(255, 255, 255, 0.12);

    /* 边框 */
    --lc-border: #e8e0e0;
    --lc-border-light: #f0eaea;
    --lc-divider: #f3eeee;

    /* 语义色 */
    --lc-success: #22c55e;
    --lc-error: #ef4444;
    --lc-warning: #f59e0b;

    /* 标签 */
    --lc-tag-bg: #fef2f2;
    --lc-tag-text: #dc2626;
    --lc-tag-hot-bg: #fef2f2;
    --lc-tag-hot-text: #dc2626;
    --lc-tag-elite-bg: #fefce8;
    --lc-tag-elite-text: #a16207;

    /* 白字（主色底/深色底上的文字） */
    --lc-text-white: #ffffff;

    /* 标签-警告 */
    --lc-tag-warning-bg: #fef3c7;
    --lc-tag-warning-text: #d97706;

    /* 提示框 */
    --lc-alert-success-bg: #f0fdf4;
    --lc-alert-success-text: #16a34a;
    --lc-alert-success-border: #bbf7d0;
    --lc-alert-error-bg: #fef2f2;
    --lc-alert-error-text: #dc2626;
    --lc-alert-error-border: #fecaca;

    /* 正文内容（帖子/博客正文、表格） */
    --lc-content-text: #4a2f2f;
    --lc-content-border: #e8e0e0;

    /* 代码块（白天浅色：浅红底 + 深红字） */
    --lc-code-bg: #fdf1f1;
    --lc-code-text: #991b1b;

    /* 杂项 */
    --lc-bg-theme-badge: rgba(220, 38, 38, 0.14);
    --lc-bg-strength-track: #f7e3e3;

    /* 阴影 */
    --lc-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
    --lc-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    --lc-shadow-dropdown: 0 4px 16px rgba(220, 38, 38, 0.12);
    --lc-shadow-dropdown-up: 0 -4px 16px rgba(220, 38, 38, 0.12);
    --lc-shadow-mobile-nav: 0 -2px 8px rgba(0, 0, 0, 0.05);
    --lc-shadow-primary-glow: 0 2px 8px rgba(220, 38, 38, 0.35);
    --lc-shadow-float: 0 2px 8px rgba(0, 0, 0, 0.12);

    /* 旧版通用变量（兼容 style.css / editor.css / 插件 CSS）：统一指向 --lc-* */
    --primary-color: var(--lc-primary);
    --primary-hover: var(--lc-primary-hover);
    --bg-light: var(--lc-primary-subtle);
    --bg-white: var(--lc-bg-card);
    --border-color: var(--lc-border);
    --text-dark: var(--lc-text);
    --text-muted: var(--lc-text-muted);
    --success-color: var(--lc-success);

    /* 编辑器（WYSIWYG / Markdown） */
    --lc-editor-toolbar-bg: #fdf8f8;
    --lc-editor-tab-hover-bg: rgba(220, 38, 38, 0.06);
    --lc-editor-btn-text: #6b5b5b;
    --lc-editor-btn-hover-bg: #fef2f2;
    --lc-editor-btn-hover-text: #b91c1c;
    --lc-editor-btn-press-bg: #fbe0e0;
    --lc-editor-separator-bg: #e8c8c8;
    --lc-editor-placeholder-text: #c4a8a8;
    --lc-editor-quote-bg: #fef5f5;
    --lc-editor-quote-text: #6b5b5b;
    --lc-editor-quote-bg-2: #fdf8f8;
    --lc-editor-quote-text-2: #6b5b5b;
    --lc-editor-code-inline-bg: #fef2f2;
    --lc-editor-code-inline-text: #dc2626;
    --lc-editor-table-border: #e8e0e0;
    --lc-editor-table-th-bg: #fef5f5;
    --lc-editor-emoji-border: #e8e0e0;
    --lc-editor-emoji-hover-bg: #fef2f2;
    --lc-editor-btn-highlight-bg: #fbe0e0;
    --lc-editor-btn-highlight-text: #dc2626;
    --lc-editor-btn-highlight-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
    --lc-editor-word-count-text: #9ca3af;

    /* 旧组件（components.css） */
    --lc-comp-tag-hot-bg: #fef2f2;
    --lc-comp-tag-hot-text: #dc2626;
    --lc-comp-tag-danger-bg: #fce4ec;
    --lc-comp-tag-danger-text: #be185d;
    --lc-comp-alert-error-bg: #fee;
    --lc-comp-alert-error-border: #f00;
    --lc-comp-alert-error-text: #c00;
    --lc-comp-alert-success-bg: #d4edda;
    --lc-comp-alert-success-border: #28a745;
    --lc-comp-alert-success-text: #155724;
    --lc-comp-alert-warning-bg: #fff3cd;
    --lc-comp-alert-warning-border: #ffc107;
    --lc-comp-alert-warning-text: #856404;
    --lc-comp-input-border: #e8e0e0;
    --lc-comp-label-text: #1a1a2e;
    --lc-comp-hint-text: #9ca3af;
    --lc-comp-btn-danger-bg: #dc2626;
    --lc-comp-tag-badge-bg: #dc2626;
    --lc-comp-tag-badge-hover-bg: #b91c1c;
    --lc-comp-vote-up-active: #ef4444;
    --lc-comp-vote-up-hover-bg: #fef2f2;
    --lc-comp-reply-lock-bg: #fef3c7;
    --lc-comp-reply-lock-border: #f59e0b;
    --lc-comp-pagination-active-bg: #dc2626;
    --lc-comp-swatch-border: #e8e0e0;
    --lc-comp-preview-border: #e8e0e0;
    --lc-comp-overlay-bg: rgba(0, 0, 0, 0.85);
}

html[data-scheme="pink"] {
    --lc-primary: #ec4899;
    --lc-primary-hover: #db2777;
    --lc-primary-light: #fdeef7;
    --lc-primary-subtle: #fdf2f8;
    --lc-shadow-primary-glow: 0 2px 8px rgba(236, 72, 153, .3);
}

html[data-scheme="violet"] {
    /* 主色 */
    --lc-primary: #7c3aed;
    --lc-primary-hover: #6d28d9;
    --lc-primary-light: #f3e8ff;
    --lc-primary-subtle: #f5f0ff;

    /* 背景 */
    --lc-bg: #ffffff;
    --lc-bg-body: #f6f5f8;
    --lc-bg-card: #ffffff;
    --lc-bg-nav: #2d1b69;
    --lc-bg-sidebar: #ffffff;
    --lc-bg-row-hover: #f5f0ff;
    --lc-bg-input: #ffffff;
    --lc-bg-tag: #f3e8ff;

    /* 文字 */
    --lc-text: #1a1a2e;
    --lc-text-secondary: #5b5b6e;
    --lc-text-muted: #9ca3af;
    --lc-text-inverse: #ffffff;
    --lc-text-link: #7c3aed;
    --lc-text-nav: #e2d9f5;
    --lc-text-nav-hover: #ffffff;
    --lc-bg-nav-hover: rgba(255, 255, 255, 0.12);

    /* 边框 */
    --lc-border: #e4e0ed;
    --lc-border-light: #efeaf5;
    --lc-divider: #f0ecf5;

    /* 语义色 */
    --lc-success: #22c55e;
    --lc-error: #ef4444;
    --lc-warning: #f59e0b;

    /* 标签 */
    --lc-tag-bg: #f3e8ff;
    --lc-tag-text: #7c3aed;
    --lc-tag-hot-bg: #fef2f2;
    --lc-tag-hot-text: #dc2626;
    --lc-tag-elite-bg: #fefce8;
    --lc-tag-elite-text: #a16207;

    /* 白字（主色底/深色底上的文字） */
    --lc-text-white: #ffffff;

    /* 标签-警告 */
    --lc-tag-warning-bg: #fef3c7;
    --lc-tag-warning-text: #d97706;

    /* 提示框 */
    --lc-alert-success-bg: #f0fdf4;
    --lc-alert-success-text: #16a34a;
    --lc-alert-success-border: #bbf7d0;
    --lc-alert-error-bg: #fef2f2;
    --lc-alert-error-text: #dc2626;
    --lc-alert-error-border: #fecaca;

    /* 正文内容（帖子/博客正文、表格） */
    --lc-content-text: #3d3d52;
    --lc-content-border: #e4e0ed;

    /* 代码块（白天浅色：浅紫灰底 + 深紫字） */
    --lc-code-bg: #f4f1fa;
    --lc-code-text: #5b21b6;

    /* 杂项 */
    --lc-bg-theme-badge: rgba(124, 58, 237, 0.14);
    --lc-bg-strength-track: #ede9fe;

    /* 阴影 */
    --lc-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
    --lc-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    --lc-shadow-dropdown: 0 4px 16px rgba(124, 58, 237, 0.12);
    --lc-shadow-dropdown-up: 0 -4px 16px rgba(124, 58, 237, 0.12);
    --lc-shadow-mobile-nav: 0 -2px 8px rgba(0, 0, 0, 0.05);
    --lc-shadow-primary-glow: 0 2px 8px rgba(124, 58, 237, 0.35);
    --lc-shadow-float: 0 2px 8px rgba(0, 0, 0, 0.12);

    /* 旧版通用变量（兼容 style.css / editor.css / 插件 CSS）：统一指向 --lc-* */
    --primary-color: var(--lc-primary);
    --primary-hover: var(--lc-primary-hover);
    --bg-light: var(--lc-primary-subtle);
    --bg-white: var(--lc-bg-card);
    --border-color: var(--lc-border);
    --text-dark: var(--lc-text);
    --text-muted: var(--lc-text-muted);
    --success-color: var(--lc-success);

    /* 编辑器（WYSIWYG / Markdown） */
    --lc-editor-toolbar-bg: #faf8fd;
    --lc-editor-tab-hover-bg: rgba(124, 58, 237, 0.06);
    --lc-editor-btn-text: #5b5b6e;
    --lc-editor-btn-hover-bg: #f3e8ff;
    --lc-editor-btn-hover-text: #6d28d9;
    --lc-editor-btn-press-bg: #ede9fe;
    --lc-editor-separator-bg: #d8cce8;
    --lc-editor-placeholder-text: #b8a8d0;
    --lc-editor-quote-bg: #f5f0ff;
    --lc-editor-quote-text: #5b5b6e;
    --lc-editor-quote-bg-2: #faf8fd;
    --lc-editor-quote-text-2: #5b5b6e;
    --lc-editor-code-inline-bg: #f3e8ff;
    --lc-editor-code-inline-text: #9333ea;
    --lc-editor-table-border: #e4e0ed;
    --lc-editor-table-th-bg: #f5f0ff;
    --lc-editor-emoji-border: #e4e0ed;
    --lc-editor-emoji-hover-bg: #f3e8ff;
    --lc-editor-btn-highlight-bg: #ede9fe;
    --lc-editor-btn-highlight-text: #7c3aed;
    --lc-editor-btn-highlight-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
    --lc-editor-word-count-text: #9ca3af;

    /* 旧组件（components.css） */
    --lc-comp-tag-hot-bg: #fef2f2;
    --lc-comp-tag-hot-text: #dc2626;
    --lc-comp-tag-danger-bg: #fce4ec;
    --lc-comp-tag-danger-text: #be185d;
    --lc-comp-alert-error-bg: #fee;
    --lc-comp-alert-error-border: #f00;
    --lc-comp-alert-error-text: #c00;
    --lc-comp-alert-success-bg: #d4edda;
    --lc-comp-alert-success-border: #28a745;
    --lc-comp-alert-success-text: #155724;
    --lc-comp-alert-warning-bg: #fff3cd;
    --lc-comp-alert-warning-border: #ffc107;
    --lc-comp-alert-warning-text: #856404;
    --lc-comp-input-border: #e4e0ed;
    --lc-comp-label-text: #1a1a2e;
    --lc-comp-hint-text: #9ca3af;
    --lc-comp-btn-danger-bg: #dc2626;
    --lc-comp-tag-badge-bg: #7c3aed;
    --lc-comp-tag-badge-hover-bg: #6d28d9;
    --lc-comp-vote-up-active: #ef4444;
    --lc-comp-vote-up-hover-bg: #fef2f2;
    --lc-comp-reply-lock-bg: #fef3c7;
    --lc-comp-reply-lock-border: #f59e0b;
    --lc-comp-pagination-active-bg: #7c3aed;
    --lc-comp-swatch-border: #e4e0ed;
    --lc-comp-preview-border: #e4e0ed;
    --lc-comp-overlay-bg: rgba(0, 0, 0, 0.85);
}

html[data-scheme="teal"] {
    --lc-primary: #14b8a6;
    --lc-primary-hover: #0d9488;
    --lc-primary-light: #e6fffb;
    --lc-primary-subtle: #ecfdf9;
    --lc-shadow-primary-glow: 0 2px 8px rgba(20, 184, 166, .3);
}

/* ====== 站点宽度（外观设置） ====== */
html[data-width="1200"] {
    --lc-site-width: 1200px;
}

html[data-width="1000"] {
    --lc-site-width: 1000px;
}

html[data-width="full"] {
    --lc-site-width: 100%;
}

/* ====== 字号（外观设置） ======
   主题尺寸以 px 编写，使用 zoom 整体缩放以匹配「紧凑 / 标准 / 舒适」预设 */
html[data-fontsize="compact"] {
    zoom: 0.92;
}

html[data-fontsize="comfortable"] {
    zoom: 1.08;
}

/* ====== 暗色模式 ======
   覆盖背景 / 文字 / 边框等中性变量；主色仍由 html[data-scheme] 提供，
   因此暗色与任意色系可自由组合。本段必须位于色系覆盖之后。 */
html[data-theme="dark"] {
    /* 主色浅底改为半透明，避免暗色下出现亮色块 */
    --lc-primary-light: #3b3f6b;
    --lc-primary-light: color-mix(in srgb, var(--lc-primary) 20%, transparent);
    --lc-primary-subtle: #2b3054;
    --lc-primary-subtle: color-mix(in srgb, var(--lc-primary) 12%, transparent);

    /* 背景 */
    --lc-bg: #111c31;
    --lc-bg-body: #0f172a;
    --lc-bg-card: #1e293b;
    --lc-bg-nav: #1e293b;
    --lc-bg-sidebar: #16203a;
    --lc-bg-row-hover: #263449;
    --lc-bg-input: #16203a;
    --lc-bg-tag: #263449;

    /* 文字 */
    --lc-text: #e2e8f0;
    --lc-text-secondary: #94a3b8;
    --lc-text-muted: #64748b;
    --lc-text-inverse: #ffffff;
    --lc-text-link: #818cf8;
    --lc-text-nav: #cbd5e1;
    --lc-text-nav-hover: #ffffff;
    --lc-bg-nav-hover: rgba(255, 255, 255, 0.12);

    /* 边框 */
    --lc-border: #2c3a4f;
    --lc-border-light: #243145;
    --lc-divider: #243145;

    /* 语义色 */
    --lc-success: #4ade80;
    --lc-error: #f87171;
    --lc-warning: #fbbf24;

    /* 白字（主色底/深色底上的文字） */
    --lc-text-white: #ffffff;

    /* 标签-警告 */
    --lc-tag-warning-bg: #3d3419;
    --lc-tag-warning-text: #fbbf24;

    /* 标签 */
    --lc-tag-bg: #263449;
    --lc-tag-text: #818cf8;
    --lc-tag-hot-bg: #3b1f24;
    --lc-tag-hot-text: #fca5a5;
    --lc-tag-elite-bg: #3a3320;
    --lc-tag-elite-text: #fcd34d;

    /* 提示框 */
    --lc-alert-success-bg: #12291a;
    --lc-alert-success-text: #4ade80;
    --lc-alert-success-border: #1f4030;
    --lc-alert-error-bg: #2c1416;
    --lc-alert-error-text: #f87171;
    --lc-alert-error-border: #4a2326;

    /* 正文内容（帖子/博客正文、表格） */
    --lc-content-text: #cbd5e1;
    --lc-content-border: #334155;

    /* 代码块 */
    --lc-code-bg: #0d1117;
    --lc-code-text: #cdd6f4;

    /* 杂项 */
    --lc-bg-theme-badge: rgba(255, 255, 255, 0.14);
    --lc-bg-strength-track: #334155;

    /* 阴影 */
    --lc-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
    --lc-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
    --lc-shadow-dropdown: 0 4px 16px rgba(0, 0, 0, 0.45);
    --lc-shadow-dropdown-up: 0 -4px 16px rgba(0, 0, 0, 0.45);
    --lc-shadow-mobile-nav: 0 -2px 8px rgba(0, 0, 0, 0.4);
    --lc-shadow-primary-glow: 0 2px 8px rgba(99, 102, 241, 0.45);
    --lc-shadow-float: 0 2px 8px rgba(0, 0, 0, 0.5);

    /* 编辑器 */
    --lc-editor-toolbar-bg: #111c31;
    --lc-editor-tab-hover-bg: rgba(255, 255, 255, 0.06);
    --lc-editor-btn-text: #cbd5e1;
    --lc-editor-btn-hover-bg: #263449;
    --lc-editor-btn-hover-text: #f1f5f9;
    --lc-editor-btn-press-bg: #2c3a4f;
    --lc-editor-separator-bg: #334155;
    --lc-editor-placeholder-text: #64748b;
    --lc-editor-quote-bg: #16203a;
    --lc-editor-quote-text: #94a3b8;
    --lc-editor-quote-bg-2: #16203a;
    --lc-editor-quote-text-2: #94a3b8;
    --lc-editor-code-inline-bg: #263449;
    --lc-editor-code-inline-text: #fca5a5;
    --lc-editor-table-border: #334155;
    --lc-editor-table-th-bg: #263449;
    --lc-editor-emoji-border: #2c3a4f;
    --lc-editor-emoji-hover-bg: #263449;
    --lc-editor-btn-highlight-bg: #2c3a4f;
    --lc-editor-btn-highlight-text: #818cf8;
    --lc-editor-btn-highlight-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3);
    --lc-editor-word-count-text: #64748b;

    /* 旧组件 */
    --lc-comp-tag-hot-bg: #3d3419;
    --lc-comp-tag-hot-text: #fbbf24;
    --lc-comp-tag-danger-bg: #3b1f24;
    --lc-comp-tag-danger-text: #fca5a5;
    --lc-comp-alert-error-bg: #2c1416;
    --lc-comp-alert-error-border: #4a2326;
    --lc-comp-alert-error-text: #f87171;
    --lc-comp-alert-success-bg: #12291a;
    --lc-comp-alert-success-border: #1f4030;
    --lc-comp-alert-success-text: #4ade80;
    --lc-comp-alert-warning-bg: #33291a;
    --lc-comp-alert-warning-border: #4a3a1f;
    --lc-comp-alert-warning-text: #fbbf24;
    --lc-comp-input-border: #334155;
    --lc-comp-label-text: #e2e8f0;
    --lc-comp-hint-text: #64748b;
    --lc-comp-btn-danger-bg: #b91c1c;
    --lc-comp-tag-badge-bg: #6366f1;
    --lc-comp-tag-badge-hover-bg: #4f46e5;
    --lc-comp-vote-up-active: #f87171;
    --lc-comp-vote-up-hover-bg: #3b1f24;
    --lc-comp-reply-lock-bg: #3d3419;
    --lc-comp-reply-lock-border: #b45309;
    --lc-comp-pagination-active-bg: #6366f1;
    --lc-comp-swatch-border: #334155;
    --lc-comp-preview-border: #2c3a4f;
    --lc-comp-overlay-bg: rgba(0, 0, 0, 0.85);
}

/* ====== 看图（图片灯箱） ====== */
.post-text-content img,
.markdown img,
.lc-excerpt-thumb {
    cursor: zoom-in;
}

body.lcbk-lightbox-open {
    overflow: hidden;
}

.lcbk-lightbox {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 40px;
    background: var(--lc-lightbox-bg);
}

.lcbk-lightbox.show {
    display: flex;
}

.lcbk-lightbox-img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 6px;
}

.lcbk-lightbox-close,
.lcbk-lightbox-prev,
.lcbk-lightbox-next {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 50%;
    color: var(--lc-lightbox-ctrl-text);
    background: var(--lc-lightbox-ctrl-bg);
    font-family: inherit;
    cursor: pointer;
    transition: background-color .15s;
}

.lcbk-lightbox-close:hover,
.lcbk-lightbox-prev:hover,
.lcbk-lightbox-next:hover {
    background: var(--lc-lightbox-ctrl-hover-bg);
}

.lcbk-lightbox-close {
    top: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    font-size: 24px;
    line-height: 1;
}

.lcbk-lightbox-prev,
.lcbk-lightbox-next {
    top: 50%;
    width: 44px;
    height: 44px;
    font-size: 22px;
    transform: translateY(-50%);
}

.lcbk-lightbox-prev {
    left: 20px;
}

.lcbk-lightbox-next {
    right: 20px;
}

.lcbk-lightbox-counter {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    padding: 4px 12px;
    border-radius: 999px;
    color: var(--lc-lightbox-ctrl-text);
    background: var(--lc-lightbox-ctrl-bg);
    font-size: 13px;
}

@media (max-width: 768px) {
    .lcbk-lightbox {
        padding: 16px;
    }

    .lcbk-lightbox-prev,
    .lcbk-lightbox-next {
        width: 38px;
        height: 38px;
    }

    .lcbk-lightbox-prev {
        left: 8px;
    }

    .lcbk-lightbox-next {
        right: 8px;
    }
}

/* ====== 圆角风格（外观设置） ====== */
html[data-radius="small"] {
    --lc-radius: 4px;
}

html[data-radius="medium"] {
    --lc-radius: 8px;
}

html[data-radius="large"] {
    --lc-radius: 16px;
}

/* 卡片 / 按钮 / 输入框等主要控件跟随圆角风格 */
html[data-radius] .announcement-scroll-wrap,
html[data-radius] .announcement-scroll-item,
html[data-radius] .lc-section,
html[data-radius] .lc-panel,
html[data-radius] .lc-dropdown-panel,
html[data-radius] .lc-search-dialog,
html[data-radius] .lc-search-form,
html[data-radius] .lc-btn,
html[data-radius] .lc-input,
html[data-radius] .form-control,
html[data-radius] .uc-stat-box,
html[data-radius] .uc-article,
html[data-radius] .uc-subtab,
html[data-radius] .uc-subpane,
html[data-radius] .lc-comment-children,
html[data-radius] .lc-comment-avatar,
html[data-radius] .lc-thread-author-avatar,
html[data-radius] .lc-sort-icon,
html[data-radius] .log-cover img,
html[data-radius] .lc-neighbor-item,
html[data-radius] .auth-modal-card {
    border-radius: var(--lc-radius);
}

/* ====== 顶栏搜索 ====== */
.lc-search-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    border: none;
    background: none;
    border-radius: 6px;
    color: var(--lc-text-nav);
    cursor: pointer;
    font-size: 15px;
    transition: color .15s, background-color .15s;
}

.lc-search-trigger:hover {
    background: var(--lc-bg-nav-hover);
    color: var(--lc-text-nav-hover);
}

.lc-search-overlay {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 12vh 16px 16px;
    background: rgba(15, 23, 42, .45);
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
}

html[data-theme="dark"] .lc-search-overlay {
    background: rgba(0, 0, 0, .6);
}

.lc-search-dialog {
    position: relative;
    width: 100%;
    max-width: 560px;
    padding: 18px;
    background: var(--lc-bg-card);
    border: 1px solid var(--lc-border-light);
    border-radius: 12px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .25);
    animation: lcSearchIn .18s ease-out;
}

.lc-search-close {
    position: absolute;
    top: -14px;
    right: -14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 1px solid var(--lc-border-light);
    border-radius: 50%;
    background: var(--lc-bg-card);
    color: var(--lc-text-muted);
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .15);
    transition: color .15s, border-color .15s;
}

.lc-search-close:hover {
    color: var(--lc-text);
    border-color: var(--lc-primary);
}

@keyframes lcSearchIn {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.lc-search-form {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 6px 6px 14px;
    border: 1px solid var(--lc-border);
    border-radius: 10px;
    background: var(--lc-bg-input);
    transition: border-color .15s, box-shadow .15s;
}

.lc-search-form:focus-within {
    border-color: var(--lc-primary);
    box-shadow: 0 0 0 3px var(--lc-primary-subtle);
}

.lc-search-form>i {
    flex-shrink: 0;
    color: var(--lc-text-muted);
    font-size: 18px;
}

.lc-search-form input[type="search"] {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    outline: none;
    font-family: inherit;
    font-size: 15px;
    color: var(--lc-text);
}

.lc-search-form input[type="search"]::placeholder {
    color: var(--lc-text-muted);
}

.lc-search-form .lc-btn {
    flex-shrink: 0;
}

.lc-search-hint {
    margin-top: 10px;
    font-size: 12px;
    color: var(--lc-text-muted);
    text-align: center;
}


/* ====== 评论区优化 ====== */
.lc-comment {
    transition: background-color .15s;
}

.lc-comment-list>.lc-comment:hover {
    background: var(--lc-bg-body);
}

/* 操作按钮：胶囊悬停，增强可点感知 */
.lc-comment-foot {
    flex-wrap: wrap;
    row-gap: 6px;
}

.lc-comment-action {
    padding: 3px 9px;
    border-radius: 999px;
    transition: color .15s, background-color .15s;
}

.lc-comment-action:hover {
    background: var(--lc-bg-body);
    color: var(--lc-primary);
}

.lc-comment-toggle {
    color: var(--lc-text-secondary);
    font-weight: 500;
}

.lc-comment-toggle:hover {
    background: var(--lc-primary-subtle);
    color: var(--lc-primary);
}

.lc-comment-toggle[aria-expanded="true"] .lc-comment-caret {
    transform: rotate(0);
}

.lc-comment-toggle[aria-expanded="false"] .lc-comment-caret {
    transform: rotate(-90deg);
}

/* 子评论：缩进气泡面板，主色左描边，与主楼层区分 */
.lc-comment-children {
    margin: 0 20px 12px;
    padding: 0 16px;
    border-left: 3px solid var(--lc-primary);
    background: var(--lc-bg-body);
    border-radius: 8px;
}

.lc-comment-children .lc-comment-children {
    margin: 0 0 10px;
    padding: 0 14px;
}

.lc-comment-children>.lc-comment:last-child .lc-comment-user-bar,
.lc-comment-children>.lc-comment:last-child .lc-comment-body {
    border-bottom: none;
}

.lc-comment-child .lc-comment-user-bar {
    border-bottom: none;
    padding-bottom: 4px;
}

.lc-comment-child .lc-comment-body {
    padding-top: 4px;
}

.lc-comment-child .lc-comment-content {
    font-size: 13.5px;
}

.lc-comment-child .lc-comment-name {
    font-size: 13px;
}

/* ====== 列表页：滚动公告 ====== */
.announcement-scroll-wrap {
    margin-bottom: 16px;
    border-radius: 8px;
    overflow: hidden;
}

.announcement-scroll-inner {
    position: relative;
}

.announcement-scroll-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border: 1px solid var(--lc-ann-border, #eab308);
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.6;
    background: var(--lc-ann-bg, #fefce8);
    color: var(--lc-ann-text, #713f12);
    animation: ann-scroll-fade .4s ease;
}

.announcement-link {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.ann-style-yellow {
    --lc-ann-bg: #fff8e1;
    --lc-ann-border: #ffe082;
    --lc-ann-text: #856404;
}

.ann-style-red {
    --lc-ann-bg: #ffebee;
    --lc-ann-border: #ef9a9a;
    --lc-ann-text: #b71c1c;
}

.ann-style-gray {
    --lc-ann-bg: #f5f5f5;
    --lc-ann-border: #ccc;
    --lc-ann-text: #555;
}

.ann-style-bluegray {
    --lc-ann-bg: #eceff1;
    --lc-ann-border: #b0bec5;
    --lc-ann-text: #37474f;
}

.ann-style-blue {
    --lc-ann-bg: #e3f2fd;
    --lc-ann-border: #90caf9;
    --lc-ann-text: #0d47a1;
}

.ann-style-green {
    --lc-ann-bg: #e8f5e9;
    --lc-ann-border: #a5d6a7;
    --lc-ann-text: #1b5e20;
}

/* ====== 整页骨架屏：加载期间显示占位，window.load 后显示真实内容 ====== */
.lc-skeleton-host {
    display: none;
}

html.lc-page-loading .lc-skeleton-host {
    display: block;
}

/* 卡片首个子元素为骨架时，隐藏其后的真实内容 */
html.lc-page-loading .lc-skeleton-host~* {
    display: none !important;
}

.lc-skeleton {
    padding: 0;
}

.lc-skeleton--article,
.lc-skeleton--comments,
.lc-skeleton--form {
    padding: 16px 20px;
}

.lc-skel-row {
    padding: 10px 20px;
    border-bottom: 1px solid var(--lc-border-light);
}

.lc-skel-row:last-child {
    border-bottom: none;
}

.lc-skel-title {
    height: 15px;
    width: 42%;
    max-width: 320px;
    border-radius: 4px;
}

.lc-skel-title-sm {
    height: 13px;
    width: 34%;
    max-width: 140px;
    margin-bottom: 14px;
}

.lc-skel-title-lg {
    height: 22px;
    width: 60%;
    max-width: 420px;
    margin-bottom: 16px;
}

.lc-skel-line {
    height: 12px;
    width: 92%;
    margin-top: 10px;
    border-radius: 4px;
}

.lc-skel-line-2 {
    width: 64%;
    margin-top: 8px;
}

.lc-skel-line-full {
    width: 100%;
}

.lc-skel-line-flex {
    flex: 1;
    width: auto;
    margin-top: 0;
}

.lc-skel-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
}

.lc-skel-avatar {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    border-radius: 4px;
}

.lc-skel-avatar-lg {
    width: 34px;
    height: 34px;
    border-radius: 50%;
}

.lc-skel-chip {
    width: 56px;
    height: 12px;
    border-radius: 4px;
}

.lc-skel-panel-row {
    display: flex;
    align-items: center;
    margin-top: 12px;
}

.lc-skel-panel-row .lc-skel-line {
    margin-top: 0;
}

.lc-skel-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.lc-skel-chip-tag {
    height: 24px;
    border-radius: 6px;
}

.lc-skel-block {
    width: 100%;
    height: 120px;
    margin: 12px 0;
    border-radius: 6px;
}

.lc-skel-block-sm {
    height: 90px;
}

.lc-skel-comment {
    display: flex;
    gap: 10px;
    padding: 12px 0;
    border-bottom: 1px solid var(--lc-border-light);
}

.lc-skel-comment:last-child {
    border-bottom: none;
}

.lc-skel-comment-main {
    flex: 1;
}

.lc-skel-title,
.lc-skel-line,
.lc-skel-avatar,
.lc-skel-chip,
.lc-skel-block {
    background: linear-gradient(90deg, var(--lc-border-light) 25%, var(--lc-bg-row-hover) 37%, var(--lc-border-light) 63%);
    background-size: 400% 100%;
    animation: lc-skeleton-loading 1.4s ease infinite;
}

@keyframes lc-skeleton-loading {
    0% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0 50%;
    }
}


/* ===== 22b. 统一响应式（≤768px）=====
 * 原 9 处 @media (max-width:768px) 合并于此：
 * 位于 .lc-mobile-nav 基类之后（避免基类 display:none 覆盖）、480px 块之前（保持级联顺序） */
@media (max-width: 768px) {

    /* 顶部导航：隐藏站点描述、抽屉按钮显示 */
    .lc-logo-desc {
        display: none;
    }

    .lc-nav-inner {
        gap: 8px;
    }

    .lc-drawer-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 34px;
        flex-shrink: 0;
        margin-left: -4px;
        background: none;
        border: none;
        border-radius: 6px;
        color: var(--lc-text-nav-hover);
        cursor: pointer;
    }

    .lc-drawer-toggle:active {
        background: var(--lc-bg-nav-hover);
    }

    .lc-drawer-logo-icon,
    .lc-drawer-logo-text {
        display: none;
    }

    /* 主体布局：左栏隐藏、中栏补底边距留出底部导航空间 */
    .lc-left {
        display: none;
    }

    .lc-body {
        padding-top: 12px;
        padding-bottom: 70px;
    }

    .lc-container {
        padding: 0 12px;
    }

    .lc-nav-inner {
        padding: 0 12px;
    }

    /* 导航链接/右侧项 */
    .lc-nav-links {
        display: none;
    }

    .lc-nav-right {
        margin-left: auto;
    }

    .lc-nav-right a span {
        display: none;
    }

    .lc-desktop-only {
        display: none;
    }

    .lc-nav-right .lc-desktop-only {
        display: none;
    }

    /* 隐藏元信息次要项（浏览/回复计数、按钮文字等） */
    .lc-hide-mobile {
        display: none;
    }

    /* 列表行徽章：移动端只留图标（详情页 / 个人页仍显示完整徽章，不受此规则影响） */
    .lc-row-meta .lc-author-level .lc-author-level-text {
        display: none;
    }

    .lc-row-meta .lc-author-level {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 18px;
        height: 18px;
        border-radius: 50%;
        font-size: 10px;
        line-height: 1;

    }

    .lc-author-level i {
        font-size: 10px;
        line-height: 1;
    }

    /* 同时显示回复数与浏览数（浏览数基态可见，无需隐藏） */
    .lc-mobile-reply {
        display: inline-flex;
    }

    .lc-mobile-icon {
        display: inline-flex;
        align-items: center;
    }

    .lc-row-right {
        display: none;
    }

    /* 详情页表格：窄屏下按内容宽度展示，超出部分在 .lc-table-wrap 内横向滑动 */
    .lc-table-wrap>table {
        width: max-content;
        min-width: 100%;
    }

    /* 页脚：版权行与统计行均居中显示 */
    .lc-footer-right,
    .lc-footer-left {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .lc-footer {
        padding-bottom: calc(20px + 52px);
    }

    /* 版权行居中，并与统计行间距收窄（基态 lc-gap-16 → 4px） */
    .lc-footer .lc-container {
        justify-content: center;
        gap: 4px;
    }

    /* 移动端侧栏（热门标签 + 友链）：中栏内容底部显示 */
    .lc-mobile-sidebar {
        display: block;
        margin-top: 16px;
    }

    .lc-mobile-sidebar .lc-panel {
        margin-bottom: 14px;
    }

    /* 分页条缩小：按钮更紧凑，配合 flex-wrap 防止窄屏溢出变形 */
    .lc-pagination {
        gap: 2px;
        padding: 12px 8px;
    }

    .lc-page-link {
        padding: 4px 8px;
        font-size: 12px;
    }

    .lc-page-dots {
        padding: 4px 2px;
        font-size: 12px;
    }

    /* 博客行单列 */
    .lc-blog-cover {
        width: 100%;
        height: 80px;
        margin-right: 0;
        margin-bottom: 2px;
    }

    .lc-blog-row {
        flex-direction: column;
    }

    /* 分类：版块头部吸顶（避开顶部导航 56px，留 8px 间隙） */
    .lc-row-meta .lc-cat-mobile {
        display: inline-flex;
    }

    .lc-cat-head-sticky {
        position: sticky;
        top: 64px;
        z-index: 50;
    }

    /* 详情页标题与内容区标题缩小 */
    .lc-section h1.lc-fs-20 {
        font-size: 17px;
    }

    .post-text-content h1 {
        font-size: 19px;
    }

    .post-text-content h2 {
        font-size: 17px;
    }

    .post-text-content h3 {
        font-size: 15px;
    }

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

    .post-text-content h5 {
        font-size: 13px;
    }

    .post-text-content h6 {
        font-size: 12px;
    }

    /* 相邻文章 */
    .neighbor-log {
        flex-direction: column;
        gap: 10px;
        padding: 14px;
    }

    .lc-neighbor-next {
        align-items: flex-start;
        text-align: left;
    }

    /* 底部导航显示 */
    .lc-mobile-nav {
        display: flex;
        justify-content: space-around;
        align-items: center;
    }

    /* 通用卡片 */
    .post-container,
    .message-container,
    .search-container,
    .auth-box {
        padding: 24px 20px;
    }

    .stat-cards .bg-light {
        padding: 14px 12px;
    }

    /* 评论列表 */
    .lc-comment-user-bar {
        padding: 8px 0 8px 8px;
    }

    .lc-comment-avatar {
        width: 34px;
        height: 34px;
    }

    .lc-comment-children {
        margin: 0 12px 0;
        padding-left: 12px;
        padding-right: 12px;
    }

    /* 评论列表 验证码*/
    .lc-comment-form>.comment-post {
        padding: 14px;
    }

    .comment-info {
        flex-basis: 100%;
    }

    .com_submit_p {
        width: 100%;
        margin-left: 0;
        justify-content: flex-end;
    }

    /* 左栏「写文章」入口 */
    .uc-body {
        padding: 16px;
    }

    .uc-hero {
        flex-wrap: wrap;
    }

    .uc-stat-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .uc-checkin-stats {
        gap: 22px;
    }

    .uc-level-hero {
        flex-wrap: wrap;
    }

    .uc-level-hero-progress {
        width: 100%;
    }

    .uc-criteria-label {
        min-width: 120px;
    }

    .uc-medal-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .uc-write-head {
        flex-direction: column;
    }

    .uc-write-field-sort {
        flex: 1 1 auto;
    }

    /* 我的点赞 / 我的收藏：文章列表 */
    .uc-article {
        padding: 10px 12px;
        gap: 10px;
    }

    .uc-article-cover {
        width: 60px;
        height: 45px;
    }

    /* 搜索关闭按钮 */
    .lc-search-overlay {
        padding-top: 8vh;
    }

    .lc-search-close {
        top: -10px;
        right: -10px;
    }

    /* 移动端顶栏右侧图标较多，绝对定位会因触发按钮不在最右侧而向左溢出，
       改为固定定位铺满可视宽度（左右各留 12px） */
    .lc-scheme-panel {
        position: fixed;
        top: calc(var(--lc-nav-height) + 8px);
        left: 12px;
        right: 12px;
        width: auto;
        margin-top: 0;
        max-height: calc(100vh - var(--lc-nav-height) - 24px);
        z-index: 200;
    }

    /* 站点宽度仅影响 PC 布局，移动端隐藏该分组 */
    .lc-appearance-width {
        display: none;
    }
}

@media (max-width: 480px) {
    .lc-body {
        padding: 8px 8px 16px;
    }

    .lc-container {
        padding: 0 8px;
    }

    .lc-nav-inner {
        padding: 0 8px;
    }

    .lc-section-header {
        padding: 12px 14px;
    }

    .lc-row {
        padding: 12px 14px;
    }

    .lc-section-header h2 {
        font-size: 14px;
    }

    /* 窄屏：头部按钮只留图标（隐藏文字），避免挤压标题换行 */
    .lc-section-header .btn-label {
        display: none;
    }

    .lc-section-header .lc-btn-sm {
        padding: 5px 8px;
    }
}