/* =========================================================
 * light 社区主题 - 简洁扁平 / 全直角设计
 * ========================================================= */
:root {
    --l-bg: #f7f8fa;
    --l-card: #ffffff;
    --l-line: #e8e8e8;
    --l-text: #2b2b2b;
    --l-text2: #666;
    --l-text3: #999;
    --l-primary: #1774e6;
    --l-primary-dark: #1060c4;
    --l-danger: #e64340;
    --l-success: #1aad19;
    --l-head-h: 72px;
}

/* ---------- 暗夜模式 ---------- */
html.dark {
    --l-bg: #14161a;
    --l-card: #1e2126;
    --l-line: #30343b;
    --l-text: #e8eaed;
    --l-text2: #a8b0ba;
    --l-text3: #707784;
}

html.dark img {
    filter: brightness(.88);
}

html.dark .l-tool-btn {
    box-shadow: 0 4px 16px rgba(0, 0, 0, .5);
}

/* 暗夜模式：硬编码浅色组件适配 */
html.dark .l-search input {
    background: transparent;
    color: var(--l-text);
}

html.dark .l-notice {
    background: #1b2530;
    border-color: #2b3a4d;
}

html.dark .l-tag.top,
html.dark .l-tag.vote {
    background: var(--l-card);
}

html.dark .l-side-user,
html.dark .lck-day,
html.dark .l-dropdown,
html.dark .layui-layer {
    background: var(--l-card);
}

html.dark .l-medal-warn,
html.dark .lck-tip-warn {
    background: #332a1c;
}

html.dark .lck-day.future {
    background: transparent;
}

* {
    border-radius: 0 !important;
    -webkit-tap-highlight-color: transparent;
}

/* 全站头像统一圆形（!important 覆盖直角强制） */
img.l-avatar,
.llc-avatar > img,
.lc-avatar,
.l-login-avatar img {
    border-radius: 50% !important;
}

html {
    font-size: 14px;
}

body {
    margin: 0;
    background: var(--l-bg);
    color: var(--l-text);
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif;
    line-height: 1.7;
}

a {
    color: inherit;
    text-decoration: none;
}

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

img {
    max-width: 100%;
}

ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* ---------- 布局 ---------- */
.l-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px;
}

.l-main {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    margin-top: 16px;
    margin-bottom: 32px;
}

.l-content {
    flex: 1;
    min-width: 0;
}

.l-side {
    width: 300px;
    flex-shrink: 0;
    position: sticky;
    top: 72px;
    align-self: flex-start;
}

/* ---------- 侧栏登录卡 ---------- */
.llc {
    padding-bottom: 18px;
    text-align: center;
}

.llc-cover {
    position: relative;
    height: 140px;
    margin: -14px -16px 0;
    background: url('../images/login-cover.jpg') center/cover no-repeat;
    border-bottom: 1px solid var(--l-line);
}

/* 封面右下角签到按钮（登录态） */
.llc-checkin {
    position: absolute;
    bottom: 14px;
    right: 0;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 12px;
    border: none;
    cursor: pointer;
    background: linear-gradient(135deg, #ff9f43, #ff7a2e);
    color: #fff;
    font-size: 12px;
    font-family: inherit;
    transition: all .2s;
}

.llc-checkin :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 13px;
}

.llc-checkin:hover {
    opacity: .88;
}

.llc-checkin.done {
    background: rgba(255, 255, 255, .92);
    color: #ff7a2e;
    border: 1px solid rgba(255, 122, 46, .4);
}

.llc-avatar {
    display: inline-block;
    margin-top: -40px;
    line-height: 0;
    position: relative;
    z-index: 1;
    border-radius: 50% !important;
    box-shadow: 0 0 0 3px #fff, 0 2px 8px rgba(0, 0, 0, .12);
}

.llc-avatar .l-avatar,
.llc-avatar img {
    border-radius: 50% !important;
}

.llc-avatar .l-avf {
    overflow: visible;
}

/* 登录卡头像轻微放大，使其与装饰头像框内圈严丝合缝 */
.llc-avatar .l-avf .l-avatar {
    transform: scale(1.12);
}

.llc-hi {
    margin-top: 14px;
    font-size: 16px;
    font-weight: 700;
    color: var(--l-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.llc-hi .l-lvimg {
    height: 15px;
    margin-left: 4px;
    vertical-align: -3px;
}

.llc-hi :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 15px;
    margin-left: 3px;
    vertical-align: -2px;
}

/* 帖子 / 评论 / 获赞 小徽标 */
.llc-stats {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 10px;
}

.llc-stats span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    background: var(--l-bg);
    font-size: 12px;
    color: var(--l-text2);
}

.llc-stats b {
    font-size: 12px;
    color: var(--l-text);
}

.llc-stats .blue :is(.fa-solid,.fa-regular,.fa-brands) {
    color: var(--l-primary);
}

.llc-stats .green :is(.fa-solid,.fa-regular,.fa-brands) {
    color: #00b42a;
}

.llc-stats .red :is(.fa-solid,.fa-regular,.fa-brands) {
    color: #f0435c;
}

/* 个性签名 */
.llc-desc {
    margin: 10px 16px 14px;
    font-size: 12px;
    color: var(--l-text3);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.llc-tip {
    margin: 6px 0 14px;
    font-size: 12px;
    color: var(--l-text3);
}

.llc-tip b {
    color: var(--l-primary);
}

.llc-btns {
    display: flex;
    gap: 10px;
    justify-content: center;
}

.llc-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    height: 36px;
    box-sizing: border-box;
    font-size: 14px;
    color: #fff;
    background: linear-gradient(135deg, #3d95f2, var(--l-primary));
    transition: all .2s;
}

.llc-btn.signup {
    background: linear-gradient(135deg, #ff9f43, #ff7a2e);
}

.llc-btn.publish {
    background: linear-gradient(135deg, #ff6b81, #f43b47);
}

.llc-btn:hover {
    opacity: .88;
    color: #fff; /* 抵消全局 a:hover 变蓝导致文字/图标消失 */
}

.llc-btn :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 14px;
}

.llc-social {
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px dashed var(--l-line);
}

.llc-social-t {
    display: block;
    margin-bottom: 10px;
    font-size: 12px;
    color: var(--l-text3);
}

/* 文章页侧栏作者卡 */
.llc-hi a {
    color: inherit;
}

.llc-sub {
    margin-top: 8px;
    font-size: 12px;
    color: var(--l-text3);
}

.llc-sub b {
    color: var(--l-text);
    font-weight: 700;
}

.llc-sub i {
    margin: 0 6px;
    font-style: normal;
    color: var(--l-line);
}

button.llc-btn {
    border: 0;
    font-family: inherit;
    cursor: pointer;
}

.llc-btn.follow,
.llc-btn.home {
    background: var(--l-bg);
    color: var(--l-text2);
    border: 1px solid var(--l-line);
}

.llc-btn.follow.primary {
    background: linear-gradient(135deg, #3d95f2, var(--l-primary));
    color: #fff;
    border-color: transparent;
}

.llc-btn.follow:hover,
.llc-btn.home:hover {
    opacity: 1;
    color: var(--l-primary);
    border-color: var(--l-primary);
}

.llc-btn.follow.primary:hover {
    color: #fff;
    border-color: transparent;
}

/* 关注按钮美化：未关注渐变底，已关注灰色底（无悬停动效） */
.llc-btn.follow.primary {
    box-shadow: none;
}

.llc-qq {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: #12b7f5;
    color: #fff;
    font-size: 18px;
    border-radius: 50% !important; /* 圆形，豁免全站直角通配符 */
    transition: background .2s;
}

.llc-qq:hover {
    background: var(--l-primary);
    color: #fff; /* 抵消全局 a:hover 变蓝导致图标与底色同色 */
}

/* 顶部与登录卡头像圆形（豁免全局直角通配符） */
.l-login-avatar,
.l-login-avatar img,
.l-user-trigger .l-avatar {
    border-radius: 50% !important;
}



/* ---------- 页头：面包屑 + 信息卡 ---------- */
.l-page-head {
    margin-bottom: 16px;
}

.l-crumbs {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 12px;
    font-size: 13px;
}

.l-crumbs > :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 14px;
    color: var(--l-text3);
}

.l-crumbs a {
    color: var(--l-text2);
    transition: color .2s;
}

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

.l-crumb-sep {
    color: var(--l-line);
}

.l-crumb-cur {
    color: var(--l-text);
}

.lsh-banner {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 24px;
    background: linear-gradient(135deg, #eaf3fe 0%, #f6faff 55%, #eef6f0 100%);
    border: 1px solid #d5e7fb;
}

/* 有分类图像时：图像放大铺满作毛玻璃背景 */
.lsh-banner .lsh-bg {
    display: none;
}

.lsh-banner.has-img .lsh-bg {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 0;
}

.lsh-banner.has-img .lsh-bg img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: blur(28px);
    transform: scale(1.35);
}

/* 白色遮罩保证前景可读 */
.lsh-banner.has-img .lsh-bg::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, .5);
}

.lsh-banner.has-img > .lsh-avatar,
.lsh-banner.has-img > .lsh-main,
.lsh-banner.has-img > .lsh-stats {
    position: relative;
    z-index: 1;
}

/* 暗夜模式：分类页头 */
html.dark .lsh-banner {
    background: linear-gradient(135deg, #1b2530 0%, #1a2027 55%, #1c2721 100%);
    border-color: #2b3a4d;
}

html.dark .lsh-banner.has-img .lsh-bg img {
    filter: blur(28px) brightness(.72) saturate(1.2);
}

html.dark .lsh-banner.has-img .lsh-bg::after {
    background: linear-gradient(180deg, rgba(20, 22, 26, .35) 0%, rgba(20, 22, 26, .72) 100%);
}

.lsh-avatar {
    width: 88px;
    height: 88px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: var(--l-card);
    border: 1px solid var(--l-line);
    overflow: hidden;
}

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

.lsh-avatar i {
    font-style: normal;
    font-size: 38px;
    font-weight: 700;
    color: var(--l-primary);
}

.lsh-avatar :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 38px;
    color: var(--l-primary);
}

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

.lsh-tag {
    display: inline-block;
    padding: 0 8px;
    background: var(--l-primary);
    color: #fff;
    font-size: 12px;
    line-height: 20px;
}

.lsh-name {
    margin: 8px 0 4px;
    font-size: 22px;
    line-height: 26px;
    color: var(--l-text);
}

.lsh-desc {
    margin: 0 0 12px;
    font-size: 13px;
    line-height: 18px;
    color: var(--l-text2);
}

.lsh-publish {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 32px;
    padding: 0 14px;
    background: var(--l-card);
    border: 1px solid var(--l-line);
    font-size: 13px;
    color: var(--l-text2);
    transition: all .2s;
}

.lsh-publish:hover {
    color: var(--l-primary);
    border-color: var(--l-primary);
}

.lsh-publish :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 14px;
}

.lsh-stats {
    display: flex;
    gap: 32px;
    flex-shrink: 0;
}

.lsh-stat {
    text-align: center;
}

.lsh-stat b {
    display: block;
    font-size: 22px;
    color: var(--l-text);
}

.lsh-stat span {
    font-size: 12px;
    color: var(--l-text3);
}

@media (max-width: 900px) {
    /* 移动端页头：保持单行横排（图标 | 标题区 | 统计），压缩尺寸不再竖向堆叠 */
    .lsh-banner {
        gap: 14px;
        padding: 16px 14px;
    }
    .lsh-avatar {
        width: 60px;
        height: 60px;
    }
    .lsh-avatar i,
    .lsh-avatar :is(.fa-solid, .fa-regular, .fa-brands) {
        font-size: 26px;
    }
    .lsh-tag {
        padding: 0 7px;
        font-size: 11px;
        line-height: 18px;
    }
    .lsh-name {
        margin: 5px 0 2px;
        font-size: 18px;
        line-height: 22px;
    }
    .lsh-desc {
        margin: 0;
        font-size: 12px;
        line-height: 17px;
    }
    .lsh-stats {
        gap: 16px;
    }
    .lsh-stat b {
        font-size: 18px;
        line-height: 20px;
    }
    .lsh-stat span {
        font-size: 11px;
    }
}

@media (max-width: 480px) {
    .lsh-banner {
        gap: 12px;
        padding: 14px 12px;
    }
    .lsh-avatar {
        width: 52px;
        height: 52px;
    }
    .lsh-avatar i,
    .lsh-avatar :is(.fa-solid, .fa-regular, .fa-brands) {
        font-size: 22px;
    }
    .lsh-stats {
        gap: 12px;
    }
}

/* ---------- 顶部公告条 ---------- */
.l-notice {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    margin-top: 16px;
    padding: 8px 12px;
    background: #eaf3fe;
    border: 1px solid #d5e7fb;
    font-size: 13px;
    color: #1a5cb0;
}

.l-notice > :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 15px;
    color: var(--l-primary);
    flex-shrink: 0;
}

.l-notice-txt {
    flex: 1;
    min-width: 0;
    line-height: 20px;
}

.l-notice-txt a {
    color: var(--l-primary);
}

.l-notice-close {
    flex-shrink: 0;
    padding: 4px;
    border: 0;
    background: transparent;
    cursor: pointer;
    color: #86adda;
    font-size: 13px;
    transition: color .2s;
}

.l-notice-close:hover {
    color: var(--l-primary);
}

/* ---------- 左侧分类目录 ---------- */
.l-cats {
    width: 200px;
    flex-shrink: 0;
    background: var(--l-card);
    border: 1px solid var(--l-line);
    position: sticky;
    top: 72px;
    align-self: flex-start;
}

.l-cat {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 44px;
    padding: 0 16px;
    border-left: 3px solid transparent;
    font-size: 14px;
    color: var(--l-text2);
    transition: color .2s, background .2s, border-color .2s;
}

.l-cat:hover {
    color: var(--l-primary);
    background: var(--l-bg);
}

.l-cat.on {
    color: var(--l-primary);
    background: var(--l-bg);
    border-left-color: var(--l-primary);
    font-weight: 600;
}

.l-cat-ico {
    width: 18px;
    height: 18px;
    object-fit: cover;
    flex-shrink: 0;
}

@media (max-width: 1200px) {
    .l-cats {
        display: none;
    }
}

@media (max-width: 900px) {
    .l-main {
        flex-direction: column;
        /* 纵向排列时让内容列横向拉伸占满，避免收缩为内容宽度 */
        align-items: stretch;
    }
    .l-side {
        display: none;
    }
}

/* ---------- 顶栏 ---------- */
/* 吸顶：下滑时始终吸附在顶部，磨砂玻璃质感 */
.l-header {
    position: sticky;
    top: 0;
    z-index: 100;
    height: var(--l-head-h);
    background: rgba(255, 255, 255, .72);
    -webkit-backdrop-filter: saturate(5) blur(20px);
    backdrop-filter: saturate(5) blur(20px);
    border-bottom: 1px solid var(--l-line);
}

html.dark .l-header {
    background: rgba(30, 33, 38, .72);
}

.l-header-in {
    display: flex;
    align-items: center;
    height: 100%;
    gap: 24px;
}

.l-logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    line-height: 1;
    position: relative;
    overflow: hidden;
}

/* Logo 扫光：高光斜带周期性滑过 */
.l-logo::after {
    content: "";
    position: absolute;
    top: -50%;
    left: -80%;
    width: 50%;
    height: 200%;
    background: linear-gradient(105deg, transparent 0%, rgba(255, 255, 255, .35) 45%, rgba(255, 255, 255, .55) 50%, rgba(255, 255, 255, .35) 55%, transparent 100%);
    transform: skewX(-20deg);
    animation: logo-shine 3.5s ease-in-out infinite;
    pointer-events: none;
}

@keyframes logo-shine {
    0% { left: -80%; }
    55% { left: 130%; }
    100% { left: 130%; }
}

.l-logo-img {
    display: block;
    max-height: 34px;
    max-width: 200px;
    width: auto;
    height: auto;
    object-fit: contain;
    object-position: left center;
}

html.dark .l-logo-img {
    filter: none;
}

.l-nav {
      min-width: 0;
  }

.l-nav-list {
    display: flex;
    gap: 4px;
}

.l-nav-list > li {
    position: relative;
}

.l-nav-list a {
    display: block;
    padding: 0 14px;
    line-height: var(--l-head-h);
    color: var(--l-text2);
    white-space: nowrap;
    border-bottom: 2px solid transparent;
}

.l-nav-list a:hover,
.l-nav-list a.active {
    color: var(--l-text);
    border-bottom-color: var(--l-primary);
}

/* 顶部导航二级分类下拉 */
.l-nav-caret {
    font-size: 10px;
    margin-left: 4px;
    opacity: 0.65;
}

.l-nav-sub {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 150px;
    padding: 6px 0;
    background: var(--l-card);
    border: 1px solid var(--l-line);
    box-shadow: 0 10px 24px rgba(15, 42, 86, 0.12);
    z-index: 90;
    white-space: nowrap;
}

.l-nav-list > li:hover .l-nav-sub {
    display: block;
}

.l-nav-sub a {
    line-height: 38px;
    font-size: 13px;
    border-bottom: none;
    color: var(--l-text2);
}

.l-nav-sub a:hover,
.l-nav-sub a.active {
    color: var(--l-primary);
    background: var(--l-bg);
    border-bottom: none;
}

.l-user-area {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
    white-space: nowrap;
}

/* 未登录头像式登录入口 */
.l-login-avatar {
    display: flex;
    width: 34px;
    height: 34px;
    border: 1px solid var(--l-line);
    flex-shrink: 0;
    transition: border-color .15s;
}

.l-login-avatar img {
    width: 100%;
    height: 100%;
    display: block;
}

.l-login-avatar:hover {
    border-color: var(--l-primary);
}

/* 顶部搜索框 */
.l-search {
    display: flex;
    align-items: center;
    width: 220px;
    height: 32px;
    padding: 0 10px;
    background: var(--l-card); /* 与评论表单字段容器同底色 */
    border: 1px solid var(--l-line);
    flex-shrink: 0;
}

.l-search:focus-within {
    border-color: var(--l-primary);
}

.l-search input {
    flex: 1;
    min-width: 0;
    height: 30px;
    padding: 0;
    border: 0;
    background: transparent;
    outline: 0;
    font-size: 13px;
    font-family: inherit;
    color: var(--l-text);
}

.l-search input::placeholder {
    color: var(--l-text3);
}

.l-search button {
    display: flex;
    align-items: center;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    color: var(--l-text3);
    font-size: 14px;
}

.l-search button:hover {
    color: var(--l-primary);
}

.l-points {
    font-size: 12px;
    color: var(--l-text2);
    border: 1px solid var(--l-line);
    padding: 2px 8px;
}

.l-user-menu {
    position: relative;
}

/* 顶栏头像戴框：上下留位，框溢出导航栏底线、右侧不贴边 */
.l-user-trigger {
    position: relative;
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 8px 6px 8px 0;
    cursor: pointer;
}

.l-user-name {
    max-width: 90px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.l-dropdown {
    display: none;
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    min-width: 128px;
    background: var(--l-card);
    border: 1px solid var(--l-line);
    box-shadow: 0 4px 12px rgba(0, 0, 0, .08);
    z-index: 110;
}

.l-dropdown li a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    color: var(--l-text2);
}

.l-dropdown li a :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 15px;
    color: var(--l-text3);
}

.l-dropdown li a:hover :is(.fa-solid,.fa-regular,.fa-brands) {
    color: var(--l-primary);
}

.l-dropdown li a:hover {
    background: var(--l-bg);
    color: var(--l-text);
}

.l-user-menu.open .l-dropdown {
    display: block;
}

/* 展开与收起由 light.js 控制（进入立即展开、离开延迟收起），避免移动途中闪断 */

.l-dropdown::before {
    content: '';
    position: absolute;
    top: -8px;
    left: 0;
    right: 0;
    height: 8px;
}

/* ---------- 顶栏头像悬停信息卡 ---------- */
.lup {
    width: 300px;
    padding: 0 0 6px;
    overflow: hidden;
}

.lup-head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 16px 12px;
}

.lup-head .l-avatar {
    border-radius: 50% !important;
    flex-shrink: 0;
}

.lup-head-main {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.lup-name {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    font-weight: 700;
    color: var(--l-text);
}

.lup-desc {
    font-size: 12px;
    color: var(--l-text3);
    max-width: 190px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lup-vip,
.lup-checkin {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 12px 10px;
    padding: 9px 0;
    font-size: 13px;
}

.lup-vip {
    background: #1f1f23;
    color: #f2d9a0;
    border: 1px solid rgba(242, 217, 160, .35);
}

.lup-vip :is(.fa-solid,.fa-regular,.fa-brands) {
    color: #f2d9a0;
    font-size: 15px;
}

.lup-vip.on {
    background: linear-gradient(135deg, #3a3222, #1f1f23);
}

.lup-checkin {
    background: var(--l-primary);
    color: #fff;
}

/* 全局 a:hover 会把文字染成主题蓝，与按钮背景同色导致悬停时文字消失，这里锁回原色 */
.lup-checkin:hover {
    color: #fff;
    filter: brightness(1.08);
}

.lup-checkin.done:hover {
    color: #c8871b;
    filter: none;
}

.lup-vip:hover {
    color: #f2d9a0;
    filter: brightness(1.15);
}

.lup-checkin :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 15px;
}

.lup-checkin.done {
    background: #fff7e0;
    color: #c8871b;
    border: 1px solid #f5dfae;
}

.lup-checkin.done :is(.fa-solid,.fa-regular,.fa-brands) {
    color: #c8871b;
}

.lup-props {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin: 0 12px 10px;
}

.lup-props a {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 9px 10px;
    background: var(--l-bg);
    font-size: 12px;
    color: var(--l-text2);
}

.lup-props :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 14px;
}

.lup-props a:first-child :is(.fa-solid,.fa-regular,.fa-brands) {
    color: var(--l-primary);
}

.lup-props a:last-child :is(.fa-solid,.fa-regular,.fa-brands) {
    color: #f09b0a;
}

.lup-props b {
    margin-left: auto;
    font-size: 13px;
    color: var(--l-text);
}

.lup-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin: 0 12px 10px;
}

.lup-stats a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 8px 0;
    background: var(--l-bg);
}

.lup-stats b {
    font-size: 14px;
    color: var(--l-text);
}

.lup-stat-n {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.lup-stats :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 12px;
}

.lup-stats a:nth-child(1) :is(.fa-solid,.fa-regular,.fa-brands) {
    color: var(--l-primary);
}

.lup-stats a:nth-child(2) :is(.fa-solid,.fa-regular,.fa-brands) {
    color: #e04ec7;
}

.lup-stats a:nth-child(3) :is(.fa-solid,.fa-regular,.fa-brands) {
    color: #f09b0a;
}

.lup-stats span {
    font-size: 11px;
    color: var(--l-text3);
}

.lup-props a:hover,
.lup-stats a:hover {
    background: rgba(0, 0, 0, .05);
}

.lup-acts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 0;
    padding: 6px 12px 4px;
    border-top: 1px solid var(--l-line);
}

/* 底部三按钮：浅色圆底图标 + 彩色文字 */
.lup-act {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 6px 0;
    font-size: 12px;
}

.lup-act-ic {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50% !important;
}

.lup-act-ic :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 18px;
}

.lup-act.blue .lup-act-ic {
    background: #eaf3fe;
}

.lup-act.blue :is(.fa-solid,.fa-regular,.fa-brands) {
    color: var(--l-primary);
}

.lup-act.blue {
    color: var(--l-primary);
}

.lup-act.magenta .lup-act-ic {
    background: #fdeaf6;
}

.lup-act.magenta :is(.fa-solid,.fa-regular,.fa-brands),
.lup-act.magenta {
    color: #e04ec7;
}

.lup-act.red .lup-act-ic {
    background: #fdecec;
}

.lup-act.red :is(.fa-solid,.fa-regular,.fa-brands),
.lup-act.red {
    color: #e64340;
}

.lup-act.green .lup-act-ic {
    background: #e6f7ed;
}

.lup-act.green :is(.fa-solid,.fa-regular,.fa-brands),
.lup-act.green {
    color: #00b42a;
}

/* ---------- 未登录悬停面板 ---------- */
.lup.guest {
    padding-top: 10px;
}

.lup.guest .lup-acts {
    border-top: 0;
    padding-top: 12px;
}

/* 快速登录：居中分隔标题 + 圆形图标行 */
.lup-quick {
    padding: 8px 16px 6px;
}

.lup-quick-t {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 11px;
    color: var(--l-text3);
}

.lup-quick-t::before,
.lup-quick-t::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--l-line);
}

.lup-quick-list {
    display: flex;
    justify-content: center;
    gap: 14px;
    padding-top: 12px;
}

.lup-qq {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50% !important;
    font-size: 20px;
    color: #fff;
    transition: opacity .2s, box-shadow .2s;
}

.lup-qq:hover {
    opacity: .88;
    color: #fff !important; /* 抵消全局 a:hover 变蓝导致图标消失 */
}

.lup-qq.qq {
    background: #12b7f5;
}

.lup-qq.qq:hover {
    box-shadow: 0 4px 10px rgba(18, 183, 245, .4);
}

/* 登录弹窗底部：社交账号登录提示 */
.l-auth-quick-tip {
    margin: 10px 0 0;
    text-align: center;
    font-size: 11px;
    color: var(--l-text3);
}

.l-auth-quick-tip em {
    font-style: normal;
    color: #e64340;
}

.l-nav-toggle {
    display: none;
    width: 34px;
    height: 34px;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    align-items: center;
    justify-content: center;
}

/* 菜单图标（CSS 自绘三横线，无框） */
.l-toggle-bars {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 18px;
    height: 14px;
}

.l-toggle-bars i {
    display: block;
    height: 2px;
    background: var(--l-text);
}

/* 菜单展开时切换为关闭图标 */
.l-nav-toggle .l-toggle-close {
    display: none;
    font-size: 18px;
    line-height: 1;
    color: var(--l-text2);
}

.l-nav-toggle.open .l-toggle-bars {
    display: none;
}

.l-nav-toggle.open .l-toggle-close {
    display: block;
}

@media (max-width: 768px) {
    .l-header-in {
        gap: 10px;
    }
    .l-nav-toggle {
        display: flex;
        margin-left: 0;
    }
    .l-search {
        display: none;
    }

    .l-nav {
        display: none;
        position: absolute;
        top: var(--l-head-h);
        left: 0;
        right: 0;
        background: var(--l-card);
        border-bottom: 1px solid var(--l-line);
    }
    .l-nav.open {
        display: block;
    }
    .l-nav-list {
        flex-direction: column;
        gap: 0;
        overflow: visible;
    }
    .l-nav-list a {
        line-height: 44px;
        border-bottom: none;
        border-left: 2px solid transparent;
    }
    .l-nav-list a.active {
        border-left-color: var(--l-primary);
    }
    /* 移动端二级分类：静态缩进展示 */
    .l-nav-caret {
        display: none;
    }
    .l-nav-sub {
        display: block;
        position: static;
        min-width: 0;
        padding: 0;
        margin: 0 0 6px 16px;
        border: none;
        border-left: 2px solid var(--l-line);
        box-shadow: none;
        background: transparent;
    }
    .l-nav-sub a {
        line-height: 38px;
        color: var(--l-text3);
    }
    .l-nav-sub a:hover,
    .l-nav-sub a.active {
        background: transparent;
    }
    .l-user-area .l-points,
    .l-user-area .l-user-name {
        display: none;
    }
}

/* ---------- 卡片 ---------- */
.l-card {
    background: var(--l-card);
    border: 1px solid var(--l-line);
    padding: 16px;
    margin-bottom: 16px;
}

.l-empty {
    text-align: center;
    color: var(--l-text3);
    padding: 40px 16px;
}

.l-empty-sm {
    text-align: center;
    color: var(--l-text3);
    padding: 16px;
}

/* 我的文章空状态 */
.l-art-empty {
    flex-direction: column;
    gap: 20px;
    padding: 40px 0;
    border-bottom: none;
}

.l-art-empty img {
    width: 160px;
    height: auto;
}

.l-art-empty-line {
    color: var(--l-text3);
    font-size: 14px;
}

/* 列表容器内空状态：去掉卡片自带边框，避免与容器形成双层线框 */
.l-list-wrap .l-art-empty {
    border: none;
    background: transparent;
}

/* 关注 / 粉丝空状态 */
.l-follow-empty {
    flex-direction: column;
    justify-content: center;
    gap: 16px;
    padding: 40px 0;
    border-bottom: none;
}

.l-follow-empty img {
    width: 160px;
    height: auto;
}

.l-follow-empty-text {
    color: var(--l-text3);
    font-size: 14px;
}

/* ---------- 按钮 ---------- */
.l-btn {
    display: inline-block;
    box-sizing: border-box;
    padding: 0 16px;
    height: 34px;
    line-height: 32px;
    background: var(--l-card);
    border: 1px solid var(--l-line);
    color: var(--l-text);
    font-size: 13px;
    cursor: pointer;
    text-align: center;
    transition: all .15s;
    user-select: none;
}

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

/* 按钮内图标与文字协调（如 QQ 绑定按钮） */
.l-btn i {
    font-size: 13px;
    line-height: 1;
    vertical-align: -1px;
    margin-right: 5px;
}

.l-btn.primary {
    background: var(--l-primary);
    border-color: var(--l-primary);
    color: #fff;
}

.l-btn.primary:hover {
    background: var(--l-primary-dark);
    color: #fff;
}

.l-btn.qq {
    background: #00a3cf;
    border-color: #00a3cf;
    color: #fff;
}

.l-btn.qq:hover {
    background: #0091b8;
    color: #fff;
}

.l-btn.block {
    display: block;
    width: 100%;
}

.l-btn.sm {
    height: 34px;
    line-height: 32px;
    padding: 0 10px;
    font-size: 12px;
}

.l-btn.disabled,
.l-btn:disabled {
    opacity: .55;
    cursor: not-allowed;
}

/* ---------- 徽章 / 标签 ---------- */
.l-lvimg {
    height: 15px;
    vertical-align: -3px;
}

.lpc-head .l-lvimg,
.lpc-meta .l-lvimg {
    height: 14px;
}

.lcmt-user .l-lvimg {
    height: 13px;
}

.l-tag {
    display: inline-block;
    font-size: 12px;
    line-height: 20px;
    padding: 0 8px;
    background: var(--l-bg);
    border: 1px solid var(--l-line);
    color: var(--l-text2);
    margin-right: 6px;
}

.l-tag.top { color: var(--l-danger); border-color: var(--l-danger); background: #fff; }
.l-tag.vote { color: var(--l-primary); border-color: var(--l-primary); background: #fff; }

.l-avatar {
    display: inline-block;
    vertical-align: middle;
    object-fit: cover;
}

/* ---------- 列表区块（外框 + tab + 行横线） ---------- */
.l-list-wrap {
    border: 1px solid var(--l-line);
    background: var(--l-card);
}

.l-list-tabs {
    display: flex;
    align-items: center;
    gap: 28px;
    padding: 10px 18px 15px;
    background: var(--l-card);
    position: relative;
}

/* 公共分割线用伪元素，tab.on 可以盖住它 */
.l-list-tabs::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: var(--l-line);
}

.l-list-tab {
    position: relative;
    font-size: 15px;
    color: var(--l-text2);
    text-decoration: none;
    cursor: pointer;
    padding: 12px 2px 6px;
    line-height: 1;
    transition: color .2s;
}

.l-list-tab:hover { color: var(--l-text); }

.l-list-tab.on {
    color: var(--l-text);
    font-weight: 600;
}

/* 选中 tab：蓝色下划线浮在公共灰线之上，留间距 */
.l-list-tab.on::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -5px;
    height: 2px;
    background: var(--l-primary);
}

/* ---------- 列表行 ---------- */
.l-list-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--l-line);
    transition: background .2s;
}

.l-list-item:last-child {
    border-bottom: none;
}

.l-list-item:hover {
    background: var(--l-bg);
}

.lli-avatar {
    position: relative;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50% !important;
    line-height: 0;
}

.lli-avatar .l-avatar {
    border-radius: 50% !important;
}

.lli-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50% !important;
}

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

.lli-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.5;
    min-width: 0;
}

.lli-title a {
    color: var(--l-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 0 1 auto;
    min-width: 0;
}

.lli-title a:hover { color: var(--l-primary); }

.lli-tag {
    flex-shrink: 0;
    padding: 1px 6px;
    font-size: 11px;
    line-height: 18px;
    font-weight: 600;
    border-radius: 2px;
}

/* 付费内容标记（紧跟标题） */
.lli-paid {
    flex-shrink: 0;
    font-size: 12px;
    color: #f5b942;
}

/* 精华标记（紧跟标题的奖杯图标） */
.lli-jh {
    flex-shrink: 0;
    font-size: 13px;
    color: #f5b942;
}

.lli-tag.top { color: #fff; background: var(--l-primary); }

.lli-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: var(--l-text3);
    flex-wrap: wrap;
    width: 100%;
}

.lli-sort {
    color: var(--l-text2);
    padding: 0 8px;
    background: var(--l-bg);
    border-radius: 2px;
    line-height: 18px;
    text-decoration: none;
}

a.lli-sort:hover { color: var(--l-primary); background: var(--l-bg); }

.lli-author { color: var(--l-text3); }
.lli-author:hover { color: var(--l-primary); }

.lli-time { color: var(--l-text3); }

.lli-dot { color: var(--l-line); }

.lli-reply { color: var(--l-text3); }

.lli-coms {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 12px;
    color: var(--l-text3);
    padding: 0;
    line-height: 1;
    margin-left: auto !important;
    transition: color .2s;
}

.lli-coms :is(.fa-solid,.fa-regular,.fa-brands) { font-size: 13px; }

.lli-coms:hover { color: var(--l-primary); }

@media (max-width: 640px) {
    .l-list-item { padding: 12px; gap: 10px; }
    .lli-avatar { width: 32px; height: 32px; }
    .lli-title { font-size: 14px; }
    .lli-meta { gap: 6px; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

/* ---------- 侧栏 ---------- */
.l-widget {
    background: var(--l-card);
    border: 1px solid var(--l-line);
    padding: 14px 16px;
    margin-bottom: 16px;
}

.l-widget-title {
    font-size: 14px;
    font-weight: 700;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid var(--l-line);
}

.l-side-list li {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
    font-size: 13px;
    color: var(--l-text2);
    border-bottom: 1px dashed var(--l-line);
}

.l-side-list li:last-child {
    border-bottom: none;
}

/* 侧栏用户头像（积分 TOP 等）：圆形，覆盖全站直角设置 */
.l-side-user img {
    border-radius: 50% !important;
}

.l-side-list li a {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.l-side-list.num li i:not([class*="fa-"]) {
    font-style: normal;
    width: 18px;
    height: 18px;
    line-height: 18px;
    text-align: center;
    background: var(--l-bg);
    color: var(--l-text3);
    font-size: 12px;
    flex-shrink: 0;
}

.l-side-list.num li:nth-child(1) i:not([class*="fa-"]) { background: var(--l-danger); color: #fff; }
.l-side-list.num li:nth-child(2) i:not([class*="fa-"]) { background: #e6a23c; color: #fff; }
.l-side-list.num li:nth-child(3) i:not([class*="fa-"]) { background: #e6c02a; color: #fff; }

/* 热门文章榜 Tab（无框，选中项波浪下划线） */
.l-side-tabs {
    display: flex;
    gap: 16px;
    margin: 0 0 12px;
}

.l-side-tab {
    background: none;
    border: none;
    padding: 2px 1px;
    font-size: 13px;
    font-family: inherit;
    color: var(--l-text2);
    cursor: pointer;
    transition: color .2s;
}

.l-side-tab:hover {
    color: var(--l-primary);
}

.l-side-tab.on {
    color: var(--l-primary);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-style: wavy;
    text-decoration-color: var(--l-primary);
    text-decoration-thickness: 1px;
    text-underline-offset: 6px;
}

/* 榜单行右侧浏览量（图标固定像素盒子，数字固定宽度，多行对齐成列） */
.l-hot-views {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
}

.l-hot-views :is(.fa-solid,.fa-regular,.fa-brands) {
    width: 14px;
    height: 14px;
    line-height: 14px;
    font-size: 11px;
    text-align: center;
    flex: none;
}

.l-hot-views b {
    width: 36px;
    text-align: center;
    font-weight: 400;
    flex: none;
}

/* 金色积分图标 */
.l-hot-views .fa-coins {
    color: #f5b942;
}

.l-hot-panel.l-hot-empty,
.l-hot-empty {
    display: block;
    padding: 10px 0;
    text-align: center;
    font-size: 12px;
    color: var(--l-text3);
    list-style: none;
}

.l-side-meta {
    font-size: 12px;
    color: var(--l-text3);
    flex-shrink: 0;
}

.l-side-user {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.l-side-avatar {
    position: relative;
    display: inline-block;
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    line-height: 0;
}

/* 覆盖 .l-side-list li a 的省略号裁剪，避免切掉头像框溢出部分（昵称省略由 .l-side-name 承担） */
.l-side-list li a.l-side-user {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
}

.l-side-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ---- 默认 widget：自定义内容 ---- */
.l-custom-wg { font-size: 13px; line-height: 1.7; color: var(--l-text2); word-break: break-word; }
.l-custom-wg p { margin: 0 0 8px; }
.l-custom-wg a { color: var(--l-primary); }
.l-custom-wg img { max-width: 100%; height: auto; }

/* ---- 默认 widget：个人资料 ---- */
.l-blogger { text-align: center; }
.l-blogger-avatar { width: 64px; height: 64px; border-radius: 50% !important; object-fit: cover; margin-bottom: 8px; }
.l-blogger-name { display: block; font-size: 14px; font-weight: 700; color: var(--l-text); margin-bottom: 4px; }
.l-blogger-name:hover { color: var(--l-primary); }
.l-blogger-desc { margin: 0; font-size: 12px; color: var(--l-text3); line-height: 1.6; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

/* ---- 默认 widget：标签云 ---- */
.l-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.l-tags a { padding: 2px 8px; background: var(--l-bg); color: var(--l-text2); text-decoration: none; font-size: 12px; border: 1px solid var(--l-line); line-height: 1.8; }
.l-tags a:hover { color: var(--l-primary); border-color: var(--l-primary); }

/* ---- 默认 widget：子分类 ---- */
.l-side-sub { margin: 4px 0 0 12px; padding: 0; border-left: 1px dashed var(--l-line); }
.l-side-sub li { border-bottom: none; }

/* ---- 默认 widget：微语 ---- */
.l-twitter-list li { flex-wrap: wrap; align-items: flex-start; gap: 4px 8px; }
.l-twitter-author { font-weight: 600; color: var(--l-text); font-size: 13px; }
.l-twitter-content { width: 100%; margin: 2px 0 0; font-size: 12px; color: var(--l-text2); line-height: 1.6; }

/* ---- 默认 widget：最新评论 ---- */
.l-comment-list li { flex-wrap: wrap; align-items: flex-start; gap: 2px 6px; }
.l-comment-who { font-weight: 600; color: var(--l-text); font-size: 13px; flex: none; }
.l-comment-content { width: 100%; margin-top: 2px; font-size: 12px; color: var(--l-text3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---- 默认 widget：侧栏搜索 ---- */
.l-side-search { display: flex; gap: 6px; }
.l-side-search input { flex: 1; min-width: 0; padding: 6px 10px; background: var(--l-bg); border: 1px solid var(--l-line); color: var(--l-text); font-size: 13px; outline: none; }
.l-side-search input:focus { border-color: var(--l-primary); }
.l-side-search button { width: 34px; background: var(--l-primary); color: #fff; border: none; cursor: pointer; font-size: 14px; }

/* ---- 默认 widget：归档下拉 ---- */
.l-archive { width: 100%; padding: 6px 8px; background: var(--l-bg); border: 1px solid var(--l-line); color: var(--l-text); font-size: 13px; outline: none; cursor: pointer; }
.l-archive:focus { border-color: var(--l-primary); }

/* ---- 默认 widget：日历 ---- */
#calendar { font-size: 12px; }
#calendar table { width: 100%; border-collapse: collapse; }
#calendar th, #calendar td { padding: 4px 2px; text-align: center; font-size: 12px; }
#calendar a { color: var(--l-primary); text-decoration: none; }
#calendar .cal_day { color: var(--l-text); }

/* 签到卡 */
/* 侧栏周历签到 */
.lck-head {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: -14px -16px 14px;
    padding: 15px 16px 17px;
    background:
        linear-gradient(115deg, transparent 58%, rgba(61, 149, 242, .07) 58%, rgba(61, 149, 242, .07) 72%, transparent 72%),
        linear-gradient(115deg, transparent 76%, rgba(61, 149, 242, .14) 76%, rgba(61, 149, 242, .14) 83%, transparent 83%),
        linear-gradient(135deg, rgba(61, 149, 242, .14), rgba(61, 149, 242, .05) 55%, rgba(61, 149, 242, 0));
    border-bottom: 1px solid var(--l-line);
    overflow: hidden;
}

/* 头部右侧日历水印 */
.lck-head::before {
    content: '\f274';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    right: 0;
    bottom: -18px;
    font-size: 72px;
    line-height: 1;
    color: rgba(61, 149, 242, .1);
    transform: rotate(-14deg);
    pointer-events: none;
}

.lck-info b {
    display: block;
    font-size: 15px;
}

.lck-info span {
    font-size: 12px;
    color: var(--l-text3);
}

.lck-btn {
    padding: 6px 14px;
    font-size: 12px;
    color: #fff;
    background: var(--l-primary);
    border: 1px solid var(--l-primary);
    cursor: pointer;
    font-family: inherit;
    flex-shrink: 0;
}

.lck-btn:hover {
    opacity: .88;
}

.lck-btn.on {
    background: var(--l-bg);
    border-color: var(--l-line);
    color: var(--l-text3);
    cursor: default;
}

.lck-week {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}

.lck-day {
    padding: 9px 4px;
    text-align: center;
    background: var(--l-bg);
    border: 1px solid var(--l-line);
}

.lck-wk {
    display: block;
    font-size: 12px;
    color: var(--l-text2);
    margin-bottom: 7px;
}

.lck-st {
    display: inline-block;
    width: 20px;
    height: 20px;
    line-height: 20px;
    font-size: 11px;
    font-style: normal;
    text-align: center;
    background: #cdd3db;
    color: #fff;
}

.lck-day.done .lck-st {
    background: var(--l-primary);
}

.lck-day.today {
    background: var(--l-card);
    border-color: var(--l-primary);
}

.lck-day.today .lck-wk {
    color: var(--l-primary);
    font-weight: 700;
}

.lck-day.future {
    border-style: dashed;
    background: transparent;
}

.lck-day.future .lck-wk,
.lck-day.miss .lck-wk {
    color: var(--l-text3);
}

.lck-foot {
    margin: 12px 0 0;
    font-size: 12px;
    color: var(--l-text3);
}

.lck-foot b {
    color: var(--l-primary);
}

/* ---------- 分页 ---------- */
.l-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin: 20px 0;
}

.l-pagination a,
.l-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    padding: 0 12px;
    box-sizing: border-box;
    border: 1px solid var(--l-line);
    background: var(--l-card);
    color: var(--l-text2);
    font-size: 13px;
    font-weight: 600;
    transition: all .2s;
}

/* 当前页：核心分页输出 span，模板分页输出 a.active */
.l-pagination span,
.l-pagination a.active {
    background: linear-gradient(135deg, #3d95f2, var(--l-primary));
    border-color: transparent;
    color: #fff;
    box-shadow: 0 3px 8px rgba(61, 149, 242, .3);
}

.l-pagination a:hover {
    color: var(--l-primary);
    border-color: var(--l-primary);
    background: rgba(61, 149, 242, .08);
}

/* 当前页悬浮保持原样 */
.l-pagination a.active:hover {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, #3d95f2, var(--l-primary));
    box-shadow: 0 3px 8px rgba(61, 149, 242, .3);
    transform: none;
}

/* 省略号 */
.l-pagination em {
    font-style: normal;
    color: var(--l-text3);
}

/* 「共 N 张」等附加信息 */
.l-pagination .l-page-info {
    min-width: 0;
    padding: 0;
    border: none;
    background: none;
    box-shadow: none;
    color: var(--l-text3);
    font-size: 12px;
    font-weight: 400;
}

/* ---------- 作者页头部 ---------- */
/* 作者页 banner（头像模糊背景 + 资料 + 统计） */
.lah-banner {
    position: relative;
    margin-bottom: 16px;
    border: 1px solid var(--l-line);
    background: #262a33;
    overflow: hidden;
    color: #fff;
}

.lah-banner::before {
    content: '';
    position: absolute;
    inset: -40px;
    background-image: var(--lah-bg);
    background-size: cover;
    background-position: center;
    filter: blur(30px) brightness(.5) saturate(1.15);
}

.lah-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 38px;
    padding: 26px 32px;
}

.lah-avatar {
    position: relative;
    display: inline-block;
    line-height: 0;
    flex-shrink: 0;
}

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

.lah-role {
    display: inline-block;
    padding: 2px 10px;
    font-size: 12px;
    background: rgba(255, 255, 255, .16);
    border: 1px solid rgba(255, 255, 255, .35);
    margin-bottom: 8px;
}

.lah-role :is(.fa-solid,.fa-regular,.fa-brands) {
    margin-right: 5px;
    vertical-align: -0.15em;
}

.lah-role.adm {
    background: var(--l-gold, #e8c476);
    border-color: var(--l-gold, #e8c476);
    color: #3a2f10;
}

.lah-name {
    margin: 0 0 6px;
    font-size: 21px;
    line-height: 1.3;
}

.lah-desc {
    margin: 0 0 6px;
    font-size: 13px;
    color: rgba(255, 255, 255, .78);
}

.lah-social {
    margin: 0 0 12px;
    font-size: 12px;
    color: rgba(255, 255, 255, .62);
}

.lah-social i {
    font-style: normal;
    margin: 0 10px;
    opacity: .5;
}

.lah-follow {
    padding: 6px 22px;
    font-size: 13px;
    color: #fff;
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .55);
    cursor: pointer;
    font-family: inherit;
}

.lah-follow :is(.fa-solid,.fa-regular,.fa-brands) {
    margin-right: 5px;
    vertical-align: -0.15em;
}

.lah-follow:hover {
    background: #fff;
    color: #262a33;
    border-color: #fff;
}

.lah-follow.on {
    background: transparent;
    color: rgba(255, 255, 255, .75);
    border-color: rgba(255, 255, 255, .3);
    cursor: default;
}

.lah-stats {
    display: flex;
    gap: 34px;
    flex-shrink: 0;
    text-align: center;
}

.lah-stat b {
    display: block;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 600;
}

.lah-stat span {
    font-size: 12px;
    color: rgba(255, 255, 255, .65);
}

@media (max-width: 640px) {
    .lah-inner {
        flex-wrap: wrap;
        padding: 22px 18px;
    }

    .lah-stats {
        width: 100%;
        justify-content: flex-start;
    }
}

/* ---------- 文章页 ---------- */
.l-article {
    position: relative;
    padding: 24px;
}

.la-title {
    margin: 0 0 10px;
    font-size: 24px;
    line-height: 1.4;
}

.la-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    font-size: 12px;
    color: var(--l-text3);
    padding-bottom: 14px;
    border-bottom: 1px solid var(--l-line);
}

.la-meta .lam-item > i {
    margin-right: 4px;
}

.la-author-bar {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid var(--l-line);
}

/* 精华印章（作者栏内，压在底部线条上） */
.la-jh {
    position: absolute;
    right: 0;
    bottom: -26px;
    width: 100px;
    height: auto;
    pointer-events: none;
    z-index: 3;
}

@media (max-width: 600px) {
    .la-jh {
        bottom: -18px;
        width: 64px;
    }
}

/* 作者头像宿主 + VIP 角标（40px 头像，角标中心压圆周右下）；头像、名称各自可点 */
.lab-ava {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    border-radius: 50%;
    overflow: visible;
}

.lab-ava img,
.lab-ava .l-avf {
    border-radius: 50%;
}

.lab-info {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    flex: 1;
    min-width: 0;
}

.lab-info b {
    font-size: 14px;
}

.lab-name {
    color: inherit;
}

.lab-name:hover {
    color: var(--l-primary);
}

.lab-info i {
    font-style: normal;
    font-size: 12px;
    color: var(--l-text3);
}

.la-cover {
    margin: 16px 0;
    border: 1px solid var(--l-line);
}

.la-cover img {
    display: block;
    width: 100%;
}

.la-content {
    padding: 18px 0;
    font-size: 15px;
    word-break: break-word;
}

.la-content img {
    cursor: zoom-in;
}

/* 文章正文结束分割线：两侧渐隐灰线 + THE END */
.la-end {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 28px 0 8px;
}

.la-end::before,
.la-end::after {
    content: '';
    flex: 1;
    height: 1px;
}

.la-end::before {
    background: linear-gradient(to right, rgba(0, 0, 0, .1), rgba(0, 0, 0, .02));
}

.la-end::after {
    background: linear-gradient(to right, rgba(0, 0, 0, .02), rgba(0, 0, 0, .1));
}

.la-end-txt {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    color: var(--l-text3);
    white-space: nowrap;
}

html.dark .la-end::before {
    background: linear-gradient(to right, rgba(255, 255, 255, .14), rgba(255, 255, 255, .03));
}

html.dark .la-end::after {
    background: linear-gradient(to right, rgba(255, 255, 255, .03), rgba(255, 255, 255, .14));
}

/* 版权声明（THE END 下方声明框，顶部框线在标题处断开） */
.la-copyright {
    position: relative;
    margin: 34px 0 14px;
    padding: 26px 18px 12px;
    border: 1px solid rgba(61, 149, 242, .35);
    border-top: none;
    background: linear-gradient(180deg, #f2f8ff 0%, #fbfdff 100%);
    box-shadow: 0 4px 16px rgba(61, 149, 242, .10);
}

/* 顶部两段框线：中间让位给标题文字 */
.la-copyright::before,
.la-copyright::after {
    content: '';
    position: absolute;
    top: 0;
    height: 1px;
    width: max(0px, calc(50% - 56px));
    background: rgba(61, 149, 242, .35);
}

.la-copyright::before {
    left: 0;
}

.la-copyright::after {
    right: 0;
}

/* 标题：透明背景，文字骑在框线中心 */
.la-copyright .lac-t {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 6px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 3px;
    text-indent: 3px;
    color: var(--l-text3);
    white-space: nowrap;
}

.la-copyright .lac-t i {
    font-size: 14px;
    text-indent: 0;
    color: var(--l-primary);
}

/* 作者 / 链接行：淡蓝信息条 */
.la-copyright .lac-body p {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    margin: 8px 0;
    padding: 6px 12px;
    font-size: 13px;
    color: var(--l-text2);
    background: rgba(61, 149, 242, .06);
}

.la-copyright .lac-body p b {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    flex-shrink: 0;
    color: var(--l-text);
}

.la-copyright .lac-body p b i {
    font-size: 12px;
    color: var(--l-primary);
}

.la-copyright .lac-body p > i {
    font-style: normal;
    color: var(--l-primary);
    font-weight: 600;
}

.la-copyright .lac-body p a {
    color: var(--l-primary);
    word-break: break-all;
}

.la-copyright .lac-body ol {
    margin: 10px 0 4px;
    padding: 0;
    list-style: none;
    counter-reset: lac;
}

.la-copyright .lac-body ol li {
    position: relative;
    margin: 7px 0;
    padding-left: 28px;
    font-size: 13px;
    line-height: 20px;
    color: var(--l-text2);
    counter-increment: lac;
}

/* 数字角标：蓝紫渐变圆角块 */
.la-copyright .lac-body ol li::before {
    content: counter(lac);
    position: absolute;
    left: 0;
    top: 1px;
    width: 18px;
    height: 18px;
    font-size: 12px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    color: #fff;
    background: linear-gradient(135deg, #5aa9f6, #3d6df2);
    box-shadow: 0 2px 5px rgba(61, 110, 242, .35);
}

html.dark .la-copyright {
    border-color: rgba(61, 149, 242, .3);
    background: linear-gradient(180deg, rgba(61, 149, 242, .10), rgba(61, 149, 242, .04));
    box-shadow: none;
}

html.dark .la-copyright::before,
html.dark .la-copyright::after {
    background: rgba(61, 149, 242, .3);
}

html.dark .la-copyright .lac-body p {
    background: rgba(61, 149, 242, .10);
}

.la-tags {
    padding-top: 6px;
}

/* 文章内容页标签：直角彩色标签 + # 前缀（颜色按标签名哈希随机） */
.la-tags .l-tag {
    display: inline-block;
    padding: 4px 14px;
    background: rgba(var(--tagc, 100, 116, 139), .10);
    border: none;
    font-size: 13px;
    line-height: 1.6;
    color: rgb(var(--tagc, 100, 116, 139));
    margin: 0 10px 8px 0;
    transition: color 0.2s, background 0.2s;
}

.la-tags .l-tag::before {
    content: '#';
    margin-right: 4px;
    opacity: .7;
}

.la-tags .l-tag:hover {
    color: #fff;
    background: rgb(var(--tagc, 100, 116, 139));
}

html.dark .la-tags .l-tag {
    background: rgba(var(--tagc, 100, 116, 139), .16);
}

.la-actions {
    display: flex;
    justify-content: center;
    gap: 16px;
    padding: 16px 0;
    border-top: 1px solid var(--l-line);
    border-bottom: 1px solid var(--l-line);
    margin: 16px 0;
}

.l-act {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 6px 14px;
    background: transparent;
    border: 0;
    cursor: pointer;
    font-size: 13px;
    color: var(--l-text2);
    transition: all 0.2s;
}

.l-act:hover,
.l-act.on {
    color: var(--l-primary);
    background: transparent;
}

/* 分享伸拉面板 */
.ls-wrap {
    position: relative;
    display: inline-flex;
}

.ls-panel {
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%) translateY(6px);
    min-width: 148px;
    padding: 6px 0;
    background: var(--l-card);
    border: 1px solid var(--l-line);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
    z-index: 99;
    max-height: 0;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    transition: max-height 0.28s ease, opacity 0.2s ease, transform 0.28s ease, visibility 0.28s;
}

.ls-wrap.open .ls-panel {
    max-height: 300px;
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.ls-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    font-size: 14px;
    color: var(--l-text);
    text-decoration: none;
    transition: all 0.2s;
}

.ls-item:hover {
    background: var(--l-bg);
    color: var(--l-primary);
}

.ls-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    flex: none;
    background: var(--l-bg);
    border: 1px solid var(--l-line);
    border-radius: 50% !important;
    box-sizing: border-box;
}

.ls-ico :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 18px;
    line-height: 1;
}

.ls-item[data-ls="qzone"] .ls-ico {
    background: #ffc028;
    border-color: #ffc028;
    color: #ffffff;
}

.ls-item[data-ls="weibo"] .ls-ico {
    background: #e6162d;
    border-color: #e6162d;
    color: #ffffff;
}

.ls-item[data-ls="qq"] .ls-ico {
    background: #000000;
    border-color: #000000;
    color: #ffffff;
}

.ls-item[data-ls="poster"] .ls-ico {
    background: #ff8f1f;
    border-color: #ff8f1f;
    color: #ffffff;
}

.ls-item[data-ls="copy"] .ls-ico {
    background: #1774e6;
    border-color: #1774e6;
    color: #ffffff;
}

/* 海报弹窗（仿 zibll：无标题栏，海报卡片 + 底部圆形操作钮） */
.lsp-mask {
    position: fixed;
    inset: 0;
    background: rgba(15, 22, 34, 0.72);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px 20px;
}

.lsp-mask.show {
    display: flex;
}

.lsp-modal {
    width: 360px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    animation: lspIn 0.24s ease;
}

@keyframes lspIn {
    from { opacity: 0; transform: translateY(18px) scale(0.97); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.lsp-card {
    position: relative;
    width: 100%;
    max-height: calc(100vh - 150px);
    overflow: auto;
    background: #ffffff;
    border-radius: 14px !important;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.4);
}

.lsp-card canvas {
    display: block;
    width: 100% !important;
    max-width: 100%;
    height: auto !important;
}

.lsp-loading {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 13px;
    color: #999999;
}

.lsp-actions {
    display: flex;
    justify-content: center;
    gap: 18px;
    margin-top: 20px;
    flex-shrink: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s, visibility 0.2s;
}

.lsp-actions.on {
    opacity: 1;
    visibility: visible;
}

@media (hover: none) {
    .lsp-actions {
        opacity: 1;
        visibility: visible;
    }
}

.lsp-act {
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 50% !important;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.28);
    transition: none;
}

.lsp-act.save {
    background: linear-gradient(135deg, #4da1ff, #1774e6);
}

.lsp-act.close {
    background: linear-gradient(135deg, #ff9a5c, #f4573d);
}

.l-neighbor {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 48.5%;
    padding: 10px 12px;
    border: 1px solid var(--l-line);
    background: var(--l-bg);
    font-size: 13px;
    color: var(--l-text2);
    box-sizing: border-box;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.l-neighbor span {
    color: var(--l-text3);
    flex-shrink: 0;
}

.l-neighbor.next {
    float: right;
    justify-content: flex-end;
}

/* 无上/下一篇时的占位 */
.l-neighbor.none {
    color: var(--l-text3);
    border-style: dashed;
    cursor: default;
}

.l-neighbor.none span {
    color: var(--l-text3);
}

.la-neighbor {
    display: flex;
    justify-content: space-between;
    gap: 3%;
    overflow: hidden;
    margin-bottom: 16px;
}

/* ---------- 内容隐藏遮罩（虚线框居中式） ---------- */
.light-lock {
    margin: 28px 0;
    padding: 24px 16px 22px;
    text-align: center;
    border: 1px dashed var(--l-line);
}

.light-lock .lk-ico i {
    font-size: 17px;
    color: var(--l-text3);
}

.light-lock .lk-title {
    margin-top: 8px;
    font-size: 15px;
    font-weight: 400;
    color: var(--l-text);
}

.light-lock .lk-sub {
    margin-top: 6px;
    font-size: 13px;
    color: var(--l-text3);
}

.lk-sep {
    margin: 0 7px;
    opacity: .5;
}

.light-lock .lk-chs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-top: 14px;
}

.light-lock .lk-ch {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border: 1px solid var(--l-line);
    background: var(--l-card);
    font-size: 13px;
    color: var(--l-text2);
    transition: border-color .15s, color .15s;
}

.light-lock .lk-ch i {
    font-size: 15px;
}

.light-lock .lk-ch:hover {
    border-color: var(--l-primary);
    color: var(--l-primary);
}

.light-lock .lk-btn {
    display: inline-block;
    margin-top: 14px;
    padding: 9px 30px;
    background: var(--l-primary);
    color: #fff;
    font-size: 14px;
    cursor: pointer;
    transition: background .15s;
}

.light-lock .lk-btn:hover {
    background: var(--l-primary-dark);
    color: #fff;
}

.light-lock .lk-pwd {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
}

/* 免登录购买：邮箱输入（接收阅读链接） */
.light-lock .lk-email {
    display: block;
    width: 260px;
    max-width: 86%;
    height: 37px;
    line-height: 37px;
    margin: 14px auto 0;
    padding: 0 12px;
    font-size: 13px;
    font-family: inherit;
    color: var(--l-text);
    background: var(--l-bg);
    border: 1px solid var(--l-line);
    outline: none;
}

.light-lock .lk-email:focus {
    border-color: var(--l-primary);
}

.light-lock .lk-email + .lk-chs {
    margin-top: 12px;
}

.lk-pwd-input {
    width: 190px;
    padding: 0 10px;
    height: 37px;
    border: 1px solid var(--l-line);
    background: var(--l-card);
    color: var(--l-text);
    outline: none;
    transition: border-color .15s;
}

.lk-pwd-input:focus {
    border-color: var(--l-primary);
}

.light-lock .lk-pwd .lk-btn {
    margin-top: 0;
    padding: 0 22px;
    height: 37px;
    border: 0;
    line-height: 37px;
    font-family: inherit;
    font-size: 14px;
    appearance: none;
    -webkit-appearance: none;
}

/* 文章在线购买支付浮层 */
.l-artpay-mask {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0, 0, 0, .55);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

.l-artpay-card {
    position: relative;
    width: 300px;
    max-width: 90vw;
    background: var(--l-card);
    padding: 22px 18px 20px;
    text-align: center;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .25);
}

.l-artpay-close {
    position: absolute;
    top: 6px;
    right: 8px;
    border: 0;
    background: none;
    font-size: 22px;
    line-height: 1;
    color: var(--l-text3);
    cursor: pointer;
    padding: 4px;
}

.l-artpay-close:hover {
    color: var(--l-text);
}

.l-artpay-title {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 14px;
}

.l-artpay-qr {
    display: block;
    width: 220px;
    height: 220px;
    margin: 0 auto 12px;
    background: #fff;
    padding: 6px;
}

.l-artpay-tip {
    font-size: 13px;
    color: var(--l-text2);
    line-height: 1.7;
}

/* ---------- 评论 ---------- */
.l-comments-title {
    font-size: 15px;
    font-weight: 700;
    margin: 20px 0 12px;
}

.l-comments {
    margin-bottom: 16px;
}

/* 评论空状态插图 */
.lcmt-empty {
    text-align: center;
    padding: 28px 16px 12px;
}

.lcmt-empty img {
    width: 200px;
    height: auto;
    display: inline-block;
}

.lcmt-empty p {
    margin: 6px 0 0;
    font-size: 13px;
    color: var(--l-text3);
}

html.dark .lcmt-empty img {
    filter: brightness(.82);
    opacity: .6;
}

.l-comment {
    display: flex;
    gap: 12px;
    padding: 16px 0;
    border-bottom: 1px dashed var(--l-line);
}

.l-comment .l-comment {
    margin: 14px 0 0;
    padding: 14px;
    background: var(--l-bg);
    border-radius: 4px;
}

.lc-avatar-wrap {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    line-height: 0;
}

/* VIP 图标（默认行内图标，用于标签/按钮等文本场景；单色图标，主题蓝） */
.fa-crown {
    font-size: 16px;
    color: var(--l-primary, #1774e6);
    line-height: 1;
}

/* 头像右下 VIP 角标已改用 images/v.gif 动图：定位复用 .fa-crown 钩子，尺寸跟随各处 font-size 分档 */
img.l-vip-gif {
    height: 1em;
    width: auto;
    display: block;
    border-radius: 0 !important;
}

/* 头像容器内自动成为右下角角标 */
.llc-avatar > .fa-crown,
.lah-avatar > .fa-crown,
.luc-banner-avatar > .fa-crown,
.l-side-avatar > .fa-crown,
.lli-avatar > .fa-crown,
.l-user-trigger > .fa-crown,
.lc-avatar-wrap > .fa-crown,
.lab-ava > .fa-crown,
.l-avf + .fa-crown {
    position: absolute;
    right: -3px;
    bottom: -3px;
    z-index: 2;
}

/* 大头像按比例放大 */
.l-side-avatar > .fa-crown {
    right: -2px;
    bottom: -2px;
    font-size: 12px;
}

/* 有头像框时，角标贴在框环的右下边缘（环外缘仅比头像边大几像素，小偏移即可） */
.l-avf + .fa-crown {
    right: -4px;
    bottom: -4px;
}

.l-avf.sm + .fa-crown {
    right: -5px;
    bottom: -5px;
}

.l-avf.lg + .fa-crown {
    right: -7px;
    bottom: -7px;
}

/* 大头像（80/88/112px）：皇冠角标随头像等比放大，不带底圈 */
.llc-avatar > .fa-crown,
.lah-avatar > .fa-crown {
    right: -2px;
    bottom: -2px;
    font-size: 22px;
}

.luc-banner-avatar > .fa-crown {
    right: -3px;
    bottom: -3px;
    font-size: 24px;
}

.lc-avatar-wrap .lc-avatar {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50% !important;
}

.lc-avatar {
    width: 40px;
    height: 40px;
    object-fit: cover;
    flex-shrink: 0;
}

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

.lc-head {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}

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

.lc-head b.lc-name a {
    color: var(--l-text);
    text-decoration: none;
}

.lc-head b.lc-name a:hover {
    color: var(--l-primary);
}

.lc-head .l-lvimg {
    height: 16px;
    vertical-align: -3px;
    margin-left: 2px;
}

.lc-head .lc-cert {
    margin-left: 2px;
}

.lc-role {
    display: inline-block;
    margin-left: 4px;
    padding: 0 6px;
    font-size: 11px;
    line-height: 16px;
    height: 16px;
    vertical-align: 1px;
    border-radius: 2px;
    font-weight: 500;
}

.lc-role.guest {
    color: #999;
    background: #f2f2f2;
}

.lc-role.author {
    color: #fff;
    background: var(--l-primary);
}

.lc-role.admin {
    color: #fff;
    background: var(--l-danger, #e74c3c);
}

.lc-content {
    font-size: 14px;
    margin: 6px 0;
    word-break: break-word;
    line-height: 1.6;
    color: var(--l-text2);
}

.lc-foot {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 12px;
    color: var(--l-text3);
}

.lc-foot .lc-time { color: var(--l-text3); }

.lc-foot .lc-reply {
    background: none;
    border: none;
    padding: 0;
    color: var(--l-text3);
    font-size: 12px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    transition: color .2s;
}

.lc-foot .lc-reply:hover { color: var(--l-primary); }

/* 评论昵称行徽章图标略缩小适配 */
.lc-head .l-medal-img {
    width: 14px;
    height: 14px;
    vertical-align: -3px;
}

.lc-floor {
    display: inline-block;
    margin-left: auto; /* 推到昵称行最右侧 */
    padding: 1px 8px;
    font-size: 11px;
    line-height: 16px;
    color: var(--l-text3);
    background: var(--l-bg);
    border: 1px solid var(--l-line);
    vertical-align: 1px;
    white-space: nowrap;
}

.lc-floor.hot {
    color: #fff;
    background: var(--l-primary);
    border-color: var(--l-primary);
}

.lc-ip, .lc-dev {
    display: inline-block;
    font-size: 12px;
    color: var(--l-text3);
}

/* 评论内容中的表情图 */
.lc-content img.lc-emo {
    display: inline-block;
    width: 24px;
    height: 24px;
    vertical-align: -6px;
    margin: 0 1px;
}

/* 评论表单工具栏：表情按钮 + 快捷评论 */
.lcf-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: -4px 0 10px;
    font-size: 12px;
}

.lcf-emo-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    font-size: 12px;
    color: var(--l-text2);
    background: var(--l-card);
    border: 1px solid var(--l-line);
    cursor: pointer;
    transition: all 0.2s;
}

.lcf-emo-btn:hover {
    color: var(--l-primary);
    border-color: var(--l-primary);
}

.lcf-emo-btn :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 14px;
}

/* 快捷评论上拉面板：锚定工具栏，悬浮于按钮上方 */
.lcf-tools {
    position: relative;
}

.lqc-panel {
    position: absolute;
    left: 0;
    bottom: calc(100% + 8px);
    width: 280px;
    max-height: 240px;
    overflow-y: auto;
    background: var(--l-card);
    border: 1px solid var(--l-line);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
    z-index: 30;
}

html.dark .lqc-panel {
    box-shadow: 0 8px 24px rgba(0, 0, 0, .5);
}

.lqc-panel::-webkit-scrollbar {
    width: 6px;
}

.lqc-panel::-webkit-scrollbar-thumb {
    background: var(--l-line);
}

.lqc-item {
    display: block;
    padding: 10px 14px;
    font-size: 13px;
    line-height: 1.6;
    color: var(--l-text2);
    border-bottom: 1px dashed var(--l-line);
    transition: all 0.2s;
}

.lqc-item:last-child {
    border-bottom: 0;
}

.lqc-item:hover {
    color: var(--l-primary);
    background: var(--l-bg);
}

/* 表情面板 */
.l-emoji-panel {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(34px, 1fr));
    gap: 4px;
    max-height: 176px;
    overflow-y: auto;
    padding: 8px;
    margin: -6px 0 10px;
    background: var(--l-card);
    border: 1px solid var(--l-line);
}

.l-emoji-panel .l-emoji {
    width: 28px;
    height: 28px;
    padding: 2px;
    cursor: pointer;
    box-sizing: content-box;
    transition: background 0.2s;
}

.l-emoji-panel .l-emoji:hover {
    background: var(--l-bg);
}

.l-com-form textarea,
.l-com-form input,
.ltd-reply-form textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 9px 10px;
    border: 1px solid var(--l-line);
    outline: none;
    font-size: 14px;
    background: var(--l-card);
    margin-bottom: 10px;
    font-family: inherit;
    resize: vertical;
}

.l-com-form textarea:focus,
.l-com-form input:focus,
.ltd-reply-form textarea:focus {
    border-color: var(--l-primary);
}

/* 评论输入框水印图：聚焦时滑出（话题回复框同步此样式） */
textarea#comment,
.ltd-reply-form textarea {
    background-color: transparent;
    background: linear-gradient(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05)), url('https://img.alicdn.com/imgextra/i4/2210123621994/O1CN01fyaNxJ1QbIt4rd9gp_!!2210123621994.png') right 10px bottom 10px no-repeat;
    transition: ease-in-out 0.45s;
}

textarea#comment:focus,
.ltd-reply-form textarea:focus {
    background-position-y: 789px;
    transition: ease-in-out 0.45s;
}

.lcf-row {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
}

/* 带小图标的表单字段（昵称 / 邮箱 / 验证码） */
.lcf-field {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    height: 34px;
    padding: 0 12px;
    background: var(--l-card); /* 与内容输入框 textarea 同底色 */
    border: 1px solid var(--l-line);
    transition: border-color .2s;
    cursor: text;
}

.lcf-field:focus-within {
    border-color: var(--l-primary);
    background: var(--l-card);
}

.lcf-field :is(.fa-solid,.fa-regular,.fa-brands) {
    flex-shrink: 0;
    font-size: 15px;
    color: var(--l-text3);
    transition: color .2s;
}

.lcf-field:focus-within :is(.fa-solid,.fa-regular,.fa-brands) {
    color: var(--l-primary);
}

.lcf-field input {
    flex: 1;
    min-width: 0;
    width: auto;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    outline: none;
    font-size: 14px;
    color: var(--l-text1);
}

.lcf-foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    font-size: 13px;
    color: var(--l-text3);
}

/* ---------- 话题 ---------- */
.l-topic-post .ltp-row {
    margin-bottom: 10px;
}

.l-topic-post input[type="text"],
.l-topic-post textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 9px 10px;
    border: 1px solid var(--l-line);
    outline: none;
    font-size: 14px;
    font-family: inherit;
    resize: vertical;
}

.l-topic-post textarea:focus,
.l-topic-post input:focus {
    border-color: var(--l-primary);
}

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

.ltp-vote-toggle {
    font-size: 13px;
    color: var(--l-text2);
    cursor: pointer;
}

/* ---------------- 榜单 Tab（无框 + 波浪下划线） ---------------- */
.l-rank-tabs {
    display: flex;
    align-items: center;
    gap: 26px;
    padding: 18px 6px;
}

.l-rank-tabs a {
    position: relative;
    padding: 6px 2px 10px;
    font-size: 15px;
    font-weight: 500;
    color: var(--l-text2);
    transition: color .2s;
}

.l-rank-tabs a:hover {
    color: var(--l-text);
}

.l-rank-tabs a.active {
    color: var(--l-text);
    font-weight: 700;
}

/* 波浪下划线：主题色波浪沿 X 轴流动 */
.l-rank-tabs a.active::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 6px;
    background: var(--l-primary);
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='6' viewBox='0 0 18 6'%3E%3Cpath d='M0 3Q4.5 0 9 3T18 3' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");
    -webkit-mask-repeat: repeat-x;
    -webkit-mask-position: left bottom;
    -webkit-mask-size: 18px 6px;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='6' viewBox='0 0 18 6'%3E%3Cpath d='M0 3Q4.5 0 9 3T18 3' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");
    mask-repeat: repeat-x;
    mask-position: left bottom;
    mask-size: 18px 6px;
    animation: lRankWave 1.1s linear infinite;
}

@keyframes lRankWave {
    to {
        -webkit-mask-position: 18px bottom;
        mask-position: 18px bottom;
    }
}

@media (prefers-reduced-motion: reduce) {
    .l-rank-tabs a.active::after {
        animation: none;
    }
}

.l-topic-tabs {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
}

.l-topic-tabs a {
    padding: 4px 14px;
    font-size: 13px;
    color: var(--l-text2);
    border: 1px solid var(--l-line);
}

.l-topic-tabs a.active {
    color: var(--l-primary);
    border-color: var(--l-primary);
}

.ltt-total {
    margin-left: auto;
    font-size: 12px;
    color: var(--l-text3);
}

/* ---------------- 话题板块 ---------------- */
.l-board-nav {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    flex-wrap: wrap;
}

.lbn-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 14px;
    font-size: 13px;
    color: var(--l-text2);
    background: var(--l-bg);
    border: 1px solid var(--l-line);
    transition: all 0.15s ease;
}

.lbn-item i {
    font-size: 11px;
    opacity: 0.75;
}

.lbn-item em {
    font-style: normal;
    font-size: 11px;
    line-height: 1;
    padding: 3px 6px;
    background: rgba(0, 0, 0, 0.06);
    color: var(--l-text3);
}

.lbn-item:hover {
    color: var(--bcolor, var(--l-primary));
    border-color: var(--bcolor, var(--l-primary));
}

.lbn-item.active {
    color: #fff;
    background: var(--bcolor, var(--l-primary));
    border-color: var(--bcolor, var(--l-primary));
}

.lbn-item.active em {
    background: rgba(255, 255, 255, 0.22);
    color: #fff;
}

/* 话题列表 / 详情页板块彩色标签 */
.lti-board {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 10px;
    font-size: 12px;
    font-weight: 500;
    line-height: 18px;
    color: var(--bcolor, var(--l-primary));
    background: color-mix(in srgb, var(--bcolor, var(--l-primary)) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--bcolor, var(--l-primary)) 28%, transparent);
    vertical-align: 2px;
    margin-right: 6px;
}

.lti-board i {
    font-size: 10px;
    opacity: 0.8;
}

.lti-board:hover {
    color: #fff;
    background: var(--bcolor, var(--l-primary));
}

/* 发布框板块选择器 */
.ltp-board-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    flex-wrap: wrap;
}

.ltp-board-label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    color: var(--l-text2);
    line-height: 30px;
    flex-shrink: 0;
}

.ltp-board-label i {
    font-size: 12px;
}

.ltp-boards {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    flex: 1;
    min-width: 0;
}

.ltp-b {
    padding: 5px 14px;
    font-size: 13px;
    color: var(--l-text2);
    background: var(--l-bg);
    border: 1px solid var(--l-line);
    cursor: pointer;
    transition: all 0.15s ease;
}

.ltp-b:hover {
    color: var(--bcolor, var(--l-primary));
    border-color: var(--bcolor, var(--l-primary));
}

.ltp-b.on {
    color: #fff;
    background: var(--bcolor, var(--l-primary));
    border-color: var(--bcolor, var(--l-primary));
}

/* 后台板块管理：色板 + 色点 */
.l-board-palette {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.lbp-item {
    width: 26px;
    height: 26px;
    padding: 0;
    border: 2px solid transparent;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
    cursor: pointer;
    transition: transform 0.12s ease;
}

.lbp-item:hover {
    transform: translateY(-2px);
}

.lbp-item.on {
    border-color: var(--l-card);
    box-shadow: 0 0 0 2px var(--l-text2);
}

.lbp-tip {
    font-size: 12px;
    color: var(--l-text3);
    margin-left: 4px;
}

.lbdot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    margin-right: 6px;
    vertical-align: -3px;
    font-size: 9px;
    color: #fff;
}

.l-topic-item {
    display: flex;
    gap: 12px;
}

.lti-body {
    flex: 1;
    min-width: 0;
}

.lti-head {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
}

.lti-user {
    color: var(--l-text2);
}

.lti-time {
    color: var(--l-text3);
    font-size: 12px;
    margin-left: auto;
}

.lti-title {
    margin: 6px 0 4px;
    font-size: 15px;
}

.lti-title.big {
    font-size: 20px;
    margin: 14px 0 10px;
}

.lti-summary {
    margin: 0 0 8px;
    font-size: 13px;
    color: var(--l-text3);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lti-meta {
    display: flex;
    gap: 14px;
    font-size: 12px;
    color: var(--l-text3);
}

/* 话题详情 */
.ltd-head {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ltd-head-info {
    display: flex;
    align-items: center;
    gap: 8px;
}

.lti-content {
    font-size: 15px;
    padding-top: 4px;
}

.ltd-meta {
    display: flex;
    gap: 14px;
    font-size: 12px;
    color: var(--l-text3);
    padding-top: 12px;
    border-top: 1px dashed var(--l-line);
}

/* 投票 */
.ltd-vote {
    margin: 16px 0;
    border: 1px solid var(--l-line);
    background: linear-gradient(180deg, rgba(23, 116, 230, .05), rgba(23, 116, 230, 0) 55%), var(--l-card);
    padding: 16px;
}

.ltd-vote-head {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 12px;
}

.ltd-vote-title i {
    color: var(--l-primary);
}

.ltd-vote-count {
    font-size: 12px;
    font-weight: 400;
    color: var(--l-primary);
    background: rgba(23, 116, 230, .08);
    padding: 2px 8px;
}

.ltd-opt {
    position: relative;
    margin-bottom: 10px;
    border: 1px solid var(--l-line);
    background: var(--l-card);
    overflow: hidden;
    transition: border-color .2s ease;
}

.ltd-opt:hover {
    border-color: var(--l-primary);
}

.ltd-opt.mine {
    border-color: var(--l-primary);
    background: rgba(23, 116, 230, .04);
}

.ltd-opt-bar {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    background: linear-gradient(90deg, rgba(23, 116, 230, .16), rgba(23, 116, 230, .05));
    z-index: 0;
    transition: width .6s ease;
}

.ltd-opt-row {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    font-size: 13px;
}

.ltd-opt-text {
    min-width: 0;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 500;
}

/* 我的选中标记 */
.ltd-mine-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 8px;
    font-size: 12px;
    font-weight: 600;
    color: var(--l-primary);
}

.ltd-opt-num {
    color: var(--l-text3);
    flex-shrink: 0;
    font-size: 12px;
}

.ltd-opt-num b {
    color: var(--l-primary);
    font-size: 15px;
}

.ltd-opt-btn {
    border: none;
    background: var(--l-primary);
    color: #fff;
    padding: 5px 14px;
    cursor: pointer;
    font-size: 12px;
    flex-shrink: 0;
    transition: opacity .2s ease;
}

.ltd-opt-btn:hover {
    opacity: .88;
}

.ltd-vote-tip {
    font-size: 12px;
    color: var(--l-text3);
    margin: 6px 0 0;
}

/* 话题列表内嵌投票区块：紧凑化 */
.lti-vote {
    margin: 10px 0 2px;
    padding: 12px;
}

.lti-vote .ltd-opt-row {
    padding: 8px 10px;
}

html.dark .ltd-vote {
    background: linear-gradient(180deg, rgba(64, 140, 240, .08), rgba(64, 140, 240, 0) 55%), var(--l-card);
}

html.dark .ltd-vote-count {
    background: rgba(64, 140, 240, .14);
}

html.dark .ltd-opt.mine {
    background: rgba(64, 140, 240, .08);
}

html.dark .ltd-opt-bar {
    background: linear-gradient(90deg, rgba(64, 140, 240, .22), rgba(64, 140, 240, .06));
}

/* 回复：复用文章评论样式（.l-comment 结构），此处仅保留表单 */
.ltd-reply-form {
    margin-top: 16px;
}

/* 回复目标状态条（回复某条回复时显示） */
.l-replying {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: var(--l-primary);
    background: rgba(23, 116, 230, .07);
    padding: 6px 10px;
    margin-bottom: 8px;
}

.l-replying b {
    font-weight: 600;
}

.l-replying button {
    margin-left: auto;
    border: none;
    background: transparent;
    color: var(--l-text3);
    cursor: pointer;
    font-size: 12px;
    padding: 2px 4px;
}

.l-replying button:hover {
    color: var(--l-text);
}

html.dark .l-replying {
    background: rgba(64, 140, 240, .12);
}

/* 管理端：话题回复列表 */
.l-adm-list li.ltr-box {
    display: none;
    background: var(--l-bg);
    border-bottom: 1px dashed var(--l-line);
    padding: 12px 14px;
}

.ltr-box .ltr-loading,
.ltr-box .ltr-empty {
    font-size: 13px;
    color: var(--l-text3);
    padding: 8px 0;
}

.ltr-box .ltr-item {
    padding: 10px 0;
    border-bottom: 1px dashed var(--l-line);
}

.ltr-box .ltr-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.ltr-box .ltr-head {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: var(--l-text3);
}

.ltr-box .ltr-head b {
    color: var(--l-text);
    font-size: 13px;
}

.ltr-box .ltr-head em {
    font-style: normal;
    font-size: 11px;
    color: var(--l-primary);
    background: rgba(23, 116, 230, .08);
    padding: 1px 6px;
}

.ltr-box .ltr-head time {
    margin-left: auto;
}

.ltr-box .ltr-item p {
    margin: 6px 0;
    font-size: 13px;
    line-height: 1.7;
    word-break: break-word;
}

/* 审核历史记录（认证/勋章申请） */
.ladm-sub-tabs {
    display: flex;
    gap: 4px;
    margin-bottom: 12px;
    border-bottom: 1px solid var(--l-line);
}

.ladm-sub {
    position: relative;
    font-size: 13px;
    color: var(--l-text3);
    padding: 8px 12px;
    cursor: pointer;
    user-select: none;
}

.ladm-sub:hover {
    color: var(--l-text);
}

.ladm-sub.on {
    color: var(--l-primary);
    font-weight: 600;
}

.ladm-sub.on::after {
    content: '';
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: -1px;
    height: 2px;
    background: var(--l-primary);
}

.ladm-sub em {
    font-style: normal;
    font-size: 11px;
    color: #fff;
    background: var(--l-primary);
    padding: 1px 6px;
    margin-left: 4px;
    vertical-align: 1px;
}

.l-adm-list li.l-his-head {
    font-size: 13px;
    font-weight: 600;
    color: var(--l-text);
    padding: 14px 0 6px;
    border-bottom: 1px solid var(--l-line);
}

.l-his-flag {
    font-style: normal;
    font-size: 12px;
    padding: 3px 10px;
    white-space: nowrap;
}

.l-his-flag.ok {
    color: #1a9c6b;
    background: rgba(26, 156, 107, .1);
}

.l-his-flag.no {
    color: #e05a5a;
    background: rgba(224, 90, 90, .1);
}

.l-his-flag.revoked {
    color: #e08c2b;
    background: rgba(224, 140, 43, .12);
}

html.dark .l-his-flag.ok {
    background: rgba(26, 156, 107, .16);
}

html.dark .l-his-flag.no {
    background: rgba(224, 90, 90, .16);
}

html.dark .l-his-flag.revoked {
    background: rgba(224, 140, 43, .18);
}

/* ---------- 榜单 ---------- */
.l-rank-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px dashed var(--l-line);
    font-size: 14px;
}

.l-rank-list li:last-child {
    border-bottom: none;
}

.l-rank-list .rk {
    font-style: normal;
    width: 22px;
    height: 22px;
    line-height: 22px;
    text-align: center;
    background: var(--l-bg);
    color: var(--l-text3);
    font-size: 12px;
    flex-shrink: 0;
}

.l-rank-list .rk1 { background: var(--l-danger); color: #fff; }
.l-rank-list .rk2 { background: #e6a23c; color: #fff; }
.l-rank-list .rk3 { background: #e6c02a; color: #fff; }

.l-rank-main {
    flex: 1;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

/* 榜单头像容器：VIP 动图定位到头像右下角 */
.lrk-ava {
    position: relative;
    display: inline-flex;
    flex-shrink: 0;
    line-height: 0;
}

.lrk-ava > .fa-crown {
    position: absolute;
    right: -3px;
    bottom: -3px;
    z-index: 2;
    font-size: 10px;
}

.l-rank-name {
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.l-rank-num {
    color: var(--l-text3);
    font-size: 12px;
    flex-shrink: 0;
}

/* ---------- 个人中心 ---------- */
/* 独立块级布局：绕开 .l-main 的 flex（避免横幅/内容区并排错位） */
.l-uc-main {
    display: block;
}

/* 纯图横幅：图片完整清晰显示，无遮罩、无文字覆盖 */
.luc-banner {
    width: 100%;
    height: 440px;
    border: 1px solid var(--l-line);
    border-bottom: none;
    background: url('../images/uc-banner.jpg?v=2') center/cover no-repeat;
}

/* 横幅下方信息条：头像上叠压图片边缘 */
.luc-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
    padding: 0 24px 16px;
    background: var(--l-card);
    border: 1px solid var(--l-line);
}

.luc-head-l {
    display: flex;
    align-items: flex-start;
    gap: 34px;
    min-width: 0;
    margin-left: 50px;
}

.luc-banner-avatar {
    position: relative;
    width: 112px;
    height: 112px;
    margin-top: -46px;
    line-height: 0;
    flex-shrink: 0;
    cursor: pointer;
    box-shadow: 0 0 0 3px var(--l-card);
}

/* 横幅头像圆形（头像框为圆形设计） */
.luc-banner-avatar {
    border-radius: 50% !important;
}

.luc-banner-avatar .l-avatar {
    border-radius: 50% !important;
}

/* 悬停修改头像遮罩（圆形覆盖头像） */
.luc-ava-mask {
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    width: 100%;
    height: 100%;
    border-radius: 50% !important;
    background: rgba(0, 0, 0, .55);
    color: #fff;
    font-style: normal;
    font-size: 12px;
    line-height: 1;
    text-align: center;
    opacity: 0;
    z-index: 3;
    transition: opacity .2s;
}

.luc-ava-mask :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 18px;
    line-height: 1;
}

.luc-banner-avatar:hover .luc-ava-mask {
    opacity: 1;
}

.luc-banner-main {
    flex: 1;
    min-width: 0;
    padding-top: 14px;
}

.luc-banner-name {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    font-size: 20px;
    line-height: 1.3;
}

/* 性别图标：男 蓝 / 女 粉 / 保密 灰 */
.luc-sex {
    font-size: 17px;
    line-height: 1;
}

/* 横幅昵称行 VIP 动图（用户名前）：高约 22px，与昵称字高协调 */
.luc-banner-name .l-vip-gif {
    height: 22px;
    width: auto;
    vertical-align: -3px;
    margin-right: 2px;
}

.luc-sex.fa-mars {
    color: #3d95f2;
}

.luc-sex.fa-venus {
    color: #ff7eb3;
}

.luc-sex.fa-lock {
    color: #b8b8b8;
}

/* 资料标签：灰底小方块标签（UID / 邮箱 / 等级） */
.luc-banner-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 8px 0 0;
}

.luc-banner-meta span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    background: var(--l-bg);
    border: 1px solid var(--l-line);
    font-size: 12px;
    color: var(--l-text2);
}

/* 徽章信息标签：图标 + N枚徽章 + 箭头 */
.luc-medal-tag {
    cursor: pointer;
}

.luc-medal-tag:hover {
    border-color: var(--l-primary);
    color: var(--l-primary);
}

/* ---------- 我的徽章弹窗 ---------- */
.lmedal-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: flex-start;
    justify-content: center;
    padding: 48px 16px;
}

.lmedal-mask {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .5);
}

.lmedal-panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: 600px;
    max-width: 100%;
    max-height: calc(100vh - 96px);
    background: var(--l-card);
    border: none;
    border-radius: 0 !important;
    overflow: hidden;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .18);
}

.lmedal-close {
    position: absolute;
    right: 12px;
    top: 12px;
    z-index: 2;
    width: 34px;
    height: 34px;
    border: 0;
    background: transparent;
    font-size: 24px;
    line-height: 1;
    color: #8fb4de;
    cursor: pointer;
}

.lmedal-close:hover {
    color: var(--l-primary);
}

/* 弹窗头区：浅蓝渐变背景 + 气泡装饰 + 居中会员图标 + 「徽章墙」标题 */
.lmedal-head {
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
    padding: 32px 16px 24px;
    text-align: center;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);
}

.lmedal-head::before {
    content: '';
    position: absolute;
    left: -60px;
    top: -60px;
    width: 180px;
    height: 180px;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, .18);
    transform: rotate(45deg);
    z-index: 0;
}

.lmedal-head::after {
    content: '';
    position: absolute;
    right: -80px;
    bottom: -80px;
    width: 220px;
    height: 220px;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, .12);
    transform: rotate(45deg);
    z-index: 0;
}

.lmedal-head :is(.fa-solid,.fa-regular,.fa-brands) {
    position: relative;
    z-index: 2;
    font-size: 30px;
    color: #fff;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .15));
}

.lmedal-head b {
    position: relative;
    z-index: 2;
    display: block;
    margin-top: 8px;
    font-size: 17px;
    font-weight: 600;
    color: #fff;
    letter-spacing: 1px;
}

/* 内容区：每组一张大圆角浅灰卡片，粉色胶囊骑在卡片上缘 */
.lmedal-body {
    padding: 12px 12px 20px 16px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #d3dae3 transparent;
}

/* 弹窗细滚动条 */
.lmedal-body::-webkit-scrollbar,
.lmd-panel::-webkit-scrollbar {
    width: 6px;
}

.lmedal-body::-webkit-scrollbar-track,
.lmd-panel::-webkit-scrollbar-track {
    background: transparent;
}

.lmedal-body::-webkit-scrollbar-thumb,
.lmd-panel::-webkit-scrollbar-thumb {
    background: #d3dae3;
    border-radius: 0 !important;
}

.lmedal-body::-webkit-scrollbar-thumb:hover,
.lmd-panel::-webkit-scrollbar-thumb:hover {
    background: #b6c2d1;
}

.lmedal-group {
    position: relative;
    margin-top: 22px;
    padding: 30px 14px 16px;
    background: #fafbfd;
    border: 1px solid #f0f2f5;
    border-radius: 0 !important;
}

.lmedal-cate {
    position: absolute;
    left: 0;
    right: 0;
    top: -14px;
    margin: 0;
    text-align: center;
    line-height: 0;
}

.lmedal-cate span {
    display: inline-block;
    padding: 8px 28px;
    border-radius: 0 !important;
    background: linear-gradient(180deg, #ffe3f0, #fbc9e3);
    color: #e8549f;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 1px;
}

.lmedal-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 18px 4px;
    padding: 0;
    background: none;
    border: none;
}

.lmedal-item {
    text-align: center;
    padding: 8px 2px 6px;
    border-radius: 0 !important;
    cursor: pointer;
    transition: background .2s;
}

.lmedal-item:hover {
    background: rgba(255, 255, 255, .85);
}

.lmedal-icon img {
    width: 64px;
    height: 64px;
}

.lmedal-item em {
    display: block;
    margin-top: 8px;
    font-size: 13px;
    font-style: normal;
    color: var(--l-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 未获得：灰色弱化 */
.lmedal-item:not(.owned) .lmedal-icon img {
    filter: grayscale(1);
    opacity: .5;
}

.lmedal-item:not(.owned) em {
    color: var(--l-text3);
}

.lmedal-empty {
    padding: 24px 0;
    text-align: center;
    font-size: 13px;
    color: var(--l-text3);
}

/* 徽章佩戴中：名称旁小蓝点 */
.lmedal-worn-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-left: 4px;
    vertical-align: 2px;
    background: var(--l-primary);
    border-radius: 50% !important;
}

/* ---------- 徽章详情二级弹窗 ---------- */
.lmedal-detail {
    position: fixed;
    inset: 0;
    z-index: 10001;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
}

.lmd-panel {
    position: relative;
    z-index: 1;
    width: 400px;
    max-width: 100%;
    max-height: calc(100vh - 48px);
    overflow-y: auto;
    padding: 0 0 22px;
    text-align: center;
    background: var(--l-card);
    border-radius: 14px !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .2);
    scrollbar-width: thin;
    scrollbar-color: #d3dae3 transparent;
}

.lmd-close {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 5;
    width: 32px;
    height: 32px;
    border: 0;
    background: transparent;
    font-size: 22px;
    line-height: 1;
    color: #b0b6bf;
    cursor: pointer;
}

.lmd-close:hover {
    color: var(--l-text);
}

/* 徽章舞台：轨道 340px、top 75（中心 y≈166），徽章图标 120x200 @ top 25 */
.lmd-stage {
    position: relative;
    width: 100%;
    height: 268px;
    pointer-events: none;
}

.lmd-bg {
    position: absolute;
    left: 50%;
    top: 75px;
    transform: translateX(-50%);
    width: 340px;
    max-width: 92%;
    height: auto;
    pointer-events: none;
}

.lmd-icon {
    position: absolute;
    left: 50%;
    top: 25px;
    transform: translateX(-50%);
    z-index: 1;
    width: 120px;
    height: 200px;
    object-fit: contain;
    filter: drop-shadow(0 6px 16px rgba(0, 0, 0, .16));
}

.lmd-name {
    position: relative;
    z-index: 1;
    margin-top: -6px;
    font-size: 18px;
    font-weight: 600;
    color: #333;
}

.lmd-desc {
    margin-top: 8px;
    font-size: 13px;
    color: #999;
}

.lmd-time {
    margin-top: 16px;
    font-size: 14px;
    font-weight: 600;
    color: var(--l-primary);
    min-height: 18px;
}

.lmd-time.unowned {
    color: #ff9d00;
}

/* 佩戴此徽章按钮（详情弹窗底部，居中适中尺寸） */
.lmd-wear {
    display: block;
    width: 200px;
    margin: 18px auto 0;
    height: 36px;
    line-height: 36px;
    border: 0 !important;
    background: linear-gradient(90deg, #4ec5ff, #1a8cff) !important;
    color: #fff !important;
    border-radius: 18px !important;
    font-size: 14px !important;
}

.lmd-wear:disabled,
.lmd-wear.disabled {
    background: linear-gradient(90deg, #cdd6e0, #b9c2cf);
    border-color: #b9c2cf;
    color: #fff;
    opacity: 1;
    cursor: default;
}

@media (max-width: 900px) {
    .lmedal-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.luc-medal-tag .l-medal-img {
    width: 16px;
    height: 16px;
    vertical-align: middle;
    margin-right: 2px;
}

.luc-medal-tag .l-medal {
    vertical-align: middle;
    margin-right: 2px;
}

.luc-medal-tag em {
    font-style: normal;
}

.luc-medal-tag .luc-medal-none {
    font-size: 15px;
    color: #3e7bfa;
    vertical-align: middle;
    margin-right: 2px;
}

.luc-medal-tag .luc-arrow {
    font-style: normal;
    font-size: 14px;
    line-height: 1;
    color: var(--l-text3);
    margin-left: 2px;
}

/* 等级进度条 */
.luc-progress {
    position: relative;
    height: 6px;
    background: #eef0f3;
    overflow: hidden;
}

.luc-progress i {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #3d95f2, var(--l-primary));
    transition: width .3s;
}

.luc-banner-main .luc-progress {
    max-width: 320px;
    margin-top: 10px;
}

.luc-banner-act {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding-top: 18px;
    flex-shrink: 0;
}

.luc-banner-act .l-btn {
    min-width: 110px;
}

.l-uc {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    width: 100%;
}

.l-uc-side {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 260px;
    flex-shrink: 0;
}

.luc-side-card {
    background: var(--l-card);
    border: 1px solid var(--l-line);
    padding: 14px;
}

/* 侧栏多个分组卡片之间的间距 */
.luc-side-card + .luc-side-card {
    margin-top: 12px;
}

.luc-side-tt {
    font-size: 13px;
    font-weight: 700;
    color: var(--l-text);
    margin-bottom: 12px;
}

/* 数据统计（帖子/评论/关注/粉丝） */
.luc-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.luc-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 6px 0;
    transition: color .2s;
}

.luc-stat b {
    font-size: 16px;
    color: var(--l-text);
    transition: color .2s;
}

.luc-stat span {
    font-size: 12px;
    color: var(--l-text3);
}

.luc-stat:hover b {
    color: var(--l-primary);
}

/* 资产两格（积分/余额） */
.luc-assets {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
    padding: 10px;
}

.luc-asset {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px;
    min-width: 0;
    background: var(--l-bg);
    border: 1px solid var(--l-line);
    transition: border-color .2s;
}

.luc-asset:hover {
    border-color: var(--l-primary);
}

.luc-asset-ic {
    font-size: 22px;
    color: var(--l-primary);
    flex-shrink: 0;
}

.luc-asset div {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.luc-asset div span {
    font-size: 11px;
    color: var(--l-text3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.luc-asset div b {
    font-size: 14px;
    color: var(--l-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 我的服务图标网格 */
.luc-serve {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
}

.luc-serve-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 10px 4px;
    color: var(--l-text2);
    font-size: 12px;
    text-align: center;
    transition: color .2s, background .2s;
}

.luc-serve-item :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 20px;
    color: var(--l-text3);
    transition: color .2s;
}

.luc-serve-item span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.luc-serve-item:hover {
    color: var(--l-primary);
    background: #f0f6ff;
}

.luc-serve-item:hover :is(.fa-solid,.fa-regular,.fa-brands) {
    color: var(--l-primary);
}

.luc-serve-item.active {
    color: var(--l-primary);
    background: #f0f6ff;
}

.luc-serve-item.active :is(.fa-solid,.fa-regular,.fa-brands) {
    color: var(--l-primary);
}

.luc-menu {
    margin: 0 -14px -14px;
}

.luc-menu li a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 11px 14px;
    color: var(--l-text2);
    font-size: 14px;
    border-left: 2px solid transparent;
}

.luc-menu li a:hover,
.luc-menu li a.active {
    color: var(--l-primary);
    background: #f0f6ff;
    border-left-color: var(--l-primary);
}

/* 窄屏：横幅信息条堆叠 */
@media (max-width: 900px) {
    .luc-head {
        flex-direction: column;
    }

    .luc-banner-act {
        padding-top: 0;
    }
}

/* 账号设置表单 */
.l-input {
    display: inline-block;
    box-sizing: border-box;
    padding: 8px 10px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--l-text);
    background: #fff;
    border: 1px solid var(--l-line);
    outline: none;
    font-family: inherit;
    vertical-align: middle;
}

.l-input:focus {
    border-color: var(--l-primary);
}

.l-input::placeholder {
    color: var(--l-text3);
}

.luc-form-row {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 14px 0;
    border-bottom: 1px solid var(--l-line);
    transition: background .2s;
}

.luc-form-row:hover {
    background: rgba(0, 0, 0, .015);
}

.luc-form-row:last-child {
    border-bottom: 0;
}

.luc-form-label {
    flex-shrink: 0;
    width: 88px;
    font-size: 13px;
    color: var(--l-text3);
}

.luc-form-static {
    flex: 1;
    min-width: 0;
    font-size: 14px;
    color: var(--l-text);
    line-height: 1.7;
}

.luc-form-tip {
    margin: 4px 0 8px;
    font-size: 12px;
    color: var(--l-text3);
}

.luc-avatar-box img {
    border-radius: 50%;
}

/* 账号设置：头像更换行（头像 + 上传按钮并排） */
.luc-ava-set {
    display: flex;
    align-items: center;
    gap: 18px;
}

.luc-set-ava {
    position: relative;
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    line-height: 0;
    cursor: pointer;
    border-radius: 50% !important;
}

.luc-set-ava .l-avatar,
.luc-set-ava img {
    border-radius: 50% !important;
}

.luc-set-ava .luc-ava-mask {
    cursor: pointer;
}

.luc-banner-avatar:hover .luc-ava-mask,
.luc-set-ava:hover .luc-ava-mask {
    opacity: 1;
}

.luc-ava-set-main {
    min-width: 0;
}

.luc-form .l-input {
    width: 100%;
    max-width: 420px;
}

/* 邮箱验证码行：输入框 + 按钮同行 */
.luc-mail-row {
    display: flex;
    gap: 8px;
    max-width: 420px;
}

/* 性别单选行 */
.luc-sex-row {
    display: flex;
    gap: 20px;
}

.luc-sex-row label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
    color: var(--l-text2);
}

.luc-sex-row input {
    margin: 0;
    cursor: pointer;
}

.luc-mail-row .l-input.sm {
    width: 140px;
    flex-shrink: 0;
}

.luc-mail-row .l-btn {
    flex-shrink: 0;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: auto;
    min-height: 0;
    padding: 0 14px;
    align-self: stretch;
}

.luc-form textarea.l-input {
    resize: vertical;
}

/* 发布文章表单 */
.lart-form .l-input {
    max-width: 100%;
}

/* Markdown 编辑器容器 */
#lArtMd {
    width: 100%;
}

#lArtMd .editormd {
    margin: 0;
}

/* 工具栏强制单行：窄窗口横向滚动，禁止换行悬垂 */
#lArtMd .editormd-toolbar-container {
    overflow-x: auto;
    overflow-y: hidden;
}

#lArtMd .editormd-menu,
#lArtMd .editormd-menu > li {
    white-space: nowrap;
}

/* 访问权限行 */
.luc-perm-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.luc-perm-row > select {
    max-width: 220px;
}

.luc-perm-price {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.luc-perm-price .l-input {
    max-width: 110px;
}

.luc-perm-price em {
    font-style: normal;
    font-size: 13px;
    color: var(--l-text3);
}

.luc-remark-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--l-text2);
    cursor: pointer;
}

/* 发布页管理员选项（置顶/别名/跳转/密码） */
.lart-admin-opts {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* 文章管理筛选条 + 置顶标记 */
.lart-filter {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 10px 14px;
    border-bottom: 1px solid var(--l-line);
}

.laf-item {
    display: inline-flex;
    align-items: center;
    padding: 5px 14px;
    font-size: 13px;
    color: var(--l-text2);
    background: var(--l-bg);
    border: 1px solid var(--l-line);
    transition: all 0.15s ease;
}

.laf-item:hover {
    color: var(--l-primary);
    border-color: var(--l-primary);
}

.laf-item.on {
    color: #fff;
    background: var(--l-primary);
    border-color: var(--l-primary);
}

.laf-search {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}

.laf-search .l-input {
    width: 180px;
    padding: 6px 10px;
    font-size: 13px;
}

.last-flag {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    margin-left: 6px;
    padding: 1px 7px;
    font-size: 11px;
    font-weight: 400;
    vertical-align: 1px;
}

.last-flag.top {
    color: #ef4444;
    background: rgba(239, 68, 68, 0.1);
}

.last-flag.stop {
    color: #f59e0b;
    background: rgba(245, 158, 11, 0.1);
}

.last-flag.jing {
    color: #dc2626;
    background: rgba(220, 38, 38, 0.1);
}

html.dark .last-flag.top {
    background: rgba(239, 68, 68, 0.18);
}

html.dark .last-flag.stop {
    background: rgba(245, 158, 11, 0.18);
}

html.dark .last-flag.jing {
    background: rgba(220, 38, 38, 0.18);
}

.laopt-line {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}

.laopt-line .luc-remark-toggle i {
    font-size: 12px;
    color: var(--l-primary);
}

.lart-admin-opts .l-input {
    width: 100%;
}

.luc-remark-toggle input {
    width: auto;
    cursor: pointer;
}

.luc-cover-row {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.lart-cover-box {
    position: relative;
    flex-shrink: 0;
    width: 120px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--l-bg2, #f5f6f8);
    border: 1px dashed var(--l-line);
    cursor: pointer;
    overflow: hidden;
    transition: border-color 0.2s;
}

.lart-cover-box:hover {
    border-color: var(--l-primary);
}

.lart-cover-box > i {
    font-size: 22px;
    color: var(--l-text3);
}

.lart-cover-box.uploading::after {
    content: '上传中';
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: #fff;
    background: rgba(0, 0, 0, 0.45);
}

.lart-cover-box img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lart-cover-ops {
    flex: 1;
    min-width: 0;
}

.lart-cover-ops .l-input {
    max-width: 420px;
}

.lart-foot {
    display: flex;
    gap: 10px;
}

/* 移动端发布文章 */
@media (max-width: 640px) {
    .luc-cover-row {
        flex-direction: column;
    }

    .lart-cover-ops .l-input {
        max-width: 100%;
    }
}

/* 发布页关闭遮罩：管理员关闭「用户发布文章」后灰化盖住编辑区块 */
.lart-lockwrap {
    position: relative;
    margin: -16px;
    padding: 16px;
}

.lart-lockmask {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 20px;
    text-align: center;
    background: rgba(246, 247, 250, 0.3);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    border-radius: 12px;
}

.lart-lockmask i {
    font-size: 30px;
    color: #b6bfce;
}

.lart-lockmask b {
    font-size: 15px;
    font-weight: 600;
    color: #667085;
}

.lart-lockmask span {
    font-size: 12px;
    color: #98a2b3;
}

html.dark .lart-lockmask {
    background: rgba(23, 26, 33, 0.3);
}

html.dark .lart-lockmask i {
    color: #4a5262;
}

html.dark .lart-lockmask b {
    color: #9aa4b5;
}

html.dark .lart-lockmask span {
    color: #6b7484;
}


.l-uc-body {
    flex: 1;
    min-width: 0;
}

.luc-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    font-weight: 700;
    padding-bottom: 10px;
    margin: 24px 0 16px;
    border-bottom: 1px solid var(--l-line);
}

.luc-title::before {
    content: '';
    flex-shrink: 0;
    width: 4px;
    height: 16px;
    background: linear-gradient(180deg, var(--l-primary), var(--l-primary-dark, var(--l-primary)));
}

.luc-subtabs {
    margin-left: auto;
    font-weight: 400;
}

.luc-subtabs a {
    font-size: 13px;
    color: var(--l-text3);
    padding: 2px 10px;
}

.luc-subtabs a.active {
    color: var(--l-primary);
    border-bottom: 2px solid var(--l-primary);
}

.luc-grid {
    display: flex;
    flex-wrap: wrap;
    border: 1px solid var(--l-line);
    margin-bottom: 20px;
}

.luc-cell {
    width: 25%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    padding: 20px 22px;
    border-right: 1px solid var(--l-line);
    border-bottom: 1px solid var(--l-line);
    box-sizing: border-box;
    margin-bottom: -1px;
    color: inherit;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: background 0.25s, transform 0.25s, box-shadow 0.25s;
}

/* 每格主题色：底部高亮条 / 悬浮底色 / 数字配色统一取自 --lc */
.luc-cell::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background: var(--lc, #1774e6);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.25s;
}

.luc-cell:nth-child(1) { --lc: #1774e6; --lcbg: #f4f9ff; }
.luc-cell:nth-child(2) { --lc: #f0820a; --lcbg: #fff8f0; }
.luc-cell:nth-child(3) { --lc: #0aa88f; --lcbg: #f0fbf9; }
.luc-cell:nth-child(4) { --lc: #7a4df0; --lcbg: #f8f5ff; }
.luc-cell:nth-child(5) { --lc: #0ea05f; --lcbg: #f2fbf6; }
.luc-cell:nth-child(6) { --lc: #4f6bed; --lcbg: #f3f6ff; }
.luc-cell:nth-child(7) { --lc: #c9960a; --lcbg: #fdf9ec; }
.luc-cell:nth-child(8) { --lc: #e64545; --lcbg: #fef3f3; }

.luc-cell:hover {
    background: var(--lcbg, #f7f9fc);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(15, 42, 86, 0.1);
    z-index: 2;
}

.luc-cell:hover::after {
    transform: scaleX(1);
}

.luc-cell-ic {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
    transition: transform 0.25s;
}

.luc-cell:hover .luc-cell-ic {
    transform: scale(1.08);
}

.luc-cell-ic.blue   { background: linear-gradient(135deg, #eaf3fe, #d9eafe); color: #1774e6; box-shadow: 0 4px 10px rgba(23, 116, 230, 0.16); }
.luc-cell-ic.orange { background: linear-gradient(135deg, #fff3e6, #ffe7cc); color: #f0820a; box-shadow: 0 4px 10px rgba(240, 130, 10, 0.16); }
.luc-cell-ic.cyan   { background: linear-gradient(135deg, #e6f7f5, #d2f0ec); color: #0aa88f; box-shadow: 0 4px 10px rgba(10, 168, 143, 0.16); }
.luc-cell-ic.purple { background: linear-gradient(135deg, #f3edff, #e9dfff); color: #7a4df0; box-shadow: 0 4px 10px rgba(122, 77, 240, 0.16); }
.luc-cell-ic.gold   { background: linear-gradient(135deg, #fdf6e0, #faedc2); color: #c9960a; box-shadow: 0 4px 10px rgba(201, 150, 10, 0.16); }
.luc-cell-ic.red    { background: linear-gradient(135deg, #fdecec, #fbd9d9); color: #e64545; box-shadow: 0 4px 10px rgba(230, 69, 69, 0.16); }
.luc-cell-ic.green  { background: linear-gradient(135deg, #e8f7ee, #d4f0e0); color: #0ea05f; box-shadow: 0 4px 10px rgba(14, 160, 95, 0.16); }
.luc-cell-ic.indigo { background: linear-gradient(135deg, #eef1ff, #dfe5ff); color: #4f6bed; box-shadow: 0 4px 10px rgba(79, 107, 237, 0.16); }

/* 暗夜模式：底色与图标改半透明色块，避免亮色突兀 */
html.dark .luc-cell:hover { box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35); }
html.dark .luc-cell:nth-child(1) { --lcbg: rgba(23, 116, 230, 0.12); }
html.dark .luc-cell:nth-child(2) { --lcbg: rgba(240, 130, 10, 0.12); }
html.dark .luc-cell:nth-child(3) { --lcbg: rgba(10, 168, 143, 0.12); }
html.dark .luc-cell:nth-child(4) { --lcbg: rgba(122, 77, 240, 0.12); }
html.dark .luc-cell:nth-child(5) { --lcbg: rgba(14, 160, 95, 0.12); }
html.dark .luc-cell:nth-child(6) { --lcbg: rgba(79, 107, 237, 0.12); }
html.dark .luc-cell:nth-child(7) { --lcbg: rgba(201, 150, 10, 0.12); }
html.dark .luc-cell:nth-child(8) { --lcbg: rgba(230, 69, 69, 0.12); }
html.dark .luc-cell-ic.blue   { background: rgba(23, 116, 230, 0.2); box-shadow: none; }
html.dark .luc-cell-ic.orange { background: rgba(240, 130, 10, 0.2); box-shadow: none; }
html.dark .luc-cell-ic.cyan   { background: rgba(10, 168, 143, 0.2); box-shadow: none; }
html.dark .luc-cell-ic.purple { background: rgba(122, 77, 240, 0.2); box-shadow: none; }
html.dark .luc-cell-ic.gold   { background: rgba(201, 150, 10, 0.2); box-shadow: none; }
html.dark .luc-cell-ic.red    { background: rgba(230, 69, 69, 0.2); box-shadow: none; }
html.dark .luc-cell-ic.green  { background: rgba(14, 160, 95, 0.2); box-shadow: none; }
html.dark .luc-cell-ic.indigo { background: rgba(79, 107, 237, 0.2); box-shadow: none; }

.luc-cell-data {
    flex: 1;
    min-width: 0;
    text-align: left;
}

.luc-cell b {
    display: block;
    font-size: 20px;
    line-height: 1.25;
    color: var(--lc, inherit);
    transition: color 0.25s;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.luc-cell span {
    font-size: 12px;
    color: var(--l-text3);
}

.luc-info li {
    display: flex;
    align-items: center;
    padding: 11px 12px;
    font-size: 14px;
    border-bottom: 1px dashed var(--l-line);
    transition: background 0.2s;
}

.luc-info li:hover {
    background: #fafbfd;
}

.luc-info li span {
    width: 96px;
    color: var(--l-text3);
    flex-shrink: 0;
}

.luc-info li span i {
    width: 20px;
    margin-right: 7px;
    font-size: 13px;
    color: #a8b3bf;
}

.luc-info li b {
    font-weight: 500;
}

@media (max-width: 600px) {
    .luc-cell { width: 50%; }
}

/* 账号安全 - QQ 绑定 */
.luc-ok-tip {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: -6px 0 14px;
    padding: 9px 12px;
    font-size: 13px;
    color: #0a8f56;
    background: #e9f8f0;
    border: 1px solid #bfe8d2;
}

.luc-qq-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.l-qq-st {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--l-text3);
}

.l-qq-st i {
    font-size: 16px;
    color: #b9bfc7;
}

.l-qq-st.bound {
    color: #1774e6;
}

.l-qq-st.bound i {
    color: #1774e6;
}

/* 日历 */
.luc-calendar {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.luc-day {
    width: 34px;
    height: 34px;
    line-height: 32px;
    text-align: center;
    border: 1px solid var(--l-line);
    font-size: 12px;
    color: var(--l-text3);
}

.luc-day.on {
    background: var(--l-primary);
    border-color: var(--l-primary);
    color: #fff;
}

.luc-day.future {
    opacity: .45;
}

/* 钱包 */
.luc-balance {
    padding: 20px;
    text-align: center;
    background: var(--l-bg);
    border: 1px solid var(--l-line);
    margin-bottom: 16px;
}

.luc-balance b {
    font-size: 32px;
    font-weight: 700;
}

.luc-wallet-op {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.lw-form {
    flex: 1;
    min-width: 240px;
    border: 1px solid var(--l-line);
    padding: 14px;
}

.lw-form b {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
}

.lw-tip {
    font-size: 12px;
    color: var(--l-text3);
    margin: 0 0 8px;
}

.lw-row {
    display: flex;
    gap: 8px;
}

.lw-row input {
    flex: 1;
    min-width: 0;
    padding: 0 10px;
    height: 34px;
    border: 1px solid var(--l-line);
    outline: none;
}

.lw-row input:focus {
    border-color: var(--l-primary);
}

.lw-notice {
    font-size: 12px;
    color: var(--l-text3);
    background: var(--l-bg);
    border: 1px solid var(--l-line);
    padding: 10px 12px;
    margin-bottom: 16px;
}

/* 钱包 V2：双卡片 + 记录标签（参考图风格） */
.lwv-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

.lwv-card {
    background: var(--l-card);
    border: 1px solid var(--l-line);
    border-radius: 0 !important;
    padding: 18px 20px 14px;
}

.lwv-hd {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: var(--l-text);
}

.lwv-hd > b {
    font-size: 14px;
    font-weight: 600;
}

.lwv-ico {
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 14px;
    flex: none;
}

.lwv-ico.blue {
    background: linear-gradient(135deg, #5a95ff, #2b6dff);
    border-radius: 0 !important;
}

.lwv-ico.gold {
    background: linear-gradient(135deg, #ffc94d, #ff9d2e);
    border-radius: 0 !important;
}

.lwv-hd-link {
    margin-left: auto;
    font-size: 12px;
    color: var(--l-text3);
    transition: 0.2s;
}

.lwv-hd-link:hover {
    color: var(--l-primary);
}

.lwv-arr {
    font-style: normal;
    font-size: 13px;
    opacity: 0.7;
}

.lwv-num-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 16px 0 12px;
}

.lwv-num {
    display: flex;
    align-items: baseline;
    gap: 4px;
    line-height: 1;
    min-width: 0;
}

.lwv-num b {
    font-size: 38px;
    font-weight: 700;
    line-height: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lwv-num .lwv-cur {
    font-size: 20px;
    font-weight: 600;
}

.lwv-num :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 20px;
    align-self: center;
}

.lwv-num.blue {
    color: #2b6dff;
}

.lwv-num.green {
    color: #0abf64;
}

.lwv-acts {
    display: flex;
    gap: 10px;
    flex: none;
}

.lwv-btn {
    height: 34px;
    padding: 0 16px;
    font-size: 13px;
    line-height: 32px;
    cursor: pointer;
    border-radius: 0 !important;
    transition: 0.2s;
    box-sizing: border-box;
}

.lwv-btn.out-blue {
    background: transparent;
    border: 1px solid #2b6dff;
    color: #2b6dff;
}

.lwv-btn.out-blue:hover {
    background: #eef4ff;
}

.lwv-btn.fill-blue {
    background: #2b6dff;
    border: 1px solid #2b6dff;
    color: #fff;
}

.lwv-btn.out-green {
    background: transparent;
    border: 1px solid #0abf64;
    color: #0abf64;
}

.lwv-btn.out-green:hover {
    background: #e8faf1;
}

.lwv-btn.fill-green {
    background: #0abf64;
    border: 1px solid #0abf64;
    color: #fff;
}

.lwv-btn:hover {
    opacity: 0.92;
}

.lwv-sub {
    font-size: 12px;
    color: var(--l-text3);
}

.lwv-sub b {
    color: var(--l-text);
    font-weight: 600;
}

.lwv-sub-link {
    color: var(--l-text3);
    transition: 0.2s;
}

.lwv-sub-link:hover {
    color: var(--l-primary);
}

.lwv-panel {
    background: var(--l-card);
    border: 1px solid var(--l-line);
    border-radius: 0 !important;
    padding: 18px 20px;
    margin-bottom: 16px;
}

.lwv-panel-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--l-text);
    margin-bottom: 14px;
}

.lwv-pay-row {
    margin-top: 14px;
}

.lwv-ops {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px dashed var(--l-line);
}

.lwv-op {
    background: var(--l-bg);
    border-radius: 0 !important;
    padding: 12px 14px;
}

.lwv-op > b {
    display: block;
    font-size: 13px;
    color: var(--l-text);
    margin-bottom: 10px;
}

.lwv-op .lw-row input {
    background: var(--l-card);
    border-color: var(--l-line);
}

.lwv-tabs {
    display: flex;
    gap: 24px;
    border-bottom: 1px solid var(--l-line);
    margin-bottom: 4px;
}

.lwv-tabs span {
    position: relative;
    padding: 4px 2px 12px;
    font-size: 15px;
    font-weight: 700;
    color: var(--l-text);
    cursor: pointer;
    transition: 0.2s;
}

.lwv-tabs span:hover {
    color: #ff3d9a;
}

.lwv-tabs span.on {
    color: #ff3d9a;
}

.lwv-tabs span.on::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -1px;
    transform: translateX(-50%);
    width: 26px;
    height: 3px;
    border-radius: 0 !important;
    background: #ff3d9a;
}

.lwv-pane .luc-logs {
    padding: 6px 0 0;
}

.lwv-empty {
    padding: 36px 0 26px;
    text-align: center;
}

.lwv-empty img {
    width: 170px;
    display: block;
    margin: 0 auto 4px;
    opacity: 0.9;
}

.lwv-empty span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    color: var(--l-text3);
    font-size: 13px;
}

.lwv-empty span::before,
.lwv-empty span::after {
    content: '';
    width: 110px;
    height: 1px;
    background: var(--l-line);
}

.lwv-st {
    flex: none;
    font-size: 12px;
    padding: 2px 10px;
    border-radius: 0 !important;
}

/* 我的订单：类型小标（充值/文章） */
.lwv-otag {
    display: inline-block;
    font-style: normal;
    font-size: 11px;
    line-height: 1;
    padding: 3px 5px;
    margin-right: 6px;
    color: #1774e6;
    background: rgba(23, 116, 230, 0.1);
    vertical-align: 1px;
}

.lwv-otag.art {
    color: #e64980;
    background: rgba(230, 73, 128, 0.1);
}

.lwv-st.s0 {
    color: #ff8f1f;
    background: #fff4e6;
}

.lwv-st.s1 {
    color: #0abf64;
    background: #e6f9f0;
}

.lwv-st.s2 {
    color: var(--l-text3);
    background: var(--l-bg);
}

/* 钱包弹窗：余额充值 / 积分兑换（参考图风格） */
.lwpm {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.lwpm-mask {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
}

.lwpm-panel {
    position: relative;
    width: 400px;
    max-width: 100%;
    max-height: 86vh;
    overflow-y: auto;
    background: var(--l-card);
    border-radius: 0 !important;
    box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
    padding: 18px 18px 20px;
}

.lwpm-panel::-webkit-scrollbar {
    width: 4px;
}

.lwpm-panel::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, .15);
    border-radius: 4px !important;
}

.lwpm-panel::-webkit-scrollbar-track {
    background: transparent;
}

.lwpm-close {
    position: absolute;
    top: 16px;
    right: 18px;
    width: 32px;
    height: 32px;
    line-height: 30px;
    text-align: center;
    font-size: 22px;
    color: #b9bfc7;
    background: transparent;
    border: none;
    cursor: pointer;
    transition: 0.2s;
}

.lwpm-close:hover {
    color: var(--l-text);
}

.lwpm-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

.lwpm-head b {
    font-size: 18px;
    color: var(--l-text);
}

.lwpm-head-ico {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 16px;
    flex: none;
    border-radius: 0 !important;
}

.lwpm-head-ico.blue {
    background: linear-gradient(135deg, #5a95ff, #2b6dff);
}

.lwpm-head-ico.gold {
    background: linear-gradient(135deg, #ffc94d, #ff9d2e);
    border-radius: 0 !important;
}

.lwpm-label {
    font-size: 14px;
    color: var(--l-text);
    margin: 12px 0 8px;
}

.lwpm-label:first-child {
    margin-top: 0;
}

.lwpm-amounts {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.lwpm-amt {
    position: relative;
    border: 1px solid var(--l-line);
    border-radius: 0 !important;
    padding: 12px 0 10px;
    text-align: center;
    cursor: pointer;
    transition: 0.2s;
    background: var(--l-card);
}

.lwpm-amt b {
    display: block;
    font-size: 18px;
    color: var(--l-text);
    font-weight: 600;
}

.lwpm-amt span {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: #ff3d9a;
    margin-top: 3px;
}

.lwpm-amt:hover {
    border-color: #ff3d9a;
}

.lwpm-amt.on {
    border-color: #ff3d9a;
    background: #fff5fa;
}

.lwpm-amt.on b {
    color: #ff3d9a;
}

.lwpm-amt.on::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-top: 30px solid #ff3d9a;
    border-left: 30px solid transparent;
    border-radius: 0 !important;
}

.lwpm-amt.on::after {
    content: '';
    position: absolute;
    top: 3px;
    right: 3px;
    width: 9px;
    height: 5px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg);
}

.lwpm-input {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--l-line);
    border-radius: 0 !important;
    padding: 0 14px;
    height: 42px;
    background: var(--l-card);
    transition: 0.2s;
}

.lwpm-input:focus-within {
    border-color: #ff3d9a;
}

.lwpm-input span {
    font-size: 18px;
    font-weight: 600;
    color: var(--l-text);
}

.lwpm-input input {
    flex: 1;
    min-width: 0;
    height: 100%;
    border: none;
    outline: none;
    background: transparent;
    font-size: 15px;
    color: var(--l-text);
}

.lwpm-minmax {
    font-size: 12px;
    color: var(--l-text3);
    margin-top: 6px;
}

.lwpm-notice {
    background: var(--l-bg);
    border-radius: 0 !important;
    padding: 10px 12px;
    font-size: 12px;
    line-height: 1.8;
    color: var(--l-text3);
    margin-top: 10px;
}

.lwpm-ways {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}

.lwpm-way {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px solid var(--l-line);
    border-radius: 0 !important;
    padding: 11px 0;
    cursor: pointer;
    font-size: 13px;
    color: var(--l-text);
    transition: 0.2s;
    background: var(--l-card);
    white-space: nowrap;
}

.lwpm-way:hover {
    border-color: #ff3d9a;
}

.lwpm-way.on {
    border-color: #ff3d9a;
    background: #fff5fa;
    color: #ff3d9a;
}

.lwpm-way.off {
    opacity: 0.45;
    cursor: not-allowed;
}

.lwpm-way-ico {
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0 !important;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    flex: none;
}

.lwpm-way-ico.ali {
    background: #1677ff;
    font-size: 13px;
}

.lwpm-way-ico.wx {
    background: #2aae67;
}

.lwpm-way-ico.epay {
    background: #00b578;
}

.lwpm-way-ico.xhp {
    background: #ff7a1a;
}

.lwpm-way-ico.card {
    background: linear-gradient(135deg, #9a7bff, #7b5cf0);
}

.lwpm-way-ico svg {
    width: 16px;
    height: 16px;
}

.lwpm-cardbox {
    margin-top: 10px;
}

.lwpm-cardbox .lwpm-input + .lwpm-input {
    margin-top: 8px;
}

/* 管理端：卡密列表表格 */
.lcd-table {
    width: 100%;
    border-collapse: collapse;
}

.lcd-table th {
    text-align: left;
    padding: 10px 8px;
    font-size: 13px;
    font-weight: 500;
    color: #86909c;
    background: #f7f8fa;
    white-space: nowrap;
    -webkit-user-select: none;
    user-select: none;
}

.lcd-table th[data-sort] {
    cursor: pointer;
}

.lcd-table th[data-sort]::after {
    content: '\21C5';
    margin-left: 3px;
    font-size: 11px;
    color: #c9cdd4;
}

.lcd-table th.sorted-asc::after {
    content: '\2191';
    color: #165dff;
}

.lcd-table th.sorted-desc::after {
    content: '\2193';
    color: #165dff;
}

.lcd-table td {
    padding: 10px 8px;
    font-size: 13px;
    color: #1d2129;
    border-bottom: 1px solid #f0f1f3;
    word-break: break-all;
    vertical-align: top;
}

.lcd-table .lcd-ck {
    width: 32px;
    text-align: center;
}

.lcd-table .lcd-mono {
    font-family: Consolas, Monaco, monospace;
    font-size: 12px;
}

.lcd-type {
    color: #165dff;
    text-decoration: none;
    display: block;
    margin-bottom: 2px;
}

.lcd-type + small {
    color: #86909c;
    font-size: 12px;
}

.lcd-st {
    color: #165dff;
    white-space: nowrap;
}

.lcd-st.used {
    color: #86909c;
}

.lcd-user {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    color: #86909c;
    white-space: nowrap;
}

.l-page-info {
    margin-left: 10px;
    font-size: 13px;
    color: #86909c;
}

/* 管理端：充值订单表格 */
.lrc-uid {
    display: block;
    font-size: 12px;
    color: #86909c;
    margin-top: 2px;
    white-space: nowrap;
}

.lrc-money {
    font-weight: 600;
    white-space: nowrap;
}

.lrc-st {
    white-space: nowrap;
}

.lrc-st.s0 {
    color: #ff7a1a;
}

.lrc-st.s1 {
    color: #00b578;
}

.lrc-st.s2 {
    color: #86909c;
}

.lrc-confirm {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    color: #86909c;
    white-space: nowrap;
}

.lrc-ops {
    white-space: nowrap;
}

.lrc-ops .l-btn + .l-btn {
    margin-left: 6px;
}

.lrc-none {
    color: #c9cdd4;
}

.l-adm-hint {
    margin: 8px 0 0;
    font-size: 12px;
    color: #86909c;
}

.lwpm-cardbox .lwpm-label {
    margin-top: 0;
}

.lwpm-cardbox .lwpm-input {
    margin-top: 8px;
}

.lwpm-go {
    display: block;
    width: 100%;
    height: 42px;
    margin-top: 14px;
    border: none;
    border-radius: 0 !important;
    background: linear-gradient(90deg, #ff7a45, #f5222d);
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 2px;
    cursor: pointer;
    transition: 0.2s;
}

.lwpm-go:hover {
    opacity: 0.9;
}

.lwpm-go:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.lwpm-qr {
    text-align: center;
    padding: 8px 0 4px;
}

.lwpm-qr img {
    width: 210px;
    height: 210px;
    display: inline-block;
    border: 1px solid var(--l-line);
    border-radius: 0 !important;
    padding: 8px;
    background: #fff;
}

.lwpm-qr-tip {
    text-align: center;
    font-size: 13px;
    color: var(--l-text3);
    margin: 12px 0 14px;
}

.lwpm-back {
    display: block;
    margin: 0 auto;
    padding: 0 22px;
    height: 38px;
    border: 1px solid var(--l-line);
    border-radius: 0 !important;
    background: transparent;
    color: var(--l-text3);
    font-size: 13px;
    cursor: pointer;
    transition: 0.2s;
}

.lwpm-back:hover {
    color: var(--l-primary);
    border-color: var(--l-primary);
}

.lwpm-ex-tip {
    font-size: 13px;
    color: var(--l-text3);
    margin: 0 0 12px;
}

/* 审核台 Tab 布局 */
.ladm-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 16px;
    padding: 6px;
    background: var(--l-bg);
    border: 1px solid var(--l-line);
}

.ladm-tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    font-size: 13px;
    color: var(--l-text3);
    cursor: pointer;
    transition: 0.2s;
    user-select: none;
    white-space: nowrap;
}

.ladm-tab:hover {
    color: var(--l-text);
}

.ladm-tab.on {
    background: var(--l-card);
    color: var(--l-primary);
    font-weight: 600;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .08);
}

.ladm-tab em {
    font-style: normal;
    min-width: 18px;
    height: 18px;
    line-height: 18px;
    padding: 0 5px;
    text-align: center;
    font-size: 11px;
    font-weight: 600;
    background: #f5222d;
    color: #fff;
}

.ladm-pane {
    display: none;
    background: var(--l-card);
    border: 1px solid var(--l-line);
    padding: 18px 20px;
}

.ladm-pane.on {
    display: block;
}

/* PHP 版本推荐提示 */
.ladm-php-tip {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 10px 0 14px;
    padding: 10px 14px;
    font-size: 13px;
    color: #8a6d1f;
    background: rgba(245, 195, 66, .12);
    border: 1px solid rgba(245, 195, 66, .35);
    border-radius: 4px !important;
}

html.dark .ladm-php-tip {
    color: #d8b45c;
    background: rgba(245, 195, 66, .08);
    border-color: rgba(245, 195, 66, .22);
}

/* 审核台：卡密状态徽标 */
.l-lv-st {
    display: inline-block;
    padding: 2px 10px;
    font-size: 12px;
    border-radius: 50px !important;
    background: var(--l-bg);
    color: var(--l-text3);
}

.l-lv-st.used {
    background: #eaf3fe;
    color: var(--l-primary);
}

/* 管理设置：站点设置（模板配置） */
.ltpl-tip {
    font-size: 12px;
    color: var(--l-text3);
    background: var(--l-bg);
    border: 1px dashed var(--l-line);
    padding: 8px 12px;
    margin-bottom: 14px;
}

.ltpl-group {
    border: 1px solid var(--l-line);
    margin-bottom: 0;
}

/* 站点设置：分组二级 tab */
.ltpl-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    margin-bottom: 12px;
    padding: 4px;
    background: var(--l-bg);
    border: 1px solid var(--l-line);
}

.ltpl-tab {
    padding: 6px 8px;
    font-size: 12px;
    white-space: nowrap;
    color: var(--l-text3);
    cursor: pointer;
    transition: 0.2s;
    user-select: none;
}

.ltpl-tab:hover {
    color: var(--l-text);
}

.ltpl-tab.on {
    background: var(--l-card);
    color: var(--l-primary);
    font-weight: 600;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .08);
}

.ltpl-pane {
    display: none;
}

.ltpl-pane.on {
    display: block;
}

.ltpl-row {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 12px 14px;
}

.ltpl-row + .ltpl-row {
    border-top: 1px dashed var(--l-line);
}

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

.ltpl-name {
    font-size: 13px;
    color: var(--l-text);
    font-weight: 600;
}

.ltpl-desc {
    font-size: 12px;
    color: var(--l-text3);
    margin-top: 3px;
    line-height: 1.6;
}

.ltpl-input {
    margin-top: 8px;
    width: 100%;
}

.ltpl-checks {
    display: flex;
    gap: 16px;
    margin-top: 8px;
}

.ltpl-check {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--l-text);
    cursor: pointer;
    user-select: none;
}

.ltpl-check input {
    cursor: pointer;
}

.ltpl-row-switch {
    align-items: center;
}

.ltpl-row-switch .ltpl-main {
    flex: 1;
}

.ltpl-switch {
    position: relative;
    flex-shrink: 0;
    width: 42px;
    height: 22px;
    cursor: pointer;
}

.ltpl-switch input {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}

.ltpl-switch i {
    display: block;
    width: 42px;
    height: 22px;
    background: #d4d7dc;
    transition: 0.2s;
    position: relative;
}

.ltpl-switch i::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 18px;
    height: 18px;
    background: #fff;
    transition: 0.2s;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .2);
}

.ltpl-switch input:checked + i {
    background: var(--l-primary);
}

.ltpl-switch input:checked + i::after {
    left: 22px;
}

.ltpl-img-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
}

.ltpl-preview {
    width: 64px;
    height: 64px;
    object-fit: contain;
    border: 1px solid var(--l-line);
    background: var(--l-bg);
    flex-shrink: 0;
    padding: 2px;
}

.ltpl-imgurl {
    flex: 1;
    min-width: 0;
}

.ltpl-upload {
    flex-shrink: 0;
}

@media (max-width: 560px) {
    .ltpl-img-row {
        flex-wrap: wrap;
    }

    .ltpl-imgurl {
        flex-basis: 100%;
        order: 3;
    }
}

.lwpm-ex-tip b {
    color: var(--l-text);
}

@media (max-width: 560px) {
    .lwpm-panel {
        padding: 20px 16px;
    }

    .lwpm-amounts {
        gap: 8px;
    }

    .lwpm-ways {
        gap: 8px;
    }
}

@media (max-width: 768px) {
    .lwv-cards,
    .lwv-ops {
        grid-template-columns: 1fr;
    }

    .lwv-card {
        padding: 16px;
    }

    .lwv-num b {
        font-size: 30px;
    }

    .lwv-num .lwv-cur,
    .lwv-num :is(.fa-solid,.fa-regular,.fa-brands) {
        font-size: 17px;
    }

    .lwv-tabs {
        gap: 18px;
    }
}

/* 流水 */
.luc-logs li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px dashed var(--l-line);
    font-size: 13px;
}

/* 经验流水来源图标 */
.ll-ico {
    flex: none;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    border-radius: 50% !important;
}

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

.ll-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

.ll-row.sub {
    margin-top: 3px;
}

.ll-reason {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
    color: var(--l-text);
}

.ll-time {
    color: var(--l-text3);
    font-size: 12px;
}

.ll-bal {
    color: var(--l-text3);
    font-size: 12px;
    flex-shrink: 0;
}

.ll-num {
    flex-shrink: 0;
    font-weight: 700;
    font-size: 15px;
}

.ll-num.in { color: var(--l-success); }
.ll-num.out { color: var(--l-danger); }

/* 收藏 / 关注 */
.luc-collect li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px dashed var(--l-line);
    font-size: 14px;
}

.luc-collect li a {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 我的评论列表（两行：标题+时间 / 评论内容） */
.luc-collect li.luc-com-item {
    display: block;
    flex: none;
}

.luc-com-top {
    display: flex;
    align-items: center;
    gap: 12px;
}

.luc-com-top a {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.luc-com-hold {
    flex-shrink: 0;
    padding: 0 6px;
    font-size: 11px;
    line-height: 18px;
    color: var(--l-warning, #f09b0a);
    border: 1px solid currentColor;
}

.luc-com-text {
    margin-top: 4px;
    color: var(--l-text2);
    font-size: 13px;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.luc-follows li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px dashed var(--l-line);
}

.luc-follow-user {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

/* ---------- 签到奖励弹窗 ---------- */
.lcheck-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: flex-start;
    justify-content: center;
    padding: 48px 16px;
}

.lcheck-mask {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .5);
}

.lcheck-panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: 460px;
    max-width: 100%;
    max-height: calc(100vh - 96px);
    background: var(--l-card);
    border: none;
    border-radius: 0 !important;
    overflow: hidden;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .18);
}

.lcheck-close {
    position: absolute;
    right: 12px;
    top: 12px;
    z-index: 2;
    width: 34px;
    height: 34px;
    border: 0;
    background: transparent;
    font-size: 24px;
    line-height: 1;
    color: #8fb4de;
    cursor: pointer;
}

.lcheck-close:hover {
    color: var(--l-primary);
}

.lcheck-head {
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
    padding: 32px 16px 24px;
    text-align: center;
    background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
}

.lcheck-head::before {
    content: '';
    position: absolute;
    left: -50px;
    top: -50px;
    width: 160px;
    height: 160px;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, .22);
    transform: rotate(45deg);
    z-index: 0;
}

.lcheck-head::after {
    content: '';
    position: absolute;
    right: -70px;
    bottom: -70px;
    width: 200px;
    height: 200px;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, .15);
    transform: rotate(45deg);
    z-index: 0;
}

.lcheck-head :is(.fa-solid,.fa-regular,.fa-brands) {
    position: relative;
    z-index: 2;
    font-size: 38px;
    color: #fff;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .15));
}

.lcheck-head b {
    position: relative;
    z-index: 2;
    display: block;
    margin-top: 8px;
    font-size: 18px;
    font-weight: 600;
    color: #fff;
    letter-spacing: 1px;
}

.lcheck-body {
    padding: 20px 20px 24px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #d3dae3 transparent;
}

.lcheck-body::-webkit-scrollbar {
    width: 6px;
}

.lcheck-body::-webkit-scrollbar-track {
    background: transparent;
}

.lcheck-body::-webkit-scrollbar-thumb {
    background: #d3dae3;
    border-radius: 0;
}

.lcheck-user {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}

.lcheck-user .l-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50% !important;
}

.lcheck-user b {
    font-size: 15px;
    font-weight: 600;
    color: var(--l-text);
}

.lcheck-user span {
    margin-left: auto;
    font-size: 13px;
    color: var(--l-text3);
}

.lcheck-user span em {
    font-style: normal;
    color: var(--l-primary);
    font-weight: 600;
}

.lcheck-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 20px;
}

.lcheck-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 14px;
    background: #f7f9fc;
    border-radius: 0 !important;
    text-decoration: none;
    transition: background .2s;
}

.lcheck-card:hover {
    background: #eef3fa;
}

.lcheck-card span {
    font-size: 13px;
    color: var(--l-text3);
}

.lcheck-card b {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 18px;
    font-weight: 700;
    color: var(--l-text);
}

.lcheck-card b :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 18px;
    color: var(--l-primary);
}

.lcheck-card b .l-lvimg {
    width: auto;
    height: 20px;
}

.lcheck-card b em {
    font-style: normal;
    font-size: 13px;
    font-weight: 400;
    color: var(--l-text3);
}

/* 我的等级卡：标题行徽章 + 大号经验值 */
.lcheck-card .lcheck-card-badge .l-lvimg {
    height: 16px;
    vertical-align: -3px;
    margin-left: 4px;
}

.lcheck-card .lcheck-card-exp em {
    font-style: normal;
    font-size: 13px;
    font-weight: 400;
    color: var(--l-text3);
}

.lcheck-card .lcheck-card-exp .fa-angle-right {
    font-size: 14px;
    color: var(--l-text3);
}

/* 图1 布局：2×2 网格，胶囊与积分/经验明细强制同行对齐 */
.lcheck-reward {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    column-gap: 12px;
    row-gap: 12px;
    margin-bottom: 20px;
}

.lcheck-reward-name {
    grid-area: 1 / 1;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    font-weight: 600;
    color: var(--l-text);
}

.lcheck-reward-name :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 16px;
    color: #ff6b81;
}

.lcheck-reward .lcheck-reward-tags {
    grid-area: 2 / 1;
    margin-top: 0;
}

.lcheck-reward .lcheck-today-status.done {
    grid-area: 1 / 2;
    justify-self: end;
}

.lcheck-today-gain {
    grid-area: 2 / 2;
    justify-self: end;
    font-size: 13px;
    line-height: 1;
}

/* ============ 我的等级页（uc=level） ============ */
/* 通用隐藏辅助类（tab 面板切换等） */
.hide {
    display: none !important;
}

.lle-top {
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 14px;
    margin-bottom: 14px;
}

.lle-card-me {
    padding: 20px 22px;
    background: linear-gradient(135deg, #ffe9c2 0%, #fbcf7f 60%, #f7bd5c 100%);
    border-radius: 0 !important;
}

.lle-me-t {
    font-size: 14px;
    font-weight: 600;
    color: #7a4c12;
    margin-bottom: 16px;
}

.lle-me-t :is(.fa-solid,.fa-regular,.fa-brands) {
    margin-right: 6px;
    color: #b47a1e;
}

.lle-me-lv {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
}

.lle-me-lv .l-lvimg {
    width: auto;
    height: 26px;
}

.lle-me-lv b {
    font-size: 22px;
    font-weight: 700;
    color: #6f440e;
}

.lle-me-progress {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 8px;
    font-size: 15px;
    font-weight: 700;
    color: #6f440e;
}

.lle-me-progress em {
    font-style: normal;
    font-size: 12px;
    font-weight: 400;
    color: #8a5c17;
}

.lle-me-bar {
    height: 8px;
    background: rgba(255, 255, 255, .55);
    border-radius: 4px !important;
    overflow: hidden;
}

.lle-me-bar i {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #f59e0b, #d97706);
    border-radius: 4px !important;
}

.lle-card-growth {
    min-width: 0;
    padding: 18px 22px;
    background: #f7f9fc;
    border-radius: 0 !important;
    overflow: hidden;
}

.lle-growth-t {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    font-size: 14px;
}

.lle-growth-t :is(.fa-solid,.fa-regular,.fa-brands) {
    color: #1774e6;
}

.lle-growth-t b {
    font-size: 15px;
    color: var(--l-text);
}

.lle-growth-t span {
    color: var(--l-text3);
    font-size: 13px;
}

.lle-growth-t .lle-today {
    margin-left: auto;
    font-style: normal;
    font-size: 13px;
    color: var(--l-text3);
}

.lle-axis {
    display: flex;
    align-items: flex-end;
    gap: 22px;
    overflow-x: auto;
    padding: 6px 2px 8px;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.lle-axis::-webkit-scrollbar {
    display: none;
}

.lle-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    flex: none;
    filter: grayscale(.5);
    opacity: .55;
}

.lle-step.reached {
    filter: none;
    opacity: 1;
}

.lle-step.cur .lle-step-min {
    color: #1774e6;
    font-weight: 700;
}

.lle-step-min {
    font-size: 12px;
    color: var(--l-text3);
}

.lle-step-pole {
    display: block;
    width: 4px;
    background: linear-gradient(180deg, #e8edf5, #cbd5e3);
    border-radius: 2px !important;
}

.lle-step.reached .lle-step-pole {
    background: linear-gradient(180deg, #ffd08a, #f59e0b);
}

.lle-step-badge .l-lvimg {
    width: auto;
    height: 22px;
}

.lle-panel {
    background: #fff;
    border: 1px solid var(--l-line);
    border-radius: 0 !important;
    padding: 16px 20px;
}

.lle-tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 8px;
}

.lle-tabs button {
    padding: 7px 16px;
    font-size: 13px;
    background: #f2f4f8;
    border: 1px solid transparent;
    color: var(--l-text2);
    cursor: pointer;
    transition: all .2s;
}

.lle-tabs button.on {
    background: #eaf3fe;
    border-color: #bcd9fb;
    color: #1774e6;
}

.lle-gain {
    list-style: none;
}

.lle-gain li {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 15px 2px;
    border-bottom: 1px solid var(--l-line);
}

.lle-gain li:last-child {
    border-bottom: 0;
}

.lle-gain-ico {
    flex: none;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    border-radius: 50% !important;
}

.lle-gain-main {
    flex: 1;
    min-width: 0;
}

.lle-gain-main b {
    display: block;
    font-size: 14px;
    color: var(--l-text);
    margin-bottom: 2px;
}

.lle-gain-main p {
    font-size: 12px;
    color: var(--l-text3);
}

.lle-gain-num {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 18px;
    font-weight: 700;
    color: #ff5f8f;
}

.lle-gain-num i {
    font-size: 15px;
    color: #7c6cf6;
}

@media (max-width: 900px) {
    .lle-top {
        grid-template-columns: 1fr;
    }
}

.lcheck-streak-title {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 12px;
    font-size: 15px;
    font-weight: 600;
    color: var(--l-text);
}

.lcheck-streak-title :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 16px;
    color: #ff6b81;
}

.lcheck-today-status {
    font-size: 13px;
    font-weight: 400;
    color: var(--l-text3);
}

/* 图1 风格：蓝色日历图标 + 青绿色「今日已签到」，第二行右侧积分/经验明细 */

.lcheck-today-status.done {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #0ca678;
    font-weight: 500;
}

.lcheck-today-status.done :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 14px;
    color: #1774e6;
}

.lcheck-today-gain {
    font-size: 13px;
    line-height: 1;
}

.lcheck-today-gain em {
    font-style: normal;
}

.lcheck-today-gain em.pts {
    color: #16a34a;
}

.lcheck-today-gain em.exp {
    margin-left: 8px;
    color: #1774e6;
}

.lcheck-reward-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.lcheck-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 12px;
    border-radius: 0 !important;
    font-size: 13px;
    font-weight: 500;
}

/* 图1 风格胶囊：积分=绿底金币，经验=粉底趋势 */
.lcheck-tag.pts {
    background: #e6f7ed;
    color: #16a34a;
}

.lcheck-tag.exp {
    background: #ffeef5;
    color: #ec4899;
}

.lcheck-tag.purple {
    background: #f3e6ff;
    color: #a855f7;
}

.lcheck-tag :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 13px;
}

html.dark .lcheck-tag.pts {
    background: rgba(22, 163, 74, .16);
    color: #4ade80;
}

html.dark .lcheck-tag.exp {
    background: rgba(236, 72, 153, .16);
    color: #f9a8d4;
}

html.dark .lcheck-tag.purple {
    background: rgba(168, 85, 247, .16);
    color: #d8b4fe;
}

.lcheck-streak {
    margin-bottom: 20px;
}

.lcheck-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 8px;
}

.lcheck-day {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 3px;
    padding: 0;
    background: transparent;
    border-radius: 0 !important;
    text-align: center;
}

.lcheck-day-cell {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 7px 2px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}

.lcheck-day-cell.exp {
    background: #e8f7ee;
    color: #28a745;
}

.lcheck-day-cell.pts {
    background: #f5ecfe;
    color: #a855f7;
}

.lcheck-day-cell :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 11px;
}

.lcheck-day.cur .lcheck-day-cell.exp {
    background: #28a745;
    color: #fff;
}

.lcheck-day.cur .lcheck-day-cell.pts {
    background: #8b2fd6;
    color: #fff;
}

.lcheck-day.past .lcheck-day-cell {
    opacity: .55;
}

.lcheck-day-label {
    font-size: 12px;
    color: var(--l-text3);
    padding: 2px 0;
}

.lcheck-day-label em {
    font-style: normal;
    color: #1774e6;
    margin-right: 2px;
}

.lcheck-day.cur .lcheck-day-label {
    color: #1774e6;
    font-weight: 600;
}

.lcheck-do {
    width: 100%;
    justify-content: center;
}

html.dark .lcheck-head {
    background: linear-gradient(180deg, #1e3a5f 0%, #243447 100%);
}

html.dark .lcheck-head::before,
html.dark .lcheck-head::after {
    background: rgba(255, 255, 255, .08);
}

html.dark .lcheck-card,
html.dark .lcheck-day {
    background: var(--l-bg);
}

html.dark .lcheck-card:hover {
    background: #1c1f24;
}

html.dark .lcheck-day-cell.exp {
    background: rgba(40, 167, 69, .16);
}

html.dark .lcheck-day-cell.pts {
    background: rgba(168, 85, 247, .16);
}

html.dark .lcheck-day.cur .lcheck-day-cell.exp {
    background: #28a745;
}

html.dark .lcheck-day.cur .lcheck-day-cell.pts {
    background: #8b2fd6;
}

/* ---------- 弹窗登录 ---------- */
.l-mask {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .45);
    z-index: 900;
}

.l-auth-modal {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 360px;
    max-width: calc(100vw - 32px);
    background: var(--l-card);
    border: 1px solid var(--l-line);
    box-shadow: 0 12px 40px rgba(0, 0, 0, .18);
    z-index: 901;
    padding: 22px;
    box-sizing: border-box;
}

.l-auth-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--l-line);
}

.l-auth-head h3 {
    margin: 0;
    font-size: 17px;
    line-height: 1.2;
    padding-left: 9px;
    border-left: 3px solid var(--l-primary);
}

.l-auth-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: none;
    border: none;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    color: var(--l-text3);
    transition: all .2s;
}

.l-auth-close:hover {
    color: var(--l-text);
    background: var(--l-bg);
}

.l-auth-alert {
    display: none;
    margin-bottom: 12px;
    padding: 8px 10px;
    font-size: 12px;
    border: 1px solid var(--l-danger);
    color: var(--l-danger);
    background: #fdf2f2;
}

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

.l-auth-alert.success {
    border-color: var(--l-success);
    color: var(--l-success);
    background: #f2fbf2;
}

.l-auth-panel input[type="text"],
.l-auth-panel input[type="password"],
.l-auth-panel input[type="email"] {
    display: block;
    width: 100%;
    box-sizing: border-box;
    height: 40px;
    padding: 0 12px;
    margin-bottom: 12px;
    border: 1px solid var(--l-line);
    background: var(--l-card); /* 与评论表单字段容器同底色 */
    outline: none;
    font-size: 14px;
    transition: border-color .2s, box-shadow .2s, background .2s;
}

.l-auth-panel input:focus {
    border-color: var(--l-primary);
    background: var(--l-card);
    box-shadow: 0 0 0 2px rgba(23, 116, 230, .12);
}

/* 独立登录页卡片（login.php） */
.l-login-card {
    width: 360px;
    max-width: 100%;
    margin: 40px auto;
    padding: 28px 26px;
    background: var(--l-card);
    border: 1px solid var(--l-line);
    border-radius: 6px !important;
}

.l-login-card .l-login-t {
    margin: 0 0 4px;
    font-size: 20px;
    color: var(--l-text);
}

.l-login-card .l-login-s {
    margin: 0 0 18px;
    font-size: 13px;
    color: var(--l-text3);
}

/* 登录弹窗内嵌到独立登录页（.static：脱离定位，卡片内直接切换面板） */
.l-auth-modal.static {
    display: block;
    position: static;
    transform: none;
    width: auto;
    max-width: none;
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
}

.l-login-card .l-auth-close {
    display: none;
}

/* 内嵌模式下隐藏弹窗自带的面板标题（页面已有「欢迎回来」大标题） */
.l-login-card .l-auth-head {
    display: none;
}

/* 用户协议弹窗内容 */
.l-agreement-pop {
    padding: 16px 20px;
    max-height: calc(72vh - 42px);
    overflow-y: auto;
    font-size: 13px;
    line-height: 1.9;
    color: var(--l-text2);
    word-break: break-word;
}

/* 带图标输入框 */
.l-auth-panel .l-auth-field {
    position: relative;
    display: block;
    margin-bottom: 12px;
}

.l-auth-panel .l-auth-field input {
    margin-bottom: 0;
    padding-left: 36px;
}

.l-auth-field :is(.fa-solid,.fa-regular) {
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    color: var(--l-text3);
    pointer-events: none;
    transition: color .2s;
}

.l-auth-field:focus-within :is(.fa-solid,.fa-regular) {
    color: var(--l-primary);
}

.l-auth-captcha {
    display: flex;
    gap: 8px;
    align-items: center;
}

.l-auth-captcha .l-auth-field {
    flex: 1;
    min-width: 0;
}

.l-auth-captcha img {
       height: 40px;
       cursor: pointer;
       border: 1px solid var(--l-line);
       margin-bottom: 12px;
   }

   .l-auth-captcha .l-btn {
       margin-bottom: 12px;
       flex-shrink: 0;
       height: 40px;
       line-height: 38px;
       white-space: nowrap;
   }

/* 提交按钮单独一行（验证码已移至「主页」同行），按钮靠右 */
.lcf-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

/* 评论表单验证码图片：嵌在验证码输入框内部右侧（贴右边缘） */
.lcf-field .captcha {
    height: 33px;
    margin-left: 4px;
    margin-right: -12px; /* 抵消输入框右内边距，图片贴齐右边框 */
    flex-shrink: 0;
    cursor: pointer;
}

/* 注册弹窗：邮箱验证码区块（输入邮箱后显示） */
.l-auth-mailcode {
    display: none;
}

.l-auth-mailcode[style*="block"] {
    animation: lAuthFade .2s ease;
}

@keyframes lAuthFade {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: none; }
}

.l-auth-mailcode-t {
    margin: -6px 0 12px;
    font-size: 11px;
    color: var(--l-text3);
}

.l-auth-remember {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--l-text2);
    margin-bottom: 12px;
    cursor: pointer;
}

.l-auth-ext {
    margin-top: 12px;
}

.l-auth-switch {
    display: flex;
    justify-content: space-between;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px dashed var(--l-line);
    font-size: 12px;
}

.l-auth-switch a {
    color: var(--l-text3);
}

.l-auth-switch a:hover {
    color: var(--l-primary);
}

/* ---------- 右侧漂浮工具条 ---------- */
.l-toolbar {
    position: fixed;
    right: 22px;
    bottom: 80px;
    z-index: 90;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.l-tool-btn {
    width: 44px;
    height: 44px;
    background: var(--l-card);
    border: 1px solid var(--l-line);
    font-size: 18px;
    cursor: pointer;
    color: var(--l-text2);
    box-shadow: 0 4px 16px rgba(0, 0, 0, .1);
    transition: all .2s ease;
}

.l-tool-btn:hover {
    color: #fff;
    background: var(--l-primary);
    border-color: var(--l-primary);
    transform: translateY(-3px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, .16);
}

.l-tool-btn :is(.fa-solid,.fa-regular,.fa-brands) {
    transition: transform .2s ease;
}

.l-tool-btn:hover .fa-arrow-up {
    transform: scale(1.12);
}

.l-tool-btn.hide {
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    pointer-events: none;
}

/* 暗夜模式开关：白天 fa-moon / 暗夜 fa-sun（金色） */
#lThemeToggle .fa-moon,
#lThemeToggle .fa-sun {
    font-size: 18px;
    color: var(--l-text2);
    transition: color .2s ease;
}

#lThemeToggle:hover .fa-moon,
#lThemeToggle:hover .fa-sun {
    color: #fff;
}

#lThemeToggle .fa-sun {
    display: none;
}

html.dark #lThemeToggle .fa-moon {
    display: none;
}

html.dark #lThemeToggle .fa-sun {
    display: inline-block;
    color: #f0c674;
}

/* ---------- 字体图标：Font Awesome 6（fa-solid / fa-regular / fa-brands 统一尺寸与对齐） ---------- */
:is(.fa-solid,.fa-regular,.fa-brands) {
    display: inline-block;
    line-height: 1;
    vertical-align: -0.125em;
}

.l-btn :is(.fa-solid,.fa-regular,.fa-brands) {
    margin-right: 4px;
    font-size: 14px;
    vertical-align: -0.15em;
}

.l-act :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 18px;
    vertical-align: -0.15em;
}

.l-tool-btn :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 18px;
    vertical-align: -0.15em;
}

/* ---------- 404 ---------- */
.l-404 {
    font-size: 60px;
    margin: 10px 0;
    color: var(--l-line);
}

/* ---------- 正文 markdown 基础 ---------- */
.markdown {
    line-height: 1.85;
}

.markdown h1,
.markdown h2,
.markdown h3,
.markdown h4,
.markdown h5,
.markdown h6 {
    margin: 1.2em 0 .6em;
    line-height: 1.4;
}

.markdown p {
    margin: .8em 0;
}

.markdown blockquote {
    margin: .8em 0;
    padding: 8px 14px;
    border-left: 3px solid var(--l-primary);
    background: var(--l-bg);
    color: var(--l-text2);
}

.markdown pre {
    background: #282c34;
    color: #abb2bf;
    padding: 14px;
    overflow: auto;
    font-size: 13px;
    line-height: 1.6;
}

.markdown code {
    background: var(--l-bg);
    border: 1px solid var(--l-line);
    padding: 1px 5px;
    font-size: 13px;
}

.markdown pre code {
    background: none;
    border: none;
    padding: 0;
}

.markdown table {
    border-collapse: collapse;
    width: 100%;
    margin: .8em 0;
}

.markdown th,
.markdown td {
    border: 1px solid var(--l-line);
    padding: 7px 10px;
    font-size: 13px;
}

.markdown th {
    background: var(--l-bg);
}

/* ---------- 验证码（评论） ---------- */
.captcha-container {
    display: flex;
    align-items: center;
    gap: 8px;
}

.captcha {
    height: 38px;
    cursor: pointer;
    border: 1px solid var(--l-line);
}

.captcha_input {
    height: 38px;
    padding: 0 10px;
    border: 1px solid var(--l-line);
    outline: none;
    width: 110px;
    box-sizing: border-box;
}

/* =========================================================
 * 认证 / VIP / 勋章 / 头像框 / 装扮商城 / 审核台
 * ========================================================= */

/* 认证标识 */
.l-cert {
    font-size: 15px;
    line-height: 1;
    vertical-align: -2px;
}

/* 个人认证改用 images/auth.png 图片，尺寸对齐原字体图标 */
.l-cert-img {
    width: 16px;
    height: 16px;
    vertical-align: -3px;
    display: inline-block;
}

.l-cert.personal {
    color: var(--l-primary);
}

.l-cert.company {
    color: #e6a23c;
}

/* VIP 标识 */
.l-viptag {
    display: inline-block;
    padding: 0 4px;
    font-size: 10px;
    font-weight: 700;
    line-height: 15px;
    color: #8a5a00;
    background: linear-gradient(180deg, #ffe9b0, #f5c451);
    vertical-align: -1px;
}

/* 勋章 */
.l-medal {
    display: inline-block;
    padding: 0 5px;
    font-size: 11px;
    line-height: 16px;
    border: 1px solid var(--l-line);
    vertical-align: -1px;
}

.l-medal-img {
    width: 16px;
    height: 16px;
    vertical-align: -3px;
}

.luc-medals .l-medal,
.luc-medals .l-medal-img {
    margin-right: 4px;
}

.luc-medals .l-medal-img {
    width: 22px;
    height: 22px;
    vertical-align: -6px;
}

/* 头像框（圆形素材框覆盖层，戴框时头像显示为圆形） */
.l-avf {
    position: relative;
    display: inline-block;
    line-height: 0;
    flex-shrink: 0;
    z-index: 1;
}

.l-avf .l-avatar {
    width: 100%;
    height: 100%;
    border-radius: 50%;
}

.l-avf-img {
    position: absolute;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    pointer-events: none;
    font-style: normal;
    z-index: 2;
}

/* 大头像（≥54px）：框 1.5 倍，紧贴头像不过分夸张 */
.l-avf.lg .l-avf-img {
    left: -25%;
    top: -25%;
    width: 150%;
    height: 150%;
}

/* 中头像（40-53px）：框 1.34 倍 */
.l-avf.sm .l-avf-img {
    left: -17%;
    top: -17%;
    width: 134%;
    height: 134%;
}

/* 小头像（<40px）：框 1.25 倍，装饰轻溢出不遮挡相邻内容 */
.l-avf.xs .l-avf-img {
    left: -12.5%;
    top: -12.5%;
    width: 125%;
    height: 125%;
}

/* 装扮商城 */
.l-deco-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 12px;
    margin-bottom: 8px;
}

.l-deco-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 16px 12px;
    border: 1px solid var(--l-line);
    text-align: center;
}

.l-deco-item:hover {
    border-color: var(--l-primary);
}

.l-deco-item b {
    font-size: 14px;
}

.l-deco-item p {
    margin: 0;
    min-height: 32px;
    font-size: 12px;
    color: var(--l-text3);
    line-height: 1.5;
}

.l-deco-icon {
    height: 28px;
    display: flex;
    align-items: center;
}

.l-deco-icon .l-medal {
    padding: 2px 10px;
    font-size: 13px;
}

.l-deco-icon .l-medal-img {
    width: 28px;
    height: 28px;
}

.l-deco-price {
    font-size: 12px;
    color: #e6a23c;
}

.l-deco-frame {
    width: 52px;
    height: 52px;
    line-height: 46px;
    text-align: center;
    color: var(--l-text3);
    font-size: 13px;
    border: 3px solid var(--l-primary);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.l-deco-frame.has-img {
    border: 0;
    color: transparent;
}

/* 会员中心（黑金影院风） */
.lvip-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 22px 24px;
    overflow: hidden;
    color: #e8c476;
    background: linear-gradient(135deg, #17191f 0%, #23262e 60%, #1d2027 100%);
    border: 1px solid #2e323c;
}

.lvip-hero::after {
    content: '';
    position: absolute;
    top: -40px;
    right: -30px;
    width: 180px;
    height: 180px;
    background: radial-gradient(circle, rgba(232, 196, 118, 0.16) 0%, transparent 70%);
    pointer-events: none;
}

.lvip-hero-l {
    display: flex;
    align-items: center;
    gap: 14px;
    position: relative;
    z-index: 1;
}

.lvip-hero-l > :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 34px;
    color: #e8c476;
}

.lvip-hero-info b {
    display: block;
    font-size: 18px;
    letter-spacing: 1px;
    color: #f2d9a0;
}

.lvip-hero-info span {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: rgba(232, 196, 118, 0.65);
}

.lvip-hero-mark {
    position: relative;
    z-index: 1;
    padding: 4px 12px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    color: #17191f;
    background: linear-gradient(135deg, #f2d9a0, #d8ab5a);
}

.lvip-hero.on {
    border-color: #d8ab5a;
    box-shadow: 0 0 0 1px rgba(216, 171, 90, 0.25), inset 0 0 40px rgba(232, 196, 118, 0.06);
}

.lvip-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 20px 0 12px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.lvip-title:first-child {
    margin-top: 0;
}

.lvip-title::before {
    content: '';
    flex-shrink: 0;
    width: 4px;
    height: 16px;
    background: linear-gradient(180deg, #f2d9a0, #c99b45);
}

.lvip-title::after {
    content: '';
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, rgba(201, 155, 69, 0.4), rgba(201, 155, 69, 0));
}

.lvip-tt-sub {
    margin-left: 2px;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0;
    color: var(--l-text3);
}

.lvip-perks {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 8px;
}

.lvip-perk {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 16px 10px;
    text-align: center;
    border: 1px solid var(--l-line);
    background: var(--l-bg);
}

.lvip-perk > :is(.fa-solid,.fa-regular,.fa-brands) {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    font-size: 20px;
    color: #c99b45;
    background: #faf3e3;
}

.lvip-perk b {
    font-size: 14px;
}

.lvip-perk span {
    font-size: 12px;
    color: var(--l-text3);
}

.lvip-plans {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 8px;
}

.lvip-plan {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 20px 12px 16px;
    border: 1px solid var(--l-line);
    background: var(--l-bg);
    transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
}

.lvip-plan:hover {
    border-color: #d8ab5a;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(216, 171, 90, 0.15);
}

.lvip-plan.rec {
    border-color: #d8ab5a;
}

.lvip-plan-tag {
    position: absolute;
    top: 0;
    right: 0;
    padding: 2px 10px;
    font-size: 12px;
    font-style: normal;
    color: #17191f;
    background: linear-gradient(135deg, #f2d9a0, #d8ab5a);
}

.lvip-plan b {
    font-size: 15px;
}

.lvip-price {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.1;
    color: #c99b45;
}

.lvip-price i {
    margin-right: 2px;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
}

.lvip-days {
    font-size: 12px;
    color: var(--l-text3);
}

.lvip-plan .l-btn {
    width: 100%;
    margin-top: 6px;
}

.lvip-assets {
    margin-bottom: 8px;
    font-size: 13px;
    color: var(--l-text3);
}

.lvip-assets b {
    color: #c99b45;
}

.lvip-assets em {
    display: inline-block;
    width: 1px;
    height: 10px;
    margin: 0 10px;
    background: var(--l-line);
}

.lvip-exchange {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.lvip-ex-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 16px;
    border: 1px solid var(--l-line);
    background: var(--l-bg);
}

.lvip-ex-card > b {
    font-size: 14px;
}

.lvip-ex-rate {
    font-size: 12px;
    color: var(--l-text3);
}

.lvip-ex-row {
    display: flex;
    align-items: stretch;
    gap: 8px;
}

.lvip-ex-row .l-input {
    flex: 1;
    min-width: 0;
}

.lvip-ex-row .l-btn.sm {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: auto;
    min-height: 0;
    padding: 0 16px;
    box-sizing: border-box;
}

.lvip-ex-tip {
    font-size: 12px;
    color: var(--l-text3);
}

.lvip-ex-tip i {
    font-style: normal;
    font-weight: 700;
    color: #c99b45;
}

/* 创作中心（会员中心） */
.lcre-cards {
    display: flex;
    gap: 12px;
    margin-bottom: 12px;
}

.lcre-card {
    position: relative;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    padding: 16px 18px;
    color: #fff;
}

.lcre-card.teal {
    background: linear-gradient(120deg, #36bfb3 0%, #63d0c3 60%, #8fdcc9 100%);
}

.lcre-card.pink {
    background: linear-gradient(120deg, #f7739c 0%, #fa90a8 60%, #fcb3bc 100%);
}

.lcre-card::before {
    content: '';
    position: absolute;
    right: -28px;
    top: -34px;
    width: 110px;
    height: 110px;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .14);
}

.lcre-card-t {
    position: relative;
    z-index: 1;
    font-size: 13px;
    opacity: .92;
}

.lcre-num {
    display: block;
    position: relative;
    z-index: 1;
    margin: 6px 0 8px;
    font-size: 26px;
    line-height: 30px;
    font-weight: 700;
    color: #fff;
}

.lcre-num i {
    font-style: normal;
    font-size: 15px;
    font-weight: 600;
    margin-right: 2px;
}

.lcre-sub {
    position: relative;
    z-index: 1;
    display: block;
    font-size: 12px;
    opacity: .9;
}

.lcre-ops {
    position: relative;
    z-index: 1;
    display: flex;
    gap: 8px;
    margin-top: 12px;
}

.lcre-ops .l-btn.sm {
    height: 30px;
    padding: 0 14px;
    font-size: 12px;
    border: none;
    background: rgba(255, 255, 255, .92);
    color: #d4506f;
}

.lcre-ops .l-btn.primary.sm {
    background: #fff;
    color: #e0447c;
}

.lcre-panel {
    border: 1px solid var(--l-line);
    background: var(--l-card);
}

.lcre-tabs {
    display: flex;
    gap: 18px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--l-line);
}

.lcre-tabs button {
    padding: 0 0 6px;
    font-size: 14px;
    color: var(--l-text2);
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    cursor: pointer;
}

.lcre-tabs button.on {
    color: #e0447c;
    font-weight: 600;
    border-bottom-color: #e0447c;
}

.lcre-rule {
    padding: 16px;
    font-size: 13px;
    line-height: 26px;
    color: var(--l-text2);
}

.lcre-rule p {
    margin: 0;
}

.lcre-logs {
    list-style: none;
    margin: 0;
    padding: 8px 16px;
}

.lcre-logs li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px dashed var(--l-line);
}

.lcre-logs li:last-child {
    border-bottom: none;
}

.lcre-logs li.lwv-empty {
    display: block;
    border-bottom: none;
}

.lcre-logs .ll-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
}

/* 暗夜模式：创作中心 */
html.dark .lcre-ops .l-btn.sm,
html.dark .lcre-ops .l-btn.primary.sm {
    background: rgba(255, 255, 255, .14);
    color: #fff;
}

@media (max-width: 600px) {
    .lcre-cards {
        flex-direction: column;
    }
}

/* 推广中心 */
.lpm-red {
    background: linear-gradient(120deg, #f4525f 0%, #f8736f 60%, #fa957c 100%);
}

.lpm-blue {
    background: linear-gradient(120deg, #3f8cff 0%, #57a3ff 60%, #7cbcfd 100%);
}

.lpm-link {
    padding: 14px 16px;
    margin-bottom: 12px;
    border: 1px dashed var(--l-line);
    background: var(--l-bg);
}

.lpm-link-t {
    display: block;
    margin-bottom: 10px;
    font-size: 13px;
    font-weight: 600;
    color: var(--l-text2);
}

.lpm-link-row {
    display: flex;
    gap: 8px;
}

.lpm-link-row .l-input {
    flex: 1;
    min-width: 0;
    font-size: 12px;
    color: var(--l-text3);
}

.lpm-link-row .l-btn {
    flex-shrink: 0;
}

.lpm-link-row .l-btn i {
    margin-right: 4px;
}

.lcre-rule .lpm-warn {
    margin-top: 4px;
    font-weight: 600;
    color: #e0284f;
}

.lpm-user-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    overflow: hidden;
    font-size: 13px;
    color: var(--l-text3);
    background: var(--l-bg);
    border: 1px solid var(--l-line);
}

.lpm-user-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 暗夜模式：推广中心 */
html.dark .lcre-rule .lpm-warn {
    color: #ff6b81;
}

/* 认证中心 */
.l-cert-state {
    padding: 10px 12px;
    margin-bottom: 8px;
    font-size: 13px;
    border: 1px solid var(--l-line);
}

/* ---------- 认证中心卡片（参考图样式） ---------- */
.lcert-card {
    overflow: hidden;
    border: 1px solid var(--l-line);
    background: var(--l-card);
}

.lcert-hero {
    position: relative;
    padding: 44px 16px 34px;
    text-align: center;
    background: linear-gradient(160deg, #eaf3fc 0%, #ddebfa 55%, #d3e4f9 100%);
}

/* 气泡装饰 */
.lcert-hero::before,
.lcert-hero::after {
    content: '';
    position: absolute;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .45);
}

.lcert-hero::before {
    width: 300px;
    height: 300px;
    left: -90px;
    top: -150px;
}

.lcert-hero::after {
    width: 360px;
    height: 360px;
    right: -120px;
    bottom: -230px;
}

.lcert-hero :is(.fa-solid,.fa-regular,.fa-brands) {
    position: relative;
    z-index: 1;
    display: inline-block;
    font-size: 62px;
    line-height: 1;
    color: var(--l-primary);
    filter: drop-shadow(0 4px 10px rgba(23, 116, 230, .35));
}

.lcert-hero h2 {
    position: relative;
    z-index: 1;
    margin: 14px 0 0;
    font-size: 22px;
    font-weight: 700;
    color: var(--l-primary);
}

.lcert-body {
    padding: 22px 26px 26px;
}

.lcert-sec-t {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 14px;
    font-size: 15px;
    font-weight: 700;
    color: var(--l-primary);
}

.lcert-sec-t :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 16px;
}

/* 卡片外的认证说明标题 */
.lcert-sec-out {
    margin: 24px 0 0;
    font-size: 16px;
}

.lcert-warn {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 10px;
    font-size: 13px;
    color: #e64340;
}

.lcert-dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 15px;
    height: 15px;
    border-radius: 50% !important;
    background: #e64340;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    font-style: normal;
    line-height: 1;
    flex-shrink: 0;
}

.lcert-lock {
    margin: 0;
    font-size: 14px;
    color: var(--l-text2);
}

.lcert-lock img {
    vertical-align: -3px;
    margin: 0 2px;
}

.lcert-tip {
    margin: 14px 0 0;
    font-size: 12px;
    color: var(--l-text3);
}

/* 认证说明：三张彩色说明卡 */
.lcert-notes {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 14px;
}

.lcert-note {
    padding: 18px 16px;
    background: #f4f9ff;
    border: 1px solid #dbe9fa;
}

.lcert-note :is(.fa-solid,.fa-regular,.fa-brands) {
    font-size: 26px;
    line-height: 1;
    color: var(--l-primary);
}

.lcert-note b {
    display: block;
    margin: 10px 0 6px;
    font-size: 14px;
    color: var(--l-text);
}

.lcert-note p {
    margin: 0;
    font-size: 12px;
    line-height: 1.7;
    color: var(--l-text3);
}

.lcert-note.gold {
    background: #fffaf0;
    border-color: #f5e6c4;
}

.lcert-note.gold :is(.fa-solid,.fa-regular,.fa-brands) {
    color: #e8a23d;
}

.lcert-note.green {
    background: #f2fbf4;
    border-color: #cdebd5;
}

.lcert-note.green :is(.fa-solid,.fa-regular,.fa-brands) {
    color: #2e9e46;
}

@media (max-width: 900px) {
    .lcert-notes {
        grid-template-columns: 1fr;
    }
}

.l-cert-state.pending {
    color: #8a5a00;
    background: #fffaf0;
    border-color: #f5c451;
}

.l-cert-state.ok {
    color: #2e7d32;
    background: #f3faf3;
    border-color: #6a9955;
}

.l-cert-state.no {
    color: var(--l-danger);
    background: #fdf3f3;
    border-color: var(--l-danger);
}

.l-cert-types label {
    margin-right: 18px;
}

/* 在线充值 */
.l-rc-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 8px 0;
}

.l-rc-tabs span {
    padding: 5px 14px;
    font-size: 13px;
    color: var(--l-text2);
    border: 1px solid var(--l-line);
    cursor: pointer;
}

.l-rc-tabs span.on {
    color: #fff;
    background: var(--l-primary);
    border-color: var(--l-primary);
}

/* 在线支付扫码弹窗 */
.lp-mask {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0, 0, 0, .55);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: lpFade .2s ease;
}

@keyframes lpFade {
    from { opacity: 0; }
    to { opacity: 1; }
}

.lp-box {
    width: 300px;
    background: #fff;
    border-radius: 14px !important;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .28);
    overflow: hidden;
    animation: lpPop .22s cubic-bezier(.2, .9, .3, 1.2);
}

@keyframes lpPop {
    from { transform: translateY(14px) scale(.96); opacity: 0; }
    to { transform: none; opacity: 1; }
}

.lp-hd {
    position: relative;
    padding: 14px 16px;
    font-size: 15px;
    font-weight: 700;
    color: var(--l-text);
    background: #f7f8fa;
    border-bottom: 1px solid var(--l-line);
}

.lp-close {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-style: normal;
    font-size: 20px;
    line-height: 1;
    color: var(--l-text3);
    cursor: pointer;
}

.lp-close:hover {
    color: #e64545;
}

.lp-qr {
    padding: 20px;
    text-align: center;
}

.lp-qr img {
    width: 200px;
    height: 200px;
    border: 1px solid var(--l-line);
    background: #fff;
}

.lp-st {
    padding: 0 20px 20px;
    font-size: 13px;
    color: var(--l-text2);
    text-align: center;
    line-height: 1.6;
}

.l-rc-qr {
    margin-top: 10px;
}

.l-rc-qr img {
    width: 150px;
    height: 150px;
    border: 1px solid var(--l-line);
}

/* 审核台 */
.l-admin {
    padding: 20px;
}

/* 审核台可折叠区块 */
.l-adm-toggle {
    display: flex;
    align-items: center;
    cursor: pointer;
    user-select: none;
}

.l-adm-toggle:hover {
    color: var(--l-primary);
}

.l-adm-toggle .l-adm-arrow {
    flex-shrink: 0;
    margin-left: 8px;
    width: 7px;
    height: 7px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform .2s;
    opacity: .55;
}

.l-adm-sec.collapsed .l-adm-arrow {
    transform: rotate(-45deg);
}

.l-adm-sec.collapsed .l-adm-body {
    display: none;
}

.l-adm-list {
    margin: 0 0 8px;
    padding: 0;
    list-style: none;
}

/* 充值订单管理：筛选 + 批量操作 */
.lrc-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 10px;
}

.lrc-filter {
    display: inline-flex;
    gap: 6px;
}

.lrc-f {
    padding: 5px 14px;
    border: 1px solid var(--l-line);
    border-radius: 0 !important;
    font-size: 13px;
    color: var(--l-text2);
    cursor: pointer;
    transition: 0.2s;
    background: var(--l-card);
}

a.lrc-f {
    text-decoration: none;
}

.lrc-f:hover {
    border-color: #ff3d9a;
    color: #ff3d9a;
}

.lrc-f.on {
    border-color: #ff3d9a;
    background: #fff5fa;
    color: #ff3d9a;
}

.lrc-batch {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: var(--l-text2);
}

.lrc-batch .lrc-all {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
}

.lrc-pick {
    flex: none;
    display: flex;
    align-items: center;
    cursor: pointer;
}

.l-adm-list li .lwv-st {
    margin-left: 8px;
}

.l-adm-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 0;
    border-bottom: 1px dashed var(--l-line);
}

/* 列表内图片空状态：覆盖行布局为纵向居中 */
.l-adm-list li.lwv-empty {
    display: block;
    border-bottom: 0;
}

.l-adm-list li.lwv-empty img {
    width: 150px;
}

.l-adm-list li:last-child {
    border-bottom: 0;
}

.l-adm-info {
    display: flex;
    flex-direction: column;
    gap: 3px;
    font-size: 13px;
    color: var(--l-text2);
}

.l-adm-info b {
    font-size: 14px;
    color: var(--l-text);
}

.l-adm-evidence {
    color: var(--l-text3);
    word-break: break-all;
}

.l-adm-ops {
    flex-shrink: 0;
    display: inline-flex;
    gap: 8px;
}

/* ---------- 用户管理（会员管理） ---------- */
.l-adm-list li.lau-item {
    display: block;
    padding: 14px;
    background: #fff;
    border: 1px solid var(--l-line);
    border-bottom: 1px solid var(--l-line);
    margin-bottom: 10px;
}

.l-adm-list li.lau-item:last-child {
    margin-bottom: 0;
    border-bottom: 1px solid var(--l-line);
}

.lau-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.lau-badges {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px dashed var(--l-line);
}

/* 徽章列表：独立换行区，不挤压右侧发放控件 */
.lau-blist {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    flex: 1;
    min-width: 0;
}

.lau-blabel {
    font-size: 12px;
    color: var(--l-text3);
    flex-shrink: 0;
    line-height: 24px;
}

.lau-bnone {
    font-size: 12px;
    color: var(--l-text3);
    opacity: 0.7;
}

.lau-bchip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 24px;
    padding: 0 10px;
    background: var(--l-bg);
    border: 1px solid var(--l-line);
    font-size: 12px;
    color: var(--l-text2);
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lau-bchip i {
    font-style: normal;
    font-size: 14px;
    line-height: 1;
    color: var(--l-text3);
    cursor: pointer;
    flex-shrink: 0;
}

.lau-bchip i:hover {
    color: #e64340;
}

/* 管理设置 - 用户认证徽标（个人蓝 / 企业金）与下掉按钮 */
.lau-bchip.lau-cert {
    background: #eaf3fe;
    border-color: #c6dffa;
    color: #1774e6;
    max-width: 260px;
}

.lau-bchip.lau-cert.co {
    background: #fdf6e0;
    border-color: #f3e3b0;
    color: #b07d0a;
}

.lau-bchip.lau-cert .fa-certificate {
    font-size: 12px;
    flex-shrink: 0;
}

.lau-cert-revoke {
    color: #e64340;
    border-color: #f3c1c0;
}

.lau-cert-revoke:hover {
    background: #fdecec;
    border-color: #e64340;
}

html.dark .lau-bchip.lau-cert {
    background: rgba(23, 116, 230, 0.15);
    border-color: rgba(23, 116, 230, 0.35);
    color: #6ea8f5;
}

html.dark .lau-bchip.lau-cert.co {
    background: rgba(201, 150, 10, 0.15);
    border-color: rgba(201, 150, 10, 0.35);
    color: #e5b64a;
}

.lau-grant {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    margin-left: auto;
}

.lau-bsel {
    width: 150px;
    height: 28px;
    padding: 0 6px;
    font-size: 12px;
}

.lau-bgrant {
    height: 28px;
}

.lau-user {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.lau-user .l-avatar {
    border-radius: 50% !important;
}

.lau-user .l-avf,
.lau-user .l-avatar {
    flex-shrink: 0;
}

.lau-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.lau-meta b {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}

.lau-meta > span {
    font-size: 12px;
    color: var(--l-text3);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lau-vip {
    display: inline-flex;
    align-items: center;
    height: 18px;
    padding: 0 8px;
    border-radius: 50px !important;
    font-size: 11px;
    font-weight: 600;
    background: #e8f7ef;
    color: #0fa65a;
    flex-shrink: 0;
}

.lau-vip.off {
    background: #f0f2f5;
    color: #98a2b3;
    font-weight: 500;
}

.lau-ops {
    align-items: center;
}

.lau-ops .l-input {
    width: 76px;
    height: 26px;
    padding: 0 8px;
}

/* 管理搜索栏：输入框与 sm 按钮同高 */
.ladm-pane .lrc-bar .l-input {
    height: 26px;
    padding: 0 8px;
}

/* ---------- 徽章配置（审核台） ---------- */
.l-adm-form {
    margin: 0 0 14px;
    padding: 14px;
    background: var(--l-bg);
    border: 1px solid var(--l-line);
}

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

.l-adm-grid label,
.l-adm-desc {
    display: flex;
    flex-direction: column;
    gap: 5px;
    font-size: 12px;
    color: var(--l-text2);
}

.l-adm-grid.l-grid-5 {
    grid-template-columns: repeat(5, 1fr);
}

.l-adm-grid .l-grid-btn {
    align-self: end;
    justify-self: start;
}

.l-adm-desc {
    margin-top: 10px;
}

.l-adm-form .l-input {
    height: 32px;
    padding: 0 8px;
    border: 1px solid var(--l-line);
    background: var(--l-card);
    font-size: 13px;
    box-sizing: border-box;
}

.l-adm-form select.l-input {
    cursor: pointer;
}

.l-adm-form-ops {
    margin-top: 12px;
    display: flex;
    gap: 8px;
}

.l-adm-medal-icon {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.l-adm-cate {
    font-style: normal;
    padding: 1px 8px;
    background: #eaf3fe;
    color: var(--l-primary);
    font-size: 12px;
}

/* 装扮商城分类小标题 */
.l-deco-cate {
    margin-top: 22px;
}

.l-deco-cate:first-of-type {
    margin-top: 0;
}

@media (max-width: 900px) {
    .l-adm-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .lvip-perks {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .lvip-plans,
    .lvip-exchange {
        grid-template-columns: 1fr;
    }

    .l-adm-grid.l-grid-5 {
        grid-template-columns: repeat(2, 1fr);
    }

    .l-adm-list li {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ---------- 消息铃铛按钮（顶部 + 个人中心横幅通用） ---------- */
.l-msg-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    border-radius: 50% !important;
    background: #e8e8e8;
    color: var(--l-primary);
    font-size: 16px;
    flex-shrink: 0;
    vertical-align: middle;
    transition: background .2s;
}

.l-msg-btn:hover {
    background: #dcdcdc;
    color: var(--l-primary);
}

.l-msg-btn em {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 15px;
    height: 15px;
    padding: 0 4px;
    box-sizing: border-box;
    border-radius: 50px;
    background: #f25d43;
    color: #fff;
    font-style: normal;
    font-size: 10px;
    line-height: 15px;
    text-align: center;
    font-weight: 600;
}

/* ---------- 消息中心 ---------- */
.lnt-wrap {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.lnt-side {
    width: 150px;
    flex-shrink: 0;
    border-right: 1px solid var(--l-line);
    padding-right: 14px;
}

.lnt-tab {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    margin-bottom: 4px;
    font-size: 14px;
    color: var(--l-text2);
    border-left: 3px solid transparent;
    transition: color .2s, background .2s;
}

.lnt-tab:hover {
    color: var(--l-primary);
    background: #f5f9ff;
}

.lnt-tab.on {
    color: var(--l-primary);
    background: #eaf3fe;
    border-left-color: var(--l-primary);
    font-weight: 600;
}

.lnt-badge {
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    box-sizing: border-box;
    border-radius: 50px;
    background: #f25d43;
    color: #fff;
    font-style: normal;
    font-size: 11px;
    line-height: 18px;
    text-align: center;
    font-weight: 600;
}

.lnt-readall {
    display: block;
    width: 100%;
    margin-top: 12px;
    padding: 8px 0;
    box-sizing: border-box;
    border: 1px solid var(--l-line);
    background: var(--l-bg);
    color: var(--l-text2);
    font-size: 12px;
    cursor: pointer;
    transition: color .2s, border-color .2s;
}

.lnt-readall:hover {
    color: var(--l-primary);
    border-color: var(--l-primary);
}

.lnt-list {
    flex: 1;
    min-width: 0;
}

.lnt-item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 14px 10px;
    border-bottom: 1px solid var(--l-line);
    cursor: pointer;
    transition: background .2s;
}

.lnt-item:hover {
    background: #f7fbff;
}

.lnt-ic {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    background: #eaf3fe;
    color: var(--l-primary);
    font-size: 18px;
}

.lnt-item.unread .lnt-ic {
    background: var(--l-primary);
    color: #fff;
}

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

.lnt-title {
    margin: 0 0 6px;
    font-size: 14px;
    color: var(--l-text2);
    line-height: 1.5;
    word-break: break-all;
}

.lnt-item.unread .lnt-title {
    color: var(--l-text);
    font-weight: 600;
}

.lnt-new {
    display: inline-block;
    margin-left: 6px;
    padding: 0 5px;
    border-radius: 50px;
    background: #f25d43;
    color: #fff;
    font-style: normal;
    font-size: 10px;
    line-height: 16px;
    vertical-align: 1px;
    font-weight: 600;
}

.lnt-meta {
    margin: 0;
    font-size: 12px;
    color: var(--l-text3);
}

.lnt-meta i {
    font-style: normal;
    margin: 0 6px;
    color: var(--l-line);
}

.lnt-pages {
    display: flex;
    gap: 6px;
    padding: 14px 10px 4px;
}

.lnt-pages a {
    min-width: 28px;
    height: 28px;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--l-line);
    color: var(--l-text2);
    font-size: 12px;
    transition: color .2s, border-color .2s;
}

.lnt-pages a:hover,
.lnt-pages a.on {
    color: var(--l-primary);
    border-color: var(--l-primary);
}

@media (max-width: 640px) {
    .lnt-wrap {
        flex-direction: column;
    }

    .lnt-side {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid var(--l-line);
        padding-right: 0;
        padding-bottom: 10px;
    }
}

/* =========================================================
 * 响应式整体加固（640 / 420 两档）
 * ========================================================= */
@media (max-width: 640px) {

    /* 卡片与帖子列表 */
    .l-card {
        padding: 14px 12px;
    }

    .l-post-card {
        padding: 14px 12px;
        gap: 10px;
    }

    .lpc-avatar {
        margin: 3px 6px 8px 0;
    }

    /* 文章页 */
    .la-title {
        font-size: 20px;
        line-height: 1.4;
    }

    .la-meta {
        flex-wrap: wrap;
        row-gap: 2px;
    }

    .la-author-bar {
        flex-wrap: wrap;
        row-gap: 8px;
    }

    .lab-op {
        margin-left: auto;
    }

    .la-actions {
        gap: 8px;
        padding: 12px 0;
    }

    .l-act {
        flex: 1;
        justify-content: center;
        padding: 8px 10px;
    }

    /* 分享按钮外层容器参与等分，保证三个操作均匀分布 */
    .la-actions .ls-wrap {
        flex: 1;
        display: flex;
        justify-content: center;
    }

    .la-actions .ls-wrap .l-act {
        flex: 1;
    }

    /* 上一篇/下一篇堆叠 */
    nav.la-neighbor {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    nav.la-neighbor .l-neighbor {
        width: calc(50% - 4px);
    }

    /* 评论 */
    .l-comment {
        gap: 8px;
    }

    .lc-avatar-wrap,
    .lc-avatar-wrap .lc-avatar,
    .lc-avatar {
        width: 30px;
        height: 30px;
    }

    .l-comment .l-comment {
        padding: 10px;
    }

    /* 话题广场头部 */
    .lsh-stats {
        flex-wrap: wrap;
        row-gap: 6px;
    }

    /* 个人中心横幅 */
    .luc-banner-act {
        flex-wrap: wrap;
        row-gap: 8px;
    }

    /* 徽章墙弹窗 */
    .lmedal-panel {
        width: 100%;
    }

    .lmedal-body {
        padding: 10px 10px 16px 12px;
    }

    /* 漂浮按钮贴边 */
    .l-toolbar {
        right: 12px;
        bottom: 72px;
    }

    /* 表单防溢出 */
    .l-input {
        max-width: 100%;
    }
}

@media (max-width: 420px) {
    .l-btn {
        padding: 0 12px;
    }

    .la-title {
        font-size: 18px;
    }

    .l-act {
        padding: 8px 6px;
        font-size: 13px;
    }

    nav.la-neighbor .l-neighbor {
        width: 100%;
    }

    .l-post-card {
        gap: 8px;
    }
}

/* =========================================================
 * Footer 页脚
 * ========================================================= */
.l-footer {
    background: var(--l-card);
    border-top: 1px solid var(--l-line);
    margin-top: 32px;
    padding: 34px 0 26px;
    font-size: 13px;
    color: var(--l-text2);
}

.l-footer-in {
    display: flex;
    gap: 56px;
}

.l-footer-brand {
    flex: 1.1;
    min-width: 0;
}

.l-footer-logo {
    font-size: 20px;
    font-weight: 700;
    color: var(--l-text);
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.l-footer-logo-img {
    max-height: 40px;
    max-width: 180px;
    display: block;
    margin-bottom: 10px;
}

html.dark .l-footer-logo-img {
    filter: brightness(.92);
}

.l-footer-desc {
    margin: 0 0 16px;
    line-height: 1.9;
    color: var(--l-text3);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.l-footer-social {
    display: flex;
    gap: 10px;
    margin-top: 14px;
}

.l-footer-social a,
.l-footer-social span {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--l-bg);
    border: 1px solid var(--l-line);
    color: var(--l-text2);
    font-size: 16px;
    transition: all .2s ease;
}

.l-footer-social a:hover,
.l-footer-social span:hover {
    color: #fff;
    background: var(--l-primary);
    border-color: var(--l-primary);
}

/* 线条风邮箱图标描边加重，与 QQ/微信填充风统一 */
.l-footer-social .fa-envelope {
    -webkit-text-stroke: .7px currentColor;
}

.l-footer-links {
    flex: 1.4;
    min-width: 0;
}

.l-footer-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    margin-bottom: 14px;
}

.l-footer-nav a {
    color: var(--l-text2);
    transition: color .2s ease;
}

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

.l-footer-copy,
.l-footer-icp {
    color: var(--l-text3);
    line-height: 2.1;
}

.l-footer-icp a {
    color: var(--l-text3);
    transition: color .2s ease;
}

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

/* 右栏：二维码 */
.l-footer-qr {
    display: flex;
    gap: 16px;
}

.l-footer-qr-item {
    width: 92px;
    text-align: center;
}

.l-footer-qr-item:hover {
    filter: contrast(1.1);
}

.l-footer-qr-item:active {
    filter: contrast(0.9);
}

/* 固定尺寸的图片方块：图片与流光边框绝对定位填充，彻底与图片原始尺寸解耦，保证两个码严格对齐 */
.l-footer-qr-pic {
    position: relative;
    flex: 0 0 92px;
    width: 92px;
    height: 92px;
    box-sizing: border-box;
}

.l-footer-qr-pic img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    object-fit: cover;
    border: 1px solid var(--l-line);
    background: #fff;
}

.l-footer-qr-pic::before,
.l-footer-qr-pic::after {
    content: "";
    position: absolute;
    inset: 0;
    box-sizing: border-box;
    border: 2px solid;
    border-image: linear-gradient(45deg, gold, deeppink) 1;
    animation: clippath 3s infinite;
    pointer-events: none;
}

.l-footer-qr-pic::before {
    animation-delay: -1.5s;
}

@keyframes clippath {
    0%,
    100% {
        clip-path: inset(0 0 96% 0);
        filter: hue-rotate(0deg);
    }
    25% {
        clip-path: inset(0 96% 0 0);
    }
    50% {
        clip-path: inset(96% 0 0 0);
        filter: hue-rotate(360deg);
    }
    75% {
        clip-path: inset(0 0 0 96%);
    }
}

.l-footer-qr-item em {
    display: block;
    margin-top: 6px;
    font-style: normal;
    font-size: 12px;
    color: var(--l-text3);
}

.l-footer-qr-pic.is-empty::before {
    content: '二维码';
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    inset: 0;
    box-sizing: border-box;
    border: 1px dashed var(--l-line);
    color: var(--l-text3);
    font-size: 12px;
    background: var(--l-bg);
    animation: none;
    border-image: none;
}

.l-footer-qr-pic.is-empty::after {
    display: none;
}

@media (max-width: 640px) {
    .l-footer-in {
        flex-direction: column;
        gap: 22px;
    }

    .l-footer {
        margin-top: 20px;
        padding: 24px 0 20px;
    }

    /* 移动端隐藏品牌区、社交图标、二维码，导航与版权居中 */
    .l-footer-brand,
    .l-footer-social,
    .l-footer-qr {
        display: none;
    }

    .l-footer-links {
        text-align: center;
    }

    .l-footer-nav {
        justify-content: center;
    }
}

/* editor.md 弹窗：label + input 统一 flex 行布局，覆盖原生 float 行 */
/* placeholder 提示语：占真实行高，避免被 activeline 背景盖住 */
.editormd .CodeMirror pre.CodeMirror-placeholder {
    height: auto !important;
    overflow: visible;
    pointer-events: none;
    margin: 0;
    color: #999;
}
.editormd-dialog .editormd-imgurl-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}
.editormd-dialog .editormd-imgurl-row label {
    float: none;
    width: auto;
    flex-shrink: 0;
    padding: 0;
    margin: 0;
    white-space: nowrap;
    font-weight: normal;
    color: #666;
}
.editormd-dialog .editormd-imgurl-row input[type="text"] {
    flex: 1;
    min-width: 0;
    margin: 0;
    padding: 8px;
    border: 1px solid #ddd;
    color: #999;
}
.editormd-dialog .editormd-imgurl-row .editormd-file-input {
    margin-left: 0;
    width: 100px;
    flex-shrink: 0;
    position: relative;
    display: inline-block;
    height: 32px;
}
.editormd-dialog .editormd-imgurl-row .editormd-file-input input[type="file"],
.editormd-dialog .editormd-imgurl-row .editormd-file-input input[type="submit"] {
    width: 100px;
    height: 32px;
}

/* ---------- 暗夜模式：会员中心适配 ---------- */
/* 表单控件 */
html.dark .l-input,
html.dark .lw-row input,
html.dark .lk-pwd-input,
html.dark .l-topic-post input[type="text"],
html.dark .l-topic-post textarea,
html.dark .l-com-form textarea,
html.dark .l-com-form input {
    background: var(--l-card);
    color: var(--l-text);
}

/* 评论表单带图标的字段容器自带底色，输入框保持透明避免双层夹边 */
html.dark .lcf-field input {
    background: transparent;
}

html.dark .l-input::placeholder {
    color: var(--l-text3);
    opacity: 1;
}

/* 浏览器 autofill 在暗夜下的白底修复（个人资料昵称等预填输入框） */
html.dark input.l-input:-webkit-autofill,
html.dark input.l-input:-webkit-autofill:hover,
html.dark input.l-input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px var(--l-card) inset;
    -webkit-text-fill-color: var(--l-text);
    caret-color: var(--l-text);
    transition: background-color 99999s ease-in-out 0s;
}

/* 会员中心-我的等级：成长体系 / 经验面板 / 页签 */
html.dark .lle-card-growth {
    background: var(--l-card);
}

html.dark .lle-panel {
    background: var(--l-card);
}

html.dark .lle-tabs button {
    background: var(--l-bg);
    color: var(--l-text3);
}

html.dark .lle-tabs button.on {
    background: rgba(23, 116, 230, .16);
    border-color: rgba(23, 116, 230, .35);
    color: #5b9cf5;
}

html.dark .lle-step-pole {
    background: linear-gradient(180deg, #2b3542, #222b36);
}

html.dark .lle-step.reached .lle-step-pole {
    background: linear-gradient(180deg, #8a6a2f, #b98a2e);
}

/* 会员中心-认证中心：认证说明三卡 */
html.dark .lcert-note {
    background: rgba(23, 116, 230, .08);
    border-color: rgba(23, 116, 230, .22);
}

html.dark .lcert-note.gold {
    background: rgba(232, 162, 61, .08);
    border-color: rgba(232, 162, 61, .25);
}

html.dark .lcert-note.green {
    background: rgba(46, 158, 70, .08);
    border-color: rgba(46, 158, 70, .25);
}

html.dark .lcert-note.gold :is(.fa-solid,.fa-regular,.fa-brands) {
    color: #e8a23d;
}

html.dark .lcert-note.green :is(.fa-solid,.fa-regular,.fa-brands) {
    color: #3fbf58;
}

/* 侧栏服务格 / 菜单选中态 */
html.dark .luc-serve-item:hover,
html.dark .luc-serve-item.active,
html.dark .luc-menu li a:hover,
html.dark .luc-menu li a.active {
    background: #1c2a3f;
}

/* 横幅头像白圈 / 封面占位 */
html.dark .lart-cover-box {
    background: #262a31;
}

/* 全站通用浅蓝底按钮/图标态 */
html.dark .l-follow-btn {
    background: #1c2a3f;
}

/* 认证中心：浅蓝渐变头图 / 提示卡 / 状态徽章 */
html.dark .lcert-hero {
    background: linear-gradient(160deg, #1c2735 0%, #1a2230 55%, #182030 100%);
}

html.dark .lcert-hero::before,
html.dark .lcert-hero::after {
    background: rgba(255, 255, 255, .05);
}

html.dark .lcert-note.gold {
    background: #332a1c;
    border-color: #4a3d24;
}

html.dark .lcert-note.green {
    background: #1c3320;
    border-color: #2b4a33;
}

html.dark .l-cert-state.pending {
    color: #e8b45f;
    background: #332a1c;
    border-color: #8a6a2a;
}

html.dark .l-cert-state.ok {
    color: #58c26a;
    background: #1c3320;
    border-color: #3a6a45;
}

html.dark .l-cert-state.no {
    color: var(--l-danger);
    background: #33201f;
    border-color: var(--l-danger);
}

/* ---------- 暗夜模式：Markdown 编辑器 ---------- */
html.dark #lArtMd .editormd,
html.dark #lArtMd .editormd-container {
    background: var(--l-card);
    border-color: var(--l-line);
}

html.dark #lArtMd .editormd-toolbar-container {
    background: var(--l-card);
    border-color: var(--l-line);
}

html.dark #lArtMd .editormd-toolbar {
    background: var(--l-card);
    border-color: var(--l-line);
}

html.dark #lArtMd .editormd-toolbar li {
    color: var(--l-text2);
}

html.dark #lArtMd .CodeMirror {
    background: var(--l-card);
    color: var(--l-text);
}

html.dark #lArtMd .CodeMirror-gutters {
    background: var(--l-card);
    border-color: var(--l-line);
}

html.dark #lArtMd .CodeMirror-cursor {
    border-left-color: var(--l-text);
}

html.dark #lArtMd .CodeMirror-activeline-background {
    background: #262a31;
}

html.dark #lArtMd .CodeMirror-selected {
    background: #33445c;
}

html.dark #lArtMd .CodeMirror pre.CodeMirror-placeholder {
    color: var(--l-text3);
}

/* 编辑器弹窗（图片/链接对话框） */
html.dark .editormd-dialog {
    background: var(--l-card);
    border-color: var(--l-line);
    color: var(--l-text2);
}

html.dark .editormd-dialog-header {
    background: var(--l-card);
    border-color: var(--l-line);
    color: var(--l-text);
}

html.dark .editormd-dialog-container {
    background: var(--l-card);
}

html.dark .editormd-dialog-container label {
    color: var(--l-text2);
}

html.dark .editormd-dialog-container input[type="text"],
html.dark .editormd-dialog .editormd-imgurl-row input[type="text"] {
    background: var(--l-card);
    border-color: var(--l-line);
    color: var(--l-text);
}

html.dark .editormd-dialog-container input[type="submit"],
html.dark .editormd-dialog-container .editormd-btn,
html.dark .editormd-dialog-container button,
html.dark .editormd-dialog-footer input[type="submit"],
html.dark .editormd-dialog-footer .editormd-btn,
html.dark .editormd-dialog-footer button {
    background: var(--l-card);
    border-color: var(--l-line);
    color: var(--l-text);
}

html.dark .editormd-dialog-container input[type="submit"]:hover,
html.dark .editormd-dialog-container button:hover,
html.dark .editormd-dialog-footer input[type="submit"]:hover,
html.dark .editormd-dialog-footer button:hover {
    background: #262a31;
}

html.dark .editormd-dialog-close {
    color: var(--l-text3);
}

/* 编辑器弹窗内本地上传按钮 */
html.dark .editormd-dialog .editormd-file-input input[type="submit"] {
    background: var(--l-card);
    border-color: var(--l-line);
    color: var(--l-text);
}

/* ---------- 暗夜模式：会员中心补充 ---------- */
/* 原生控件（select 弹层 / 滚动条 / 日期等）跟随暗色渲染 */
html.dark {
    color-scheme: dark;
}

/* select 下拉选项 */
html.dark .l-input option {
    background: var(--l-card);
    color: var(--l-text);
}

/* 工具栏按钮悬停 / 选中态 */
html.dark #lArtMd .editormd-menu > li > a:hover,
html.dark #lArtMd .editormd-menu > li > a.active {
    border-color: var(--l-line);
    background: #262a31;
}

/* 工具栏下拉菜单（标题/列表等展开项） */
html.dark .editormd-dropdown-menu {
    background: var(--l-card);
    border-color: var(--l-line);
}

html.dark .editormd-dropdown-menu:before {
    border-bottom-color: var(--l-line);
}

html.dark .editormd-dropdown-menu:after {
    border-bottom-color: var(--l-card);
}

html.dark .editormd-dropdown-menu > li > a {
    color: var(--l-text2);
}

html.dark .editormd-dropdown-menu > li > a:hover {
    background: #262a31;
    color: var(--l-text);
}

/* 预览区（切换预览时默认白底） */
html.dark #lArtMd .editormd-preview {
    background: var(--l-card);
}

/* 预览内容排版适配 */
html.dark #lArtMd .editormd-preview .markdown-body {
    color: var(--l-text);
}

html.dark #lArtMd .editormd-preview .markdown-body a {
    color: #6db3f2;
}

html.dark #lArtMd .editormd-preview .markdown-body hr {
    border-bottom-color: var(--l-line);
}

html.dark #lArtMd .editormd-preview .markdown-body blockquote {
    color: var(--l-text2);
    border-left-color: var(--l-line);
}

html.dark #lArtMd .editormd-preview .markdown-body table th,
html.dark #lArtMd .editormd-preview .markdown-body table td {
    border-color: var(--l-line);
}

html.dark #lArtMd .editormd-preview .markdown-body table tr {
    background-color: transparent;
    border-top-color: var(--l-line);
}

html.dark #lArtMd .editormd-preview .markdown-body table tr:nth-child(2n) {
    background-color: #262a31;
}

html.dark #lArtMd .editormd-preview .markdown-body code {
    background-color: rgba(255, 255, 255, .08);
}

html.dark #lArtMd .editormd-preview .markdown-body pre {
    background-color: #262a31;
}

html.dark #lArtMd .editormd-preview .markdown-body kbd {
    color: var(--l-text2);
    background-color: #262a31;
    border-color: var(--l-line);
    box-shadow: inset 0 -1px 0 var(--l-line);
}

/* ---------- 文章过期提示 ---------- */
.article-timeout {
    position: relative;
    display: block;
    margin-bottom: 25px;
    padding: 14px 16px;
    background: linear-gradient(135deg, #fff7e6 0%, #fff1d6 100%);
    border: 1px solid #ffd591;
    border-left: 4px solid #fa8c16;
    border-radius: 0 !important;
    color: #8c5a00;
    font-size: 13px;
    line-height: 1.7;
    word-break: break-word;
}

.article-timeout::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: repeating-linear-gradient(45deg, rgba(250, 140, 22, .04) 0, rgba(250, 140, 22, .04) 6px, transparent 6px, transparent 12px);
    pointer-events: none;
}

.article-timeout strong {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #fa8c16;
    font-weight: 600;
}

.article-timeout strong i {
    font-size: 16px;
    animation: timeout-bell 2s ease-in-out infinite;
    transform-origin: top center;
}

@keyframes timeout-bell {
    0%, 100% { transform: rotate(0deg); }
    10%, 30% { transform: rotate(15deg); }
    20%, 40% { transform: rotate(-12deg); }
    50% { transform: rotate(0deg); }
}

.article-timeout code {
    padding: 1px 6px;
    margin: 0 2px;
    background: rgba(250, 140, 22, .12);
    border-radius: 3px;
    font-family: Consolas, Monaco, monospace;
    font-size: 12px;
    color: #d46b08;
}

.article-timeout a {
    color: #fa8c16;
    text-decoration: none;
    font-weight: 500;
    border-bottom: 1px dashed #fa8c16;
}

.article-timeout a:hover {
    color: #d46b08;
    border-bottom-color: #d46b08;
}

html.dark .article-timeout {
    background: linear-gradient(135deg, #3a2e1a 0%, #2e2410 100%);
    border-color: #5a4420;
    border-left-color: #fa8c16;
    color: #ffd591;
}

html.dark .article-timeout code {
    background: rgba(250, 140, 22, .25);
    color: #ffbb96;
}

html.dark .article-timeout a {
    color: #ffbb96;
    border-bottom-color: #ffbb96;
}

/* =========================================================
 * 图片灯箱
 * ========================================================= */
.l-lightbox-on .la-content img,
.l-lightbox-on .lti-content img {
    cursor: zoom-in;
}

.l-lightbox {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3000;
    background: rgba(0, 0, 0, .88);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: zoom-out;
    animation: lightbox-in .18s ease;
}

@keyframes lightbox-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

.l-lightbox img {
    max-width: 92vw;
    max-height: 88vh;
    display: block;
    box-shadow: 0 12px 48px rgba(0, 0, 0, .6);
    cursor: default;
}

.l-lightbox-close {
    position: absolute;
    top: 12px;
    right: 20px;
    font-size: 36px;
    line-height: 1;
    color: rgba(255, 255, 255, .85);
    cursor: pointer;
    transition: color .2s;
}

.l-lightbox-close:hover {
    color: #fff;
}

/* 评论框：登录评论提示卡（开启「登录才可评论」时访客可见） */
.l-com-login-tip {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: 28px 16px 24px;
    text-align: center;
}

.l-com-login-tip .lcl-title {
    font-size: 14px;
    color: var(--l-text3);
    margin: 0;
}

.lcl-btns {
    display: flex;
    gap: 12px;
}

.lcl-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: 38px;
    padding: 0 26px;
    font-size: 14px;
    text-decoration: none;
    transition: opacity .2s, transform .2s;
}

.lcl-btn:hover {
    opacity: .85;
    transform: translateY(-1px);
}

/* 登录：浅蓝底蓝字 */
.lcl-signin {
    background: #e8f3ff;
    color: #2f8af5;
}

/* 注册：浅橙底橙字 */
.lcl-signup {
    background: #fff3e5;
    color: #ff8c1a;
}

/* 社交账号登录分隔线 */
.lcl-social {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--l-text3);
    font-size: 12px;
}

.lcl-social::before,
.lcl-social::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--l-line);
}

/* 社交登录按钮 */
.lcl-social-btns {
    display: flex;
    gap: 12px;
}

.lcl-qq {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: #12b7f5;
    color: #fff;
    font-size: 18px;
    border-radius: 50% !important; /* 圆形，豁免全站直角通配符 */
    text-decoration: none;
    transition: background .2s;
}

.lcl-qq:hover {
    background: var(--l-primary);
    color: #fff; /* 抵消全局 a:hover 变蓝导致图标与底色同色 */
}

.l-lightbox-cap {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    max-width: 80vw;
    color: rgba(255, 255, 255, .8);
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* =========================================================
 * 移动端底部导航栏
 * ========================================================= */
.l-mbar {
    display: none;
}

@media (max-width: 768px) {
    .l-mbar {
        display: flex;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 900;
        height: 54px;
        background: #fff;
        border-top: 1px solid var(--l-line);
        padding-bottom: env(safe-area-inset-bottom);
    }

    .lmb-item {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        min-width: 0;
        text-decoration: none;
        position: relative;
    }

    .lmb-item :is(.fa-solid,.fa-regular,.fa-brands) {
        font-size: 21px;
        line-height: 1;
        transition: color .2s;
    }

    .lmb-txt {
        font-size: 11px;
        line-height: 1;
        color: var(--l-text3);
        transition: color .2s;
        white-space: nowrap;
    }

    .lmb-item:active :is(.fa-solid,.fa-regular,.fa-brands),
    .lmb-item:active .lmb-txt {
        color: var(--l-primary);
    }

    /* 首页（红） */
    .lmb-home :is(.fa-solid,.fa-regular,.fa-brands) { color: #f25555; }

    /* 会员（金） */
    .lmb-item:nth-child(2) :is(.fa-solid,.fa-regular,.fa-brands) { color: #f0a30a; }

    /* 发布：居中凸起按钮 */
    .lmb-pub :is(.fa-solid,.fa-regular,.fa-brands) {
        width: 44px;
        height: 44px;
        margin-top: -22px;
        border-radius: 50%;
        background: linear-gradient(135deg, #ff7eb3, #ff4d88);
        color: #fff;
        font-size: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 4px 10px rgba(255, 77, 136, .35);
        border: 3px solid #fff;
        box-sizing: border-box;
    }

    .lmb-pub .lmb-txt { margin-top: 1px; }

    /* 消息 / 用户中心（蓝） */
    .lmb-item:nth-child(4) :is(.fa-solid,.fa-regular,.fa-brands),
    .lmb-item:nth-child(5) :is(.fa-solid,.fa-regular,.fa-brands) { color: #2f8af5; }

    /* 首页 ↔ 返回顶部 状态切换 */
    .lmb-face {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 2px;
    }

    .lmb-face-top { display: none; }

    body.l-at-bottom .lmb-face-norm { display: none; }
    body.l-at-bottom .lmb-face-top { display: flex; }

    .lmb-face-top :is(.fa-solid,.fa-regular,.fa-brands) { color: var(--l-primary); }

    /* 防止内容被底栏遮挡 */
    body {
        padding-bottom: calc(54px + env(safe-area-inset-bottom));
    }
}

/* ---------- 评论 UID 挂饰（B站风格：随机图 + 编号随机色） ---------- */
/*网站评论美化*/
.bili-dyn-item__ornament {
    position: sticky;
    /*right: 48px;*/
    top: 18px;
    margin-top: -10px;
    float: right;
}
.bili-dyn-ornament__type--3 {
    position: relative; /* 编号 span 的定位锚点（不依赖 transform 是否存在） */
    height: 44px;
    width: 146px;
}
.bili-dyn-ornament img {
    height: 100%;
    width: 100%;
}
.bili-dyn-ornament__type--3 span {
    font-family: num !important;
    font-size: 12px;
    position: absolute;
    right: 54px;
    top: 15px;
    transform: scale(.88);
    transform-origin: right;
}
@font-face {
    font-family: num;
    src: url('data:font/ttf;base64,AAEAAAAKAIAAAwAgT1MvMlfu6qkAAACsAAAAYGNtYXAZKRS8AAABDAAAAVpnbHlmPpOLigAAAmgAAAI0aGVhZA1ca6UAAAScAAAANmhoZWEGkALDAAAE1AAAACRobXR4JmQFBgAABPgAAAA4bG9jYQPqA14AAAUwAAAAHm1heHAAEgAOAAAFUAAAACBuYW1ly5ItMwAABXAAAAagcG9zdADLALIAAAwQAAAAPgAEAvQBkAAFAAgCAAIAAAAAAAIAAgAAAAIAADMBCQAAAgEGBAAAAAAAAIAAAAEQAAAAAAAAAAAAAABKQkhHAEAALgBPA3D/NAB0A3AAzAAEAAEAAAAAAAAAAAAAACAAAAAAAAMAAAADAAAAHAABAAAAAABUAAMAAQAAABwABAA4AAAACgAIAAIAAgAuADkAT/////8AAAAuADAATv//////0//S/74AAQABAAAAAAAAAAAAAAAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAIDBAUGBwgJCgsAAAAAAAAAAAAAAAAAAAAAAAAAAAwNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABALgABAF0ALAAAwAAJTUjFQF0vASsrAACAFoABAKwAtwAAwAHAAA3ESERFxEhEfYBHpz9qpABvv5CjALY/SgAAQBMAAQBWALcAAUAACURIRUzEQFY/vRwBALYjP20AAABAF4ABAK+AtwACwAAJTUhNSERIRUhFSERAr7+OgHG/agBvv46BIqeAbCMmP5MAAABAF4ABAK+AtwACwAAJREhFSEVIRUhFSEVAr79oAHG/oQBfP46BALYjpSMnowAAAABAGIABAK0AtwACQAAJREjESERIxEhFQK0mP7gmgG6BALY/oQBfP340AAAAAEAXAAEArgC3AALAAABFSEVIREhNSE1IRECHv4+Alz+PgHC/aQBLqKIAbKciv5SAAIAXAAEArgC3AADAAsAACUhNSElNSE1IREhEQIe/tgBKP7YAcL9pAJcjKqKkor9KAG8AAABAF4ABALOAtwABQAAASEVIQEzAs79kAGO/uaiAtyM/bQAAAADAGAABAK+AtwAAwAHAAsAABM1IR0CITUBESER+gEq/tYBxP2iAbqYmIqmpv7UAtj9KAAAAgBcAAQCvALcAAMACwAAEzUhHQIhFSERIRH2ASz+OgJg/aABpqysipCIAtj+QAAAAQBcAAQC0gLuAAkAACURIxEBIxEzEQEC0pT+tJaUAVwEAur+HgHi/RYB9v4KAAAAAgBcAAQCzALuAAMABwAAJREhESUhESECzP2QAdj+wAFABALq/RaOAc4AAAABAAAAAQAAMO4Tq18PPPUAAgQAAAAAANHSZDkAAAAA2VbDfQBMAAQC0gLuAAAACAACAAAAAAAAAAEAAANw/zQAAAMuAEwAUgLSAAEAAAAAAAAAAAAAAAAAAAAOAAAAAAIoALgDCgBaAgwATAMYAF4DIgBeAxgAYgMUAFwDEgBcAyAAXgMiAGADGABcAy4AXAMmAFwAAAAAAAwAIAAwAEgAYAB2AI4AqAC6ANQA7AEEARoAAAABAAAADgAMAAMAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAEADGAAEAAAAAAAAArgAAAAEAAAAAAAEAGQCuAAEAAAAAAAIABwDHAAEAAAAAAAMAGQDOAAEAAAAAAAQAGQDnAAEAAAAAAAUARAEAAAEAAAAAAAYAHAFEAAEAAAAAAAcArgFgAAMAAQQJAAABRgIOAAMAAQQJAAEAJgNUAAMAAQQJAAIADgN6AAMAAQQJAAMAJgOIAAMAAQQJAAQAJgOuAAMAAQQJAAUAiAPUAAMAAQQJAAYAOARcAAMAAQQJAAcBRgSUQ29weXJpZ2h0KGMpIDIwMTUgUkVFSkkgwpUQW1ddw6ViPw0KU2hhbmcgaGFpIFJ1aSBYaWFuIENyZWF0aXZlIERlc2lnbiBDby4gTHRkLsO/DA0KTgptd8KVEH7Cv1IbYQ/Ci8K+wovCoWcJwpZQUWxTw7gNCnd3dy5yZWVqaS5jb20NClFROjI3NzA4NTE3MzMNCk1haWw6UmVlamlmb250QG91dGxvb2suY29twpUQW1fClRB+wr9gEmU+wp7DkXvCgDEuMFJlZ3VsYXLClRBbV8KVEH7Cv2ASZT7CnsORe8KAMS4wwpUQW1fClRB+wr9gEmU+wp7DkXvCgDEuMFZlcnNpb24gMS4wICB3d3cucmVlamkuY29tIFFROjI3NzA4NTE3MzMgIE1haWw6UmVlamlmb250QG91dGxvb2suY29tUmVlSmktQmlnUnVpeGFpbi1CbGFja0dCVjEuMENvcHlyaWdodChjKSAyMDE1IFJFRUpJIMKVEFtXXcOlYj8NClNoYW5nIGhhaSBSdWkgWGlhbiBDcmVhdGl2ZSBEZXNpZ24gQ28uIEx0ZC7DvwwNCk4KbXfClRB+wr9SG2EPwovCvsKLwqFnCcKWUFFsU8O4DQp3d3cucmVlamkuY29tDQpRUToyNzcwODUxNzMzDQpNYWlsOlJlZWppZm9udEBvdXRsb29rLmNvbQBDAG8AcAB5AHIAaQBnAGgAdAAoAGMAKQAgADIAMAAxADUAIABSAEUARQBKAEkAIACVABAAWwBXAF0A5QBiAD8ADQAKAFMAaABhAG4AZwAgAGgAYQBpACAAUgB1AGkAIABYAGkAYQBuACAAQwByAGUAYQB0AGkAdgBlACAARABlAHMAaQBnAG4AIABDAG8ALgAgAEwAdABkAC4A/wAMAA0ACgBOAAoAbQB3AJUAEAB+AL8AUgAbAGEADwCLAL4AiwChAGcACQCWAFAAUQBsAFMA+AANAAoAdwB3AHcALgByAGUAZQBqAGkALgBjAG8AbQANAAoAUQBRADoAMgA3ADcAMAA4ADUAMQA3ADMAMwANAAoATQBhAGkAbAA6AFIAZQBlAGoAaQBmAG8AbgB0AEAAbwB1AHQAbABvAG8AawAuAGMAbwBtAJUAEABbAFcAlQAQAH4AvwBgABIAZQA+AJ4A0QB7AIAAMQAuADAAUgBlAGcAdQBsAGEAcgCVABAAWwBXAJUAEAB+AL8AYAASAGUAPgCeANEAewCAADEALgAwAJUAEABbAFcAlQAQAH4AvwBgABIAZQA+AJ4A0QB7AIAAMQAuADAAVgBlAHIAcwBpAG8AbgAgADEALgAwACAAIAB3AHcAdwAuAHIAZQBlAGoAaQAuAGMAbwBtACAAUQBRADoAMgA3ADcAMAA4ADUAMQA3ADMAMwAgACAATQBhAGkAbAA6AFIAZQBlAGoAaQBmAG8AbgB0AEAAbwB1AHQAbABvAG8AawAuAGMAbwBtAFIAZQBlAEoAaQAtAEIAaQBnAFIAdQBpAHgAYQBpAG4ALQBCAGwAYQBjAGsAR0BWMQAuADAAQwBvAHAAeQByAGkAZwBoAHQAKABjACkAIAAyADAAMQA1ACAAUgBFAEUASgBJACAAlQAQAFsAVwBdAOUAYgA/AA0ACgBTAGgAYQBuAGcAIABoAGEAaQAgAFIAdQBpACAAWABpAGEAbgAgAEMAcgBlAGEAdABpAHYAZQAgAEQAZQBzAGkAZwBuACAAQwBvAC4AIABMAHQAZAAuAP8ADAANAAoATgAKAG0AdwCVABAAfgC/AFIAGwBhAA8AiwC+AIsAoQBnAAkAlgBQAFEAbABTAPgADQAKAHcAdwB3AC4AcgBlAGUAagBpAC4AYwBvAG0ADQAKAFEAUQA6ADIANwA3ADAAOAA1ADEANwAzADMADQAKAE0AYQBpAGwAOgBSAGUAZQBqAGkAZgBvAG4AdABAAG8AdQB0AGwAbwBvAGsALgBjAG8AbQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAoAAQAQAH0AjgAAAFoBAADgBQAA4AUAANwNAADcDQAA7A0AAOwNAAAmDgAAJg4AAEAPAABADwAAmA8AAJgPAAAwEQAAMBEAACgSAABIEgAAzBIAAMwSAAAwEwAAMBMAADAUAAAwFAAATRQAAE0UAABNFQAATRUAAGUWAABlFgAAZRYAAGUWAAA=');
}
/*手机适配*/
@media (max-width: 420px){
    .bili-dyn-ornament__type--3 {
        width: 11rem !important;
    }
}
/* 嵌入 light 主题评论行（.lc-foot 为 flex，右侧 .lc-side 放 UID 挂饰；楼层在昵称行） */
.lc-side {
    margin-left: auto;
    align-self: flex-start;
    margin-top: -10px;
}
.lc-foot .bili-dyn-item__ornament {
    position: static;
    float: none;
    margin: 0;
}
.lc-foot .bili-dyn-ornament {
    pointer-events: none;
}
/* UID 挂饰贴最右：保持素材原始布局（图案贴右缘、编号紧挨其左），盒子右缘对齐评论行右缘 */
.lc-side .bili-dyn-ornament__type--3 span {
    right: 54px;
    transform: scale(.88);
}
/* 评论头像：呼吸光环 + 悬停旋转 */
.lc-avatar {
    animation: lcBreathRing 3.2s ease-in-out infinite;
    transition: transform .8s ease;
}
.l-comment:hover .lc-avatar {
    transform: rotate(360deg);
}
@keyframes lcBreathRing {
    0%, 100% { box-shadow: 0 0 0 0 rgba(23, 116, 230, .35); }
    50% { box-shadow: 0 0 0 6px rgba(23, 116, 230, 0); }
}
::-webkit-scrollbar { width: 0.5rem; height: 0.5rem;}::-webkit-scrollbar-thumb { border-radius: 0.125rem; -moz-border-radius: 0.125rem; -webkit-border-radius: 0.125rem; background-color: #ccc;}::-webkit-scrollbar-track { background-color: transparent;}

/* =========================================================
 * 会员中心全局移动端自适应修复
 * ========================================================= */
@media (max-width: 900px) {
    /* 左侧菜单卡片与内容区改为上下堆叠 */
    .l-uc {
        flex-direction: column;
    }
    .l-uc-side {
        width: 100%;
    }
    .luc-banner {
        height: 220px;
    }
    /* 服务菜单 4 列铺满宽度 */
    .luc-serve {
        grid-template-columns: repeat(4, 1fr);
    }
    /* 横幅信息条收紧：去掉桌面端左侧留白，头像缩小上叠 */
    .luc-head {
        gap: 12px;
        padding: 0 14px 14px;
    }
    .luc-head-l {
        margin-left: 0;
        gap: 14px;
        width: 100%;
    }
    .luc-banner-avatar {
        width: 88px;
        height: 88px;
        margin-top: -40px;
    }
    .luc-banner-act {
        padding-top: 4px;
    }
}

@media (max-width: 640px) {
    .luc-banner {
        height: 200px;
    }
    /* 参考布局：头像左 / 签到铃铛右 同排，昵称与资料标签在下方整行铺开 */
    .luc-head {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 10px 12px;
        padding: 0 14px 14px;
    }
    .luc-head-l {
        display: contents;
    }
    .luc-banner-avatar {
        order: 1;
        display: block;
        box-sizing: border-box;
        width: 96px;
        height: 96px;
        margin-top: -48px;
    }
    .luc-banner-avatar .l-avatar,
    .luc-banner-avatar .l-avatar img,
    .luc-banner-avatar img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 50% !important;
    }
    .luc-banner-act {
        order: 2;
        margin-left: auto;
        padding-top: 52px;
    }
    .luc-banner-act .l-btn {
        min-width: 96px;
    }
    .luc-banner-main {
        order: 3;
        flex-basis: 100%;
        width: 100%;
        padding-top: 0;
    }
    /* 昵称行允许换行 */
    .luc-banner-name {
        font-size: 18px;
        flex-wrap: wrap;
    }
    .luc-banner-name .l-vip-gif {
        height: 18px;
    }
    /* 资料标签收紧 */
    .luc-banner-meta {
        gap: 6px;
    }
    .luc-banner-meta span {
        padding: 2px 8px;
        font-size: 12px;
    }
    /* 经验进度条占满信息列 */
    .luc-banner-main .luc-progress {
        max-width: 100%;
    }
    /* 服务菜单收窄为 3 列 */
    .luc-serve {
        grid-template-columns: repeat(3, 1fr);
    }
    /* 表单行：标签独占一行，控件占满宽度 */
    .luc-form-row {
        flex-wrap: wrap;
        gap: 8px 12px;
    }
    .luc-form-row .luc-form-label {
        width: 100%;
    }
    .luc-form-row .l-input,
    .luc-form .l-input {
        max-width: 100%;
    }
    .luc-ava-set {
        gap: 12px;
    }
    /* 后台管理表格：横向滑动查看，不挤压布局 */
    .lcd-table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
    }
    /* 管理页签收紧 */
    .ladm-tabs {
        gap: 4px;
        padding: 4px;
    }
    .ladm-tab {
        padding: 7px 10px;
        font-size: 12px;
    }
}

/* ===================== 404 页面 ===================== */
.l404-wrap {
    position: relative;
    max-width: 560px;
    margin: 48px auto 0;
    padding: 48px 32px 56px;
    text-align: center;
    overflow: hidden;
    border-radius: 16px;
    background: var(--l-card);
    border: 1px solid var(--l-line);
}

.l404-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(70px);
    opacity: .5;
    pointer-events: none;
    animation: l404Float 9s ease-in-out infinite;
}

.l404-blob.b1 {
    width: 240px;
    height: 240px;
    top: -80px;
    left: -60px;
    background: rgba(23, 116, 230, .35);
}

.l404-blob.b2 {
    width: 200px;
    height: 200px;
    bottom: -70px;
    right: -50px;
    background: rgba(255, 122, 69, .28);
    animation-delay: -3s;
}

.l404-blob.b3 {
    width: 150px;
    height: 150px;
    top: 40%;
    right: 12%;
    background: rgba(46, 193, 158, .25);
    animation-delay: -6s;
}

@keyframes l404Float {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(18px, -14px) scale(1.08); }
}

.l404-code {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 96px;
    font-weight: 800;
    line-height: 1;
    background: linear-gradient(135deg, var(--l-primary), #7f5bff 55%, #ff7a45);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 4px;
}

.l404-ufo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    margin: 0 2px;
    border-radius: 50%;
    font-size: 40px;
    color: #fff;
    background: linear-gradient(135deg, var(--l-primary), #7f5bff);
    -webkit-text-fill-color: #fff;
    box-shadow: 0 10px 26px rgba(23, 116, 230, .35);
    animation: l404Bob 2.6s ease-in-out infinite;
}

@keyframes l404Bob {
    0%, 100% { transform: translateY(0) rotate(-6deg); }
    50% { transform: translateY(-10px) rotate(6deg); }
}

.l404-title {
    position: relative;
    margin: 22px 0 8px;
    font-size: 24px;
    color: var(--l-text);
}

.l404-desc {
    position: relative;
    margin: 0 0 26px;
    font-size: 14px;
    color: var(--l-text3);
}

.l404-search {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: 380px;
    margin: 0 auto 26px;
    padding: 0 6px 0 16px;
    border-radius: 999px;
    background: var(--l-bg);
    border: 1px solid var(--l-line);
    transition: border-color .2s, box-shadow .2s;
}

.l404-search:focus-within {
    border-color: var(--l-primary);
    box-shadow: 0 0 0 3px rgba(23, 116, 230, .14);
}

.l404-search i {
    font-size: 14px;
    color: var(--l-text3);
}

.l404-search input {
    flex: 1;
    min-width: 0;
    padding: 11px 0;
    border: 0;
    outline: none;
    background: transparent;
    font-size: 14px;
    color: var(--l-text);
}

.l404-search button {
    padding: 9px 20px;
    border: 0;
    border-radius: 999px;
    font-size: 14px;
    color: #fff;
    background: var(--l-primary);
    cursor: pointer;
    transition: filter .2s;
}

.l404-search button:hover {
    filter: brightness(1.08);
}

.l404-actions {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.l404-actions .l-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.l404-actions .l-btn i {
    font-size: 13px;
}

@media (max-width: 600px) {
    .l404-wrap {
        margin-top: 20px;
        padding: 36px 20px 44px;
    }

    .l404-code {
        font-size: 72px;
    }

    .l404-ufo {
        width: 58px;
        height: 58px;
        font-size: 30px;
    }
}

html.dark .l404-blob {
    opacity: .35;
}

/* ===================== 独立页面（page.php，无侧栏，宽屏） ===================== */
.lp-card {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 0 44px;
    overflow: hidden;
}

.lp-head {
    position: relative;
    padding: 34px 40px 26px;
    text-align: center;
    background:
        radial-gradient(420px 160px at 50% -60px, rgba(23, 116, 230, .10), transparent 70%),
        transparent;
}

.lp-title {
    margin: 0 0 12px;
    font-size: 26px;
    line-height: 1.35;
    color: var(--l-text);
}

.lp-meta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 13px;
    color: var(--l-text3);
}

.lp-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.lp-meta-item i {
    font-size: 12px;
}

.lp-meta-dot {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--l-text3);
}

.lp-content {
    padding: 30px 40px 0;
    border-top: 1px dashed var(--l-line);
}

@media (max-width: 600px) {
    .lp-head {
        padding: 32px 20px 22px;
    }

    .lp-title {
        font-size: 21px;
    }

    .lp-content {
        padding: 24px 20px 0;
    }
}

html.dark .lp-head {
    background:
        radial-gradient(420px 160px at 50% -60px, rgba(23, 116, 230, .16), transparent 70%),
        transparent;
}