/* ============================================
   widget.css - 极主题小工具样式整合（去重版）
   ============================================ */
/* ============================================
   一、公共样式
   ============================================ */
.jitheme_widget_btn {
    color: var(--b2color);
    background: var(--bg-body);
    border: 1px solid var(--border-color);
    border-radius: var(--b2radius);
    font-size: var(--fs-sm);
}
.jitheme_widget_btn.hover_btn {
    color: #fff;
    background: var(--b2color);
    border: 1px solid var(--b2color);
}
.jitheme_widget_btn.hover_btn:hover {
    color: #fff;
    background: var(--b2color);
    border: 1px solid var(--b2color);
    opacity: .9;
    transition: opacity .2s;
}
.jitheme_widget_btn::before {
    font-size: var(--fs-lg);
    line-height: 1;
    margin-right: 5px;
    color: var(--text-secondary);
    transition: color 0.25s ease;
}
.jitheme_widget_btn:hover {
    color: #fff;
    background: var(--b2color);
    border-color: var(--border-light);
}
.jitheme_widget_btn:hover::before {
    color: #3a5a7a;
}
.jitheme_widget_btn i {
    margin-right: 5px;
}
/* 空状态提示 */
.jitheme-empty-msg {
    text-align: center;
    color: var(--text-muted);
    padding: 20px 0;
    font-size: var(--fs-sm);
}
/* 移动端隐藏 */
@media (max-width: 768px) {
    .mobile-hidden {
        display: none;
    }
}
/* ============================================
   二、推荐专题小工具 (.jitheme-tjzt-*)
   ============================================ */
.jitheme-tjzt-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}
.jitheme-tjzt-item {
    background: var(--bg-card);
    border-radius: var(--b2radius);
    overflow: hidden;
    transition: all 0.3s ease;
    border: 1px solid var(--border-color);
    position: relative;
}
.jitheme-tjzt-item:hover {
    transform: translateY(-2px);
    box-shadow: none;
    border-color: var(--border-color);
}
.jitheme-tjzt-link {
    display: flex;
    align-items: stretch;
    text-decoration: none;
    color: inherit;
    padding: 10px 12px;
    gap: 12px;
}
.jitheme-tjzt-link:hover {
    text-decoration: none;
    color: inherit;
}
.jitheme-tjzt-thumb {
    width: 70px;
    min-width: 70px;
    height: 70px;
    border-radius: var(--b2radius);
    overflow: hidden;
    position: relative;
    flex-shrink: 0;
    background: var(--bg-subtle);
}
.jitheme-tjzt-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.jitheme-tjzt-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--fs-lg);
    color: #fff;
}
.jitheme-tjzt-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 2px 0;
    height: 70px;
}
.jitheme-tjzt-name {
    font-size: var(--fs-base);
    color: var(--text-primary);
    margin: 0;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.jitheme-tjzt-meta {
    display: flex;
    gap: 12px;
    font-size: var(--fs-xs);
    color: var(--text-muted);
    margin-top: 2px;
}
.jitheme-tjzt-desc {
    display: block;
    font-size: var(--fs-xs);
    color: var(--text-muted);
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    width: 100%;
}
.jitheme-tjzt-meta-item {
    display: flex;
    align-items: center;
    gap: 3px;
}
.jitheme-tjzt-meta-item i {
    font-size: var(--fs-sm);
}
.jitheme-tjzt-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 10px;
    font-size: var(--fs-xs);
    color: var(--text-muted);
    border-radius: var(--b2radius);
    z-index: 2;
    background: var(--border-light);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    border: 1px solid var(--border-light);
    letter-spacing: 0.5px;
}
.jitheme-tjzt-item:hover .jitheme-tjzt-badge {
    color: var(--text-secondary);
    background: var(--border-light);
    border-color: var(--border-color);
}
.jitheme-tjzt-footer {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid var(--border-color);
    text-align: center;
}
@media screen and (max-width: 480px) {
    .jitheme-tjzt-thumb {
        width: 60px;
        min-width: 60px;
        height: 60px;
    }
    .jitheme-tjzt-info {
        height: 60px;
    }
    .jitheme-tjzt-name {
        font-size: var(--fs-sm);
    }
    .jitheme-tjzt-meta {
        font-size: var(--fs-xs);
        gap: 8px;
    }
    .jitheme-tjzt-link {
        padding: 8px 10px;
        gap: 8px;
    }
    .jitheme-tjzt-badge {
        font-size: var(--fs-xs);
        padding: 1px 8px;
        top: 6px;
        right: 6px;
        border-radius: var(--b2radius);
    }
}
/* ============================================
   三、微信联系群小工具 (.jitheme-wechat-*)
   ============================================ */
.jitheme-wechat-wrapper {
    padding: 5px 0;
}
.jitheme-wechat-wrapper .wechat-group-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin-bottom: 18px;
}
.jitheme-wechat-wrapper .wechat-group-item {
    display: flex;
    align-items: center;
    background: var(--bg-subtle);
    border-radius: var(--b2radius);
    padding: 8px 12px;
    transition: all 0.3s ease;
    border: 1px solid var(--border-light);
}
.jitheme-wechat-wrapper .wechat-group-item:hover {
    background: var(--bg-subtle);
    border-color: var(--border-color);
    transform: translateY(-1px);
}
.jitheme-wechat-wrapper .wechat-group-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    font-size: var(--fs-xs);
    margin-right: 10px;
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
    transition: all 0.3s ease;
}
.jitheme-wechat-wrapper .wechat-group-item:hover .wechat-group-num {
    transform: scale(1.1);
}
.jitheme-wechat-wrapper .wechat-group-name {
    font-size: var(--fs-sm);
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: 0.3px;
}
.jitheme-wechat-wrapper .wechat-admin-section {
    display: flex;
    align-items: center;
    padding: 10px;
    background: var(--bg-subtle);
    border-radius: var(--b2radius);
    margin-top: 5px;
    border: 1px solid var(--border-light);
    transition: all 0.3s ease;
}
.jitheme-wechat-wrapper .wechat-admin-section:hover {
    background: var(--bg-subtle);
    border-color: var(--border-color);
}
.jitheme-wechat-wrapper .wechat-admin-avatar {
    width: 65px;
    height: 65px;
    border-radius: var(--b2radius);
    overflow: hidden;
    flex-shrink: 0;
    background: var(--bg-subtle);
    box-shadow: none;
}
.jitheme-wechat-wrapper .wechat-admin-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.jitheme-wechat-wrapper .wechat-admin-avatar .no-qrcode {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: var(--bg-subtle);
    color: var(--text-muted);
    font-size: var(--fs-lg);
}
.jitheme-wechat-wrapper .wechat-admin-info {
    flex: 1;
    margin-left: 14px;
}
.jitheme-wechat-wrapper .wechat-admin-name {
    font-size: var(--fs-base);
    color: var(--text-primary);
    margin: 0 0 3px 0;
}
.jitheme-wechat-wrapper .wechat-admin-name .label {
    font-size: var(--fs-xs);
    color: var(--text-muted);
    margin-left: 6px;
    background: var(--bg-subtle);
    padding: 1px 10px;
    border-radius: var(--b2radius);
}
.jitheme-wechat-wrapper .wechat-admin-desc {
    font-size: var(--fs-xs);
    color: var(--text-muted);
    margin: 0;
    line-height: 1.6;
}
.jitheme-wechat-wrapper .wechat-admin-desc .tag {
    display: inline-block;
    background: #e8f5e9;
    color: #66bb6a;
    padding: 0 10px;
    border-radius: var(--b2radius);
    font-size: var(--fs-xs);
    margin-right: 4px;
    line-height: 18px;
}
.jitheme-wechat-wrapper .wechat-admin-desc .tag-icon {
    display: inline-block;
    margin-right: 2px;
}
@media screen and (max-width: 480px) {
    .jitheme-wechat-wrapper .wechat-group-grid {
        gap: 6px;
    }
    .jitheme-wechat-wrapper .wechat-group-item {
        padding: 6px 8px;
    }
    .jitheme-wechat-wrapper .wechat-group-num {
        min-width: 20px;
        font-size: var(--fs-xs);
        margin-right: 6px;
    }
    .jitheme-wechat-wrapper .wechat-group-name {
        font-size: var(--fs-xs);
    }
    .jitheme-wechat-wrapper .wechat-admin-section {
        padding: 12px 14px;
        flex-wrap: wrap;
        justify-content: center;
        text-align: center;
    }
    .jitheme-wechat-wrapper .wechat-admin-info {
        margin-left: 0;
        margin-top: 10px;
        flex: 0 0 100%;
    }
    .jitheme-wechat-wrapper .wechat-admin-avatar {
        width: 40px;
        height: 40px;
    }
}
/* ============================================
   四、问答案例列表 (#jitheme_ask_b2)
   ============================================ */
#jitheme_ask_b2 .ask-widget-title {
    display: flex;
}
#jitheme_ask_b2 .item-index i {
    font-size: var(--fs-lg);
    padding-right: 10px;
    margin-top: 7px;
}
#jitheme_ask_b2 .jitheme_title {
    line-height: 25px;
    max-height: 55px;
    overflow: hidden;
    margin-bottom: 10px;
}
.Jifont-fire-1 {
    color: #e20000;
}
.Jifont-fire-2 {
    color: #ff6000;
}
.Jifont-fire-3 {
    color: #f90;
}
.Jifont-fire-4,.Jifont-fire-5,.Jifont-fire-6 {
    color: var(--text-muted);
}
#jitheme_ask_b2 .ask-widget-item:hover {
    color: var(--b2color);
}
/* 问答案例列表 - 列表项样式 */
.ask-widget-ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.ask-widget-item {
    position: relative;
    display: flex;
    align-items: flex-start;
    margin: 10px 0px !important;
    border-radius: var(--b2radius);
    overflow: hidden;
    padding: 5px 0px !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
}
.ask-widget-item:last-child {
    border-bottom: none;
}
.link-block {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.ask-widget-inner {
    display: flex;
    align-items: stretch;
    width: 100%;
    position: relative;
}
.ask-widget-icon {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    margin-right: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: var(--b2radius);
    font-size: var(--fs-lg);
    line-height: 1;
    color: var(--text-secondary);
    transition: all 0.3s ease;
}
.ask-widget-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.ask-widget-title {
    color: var(--text-primary);
    line-height: 1.5;
    margin-bottom: 6px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: var(--fs-sm);
    transition: color 0.2s;
}
.ask-widget-item:hover .ask-widget-title {
    color: #1890ff;
}
.ask-widget-meta {
    display: flex;
    align-items: center;
    font-size: var(--fs-sm);
    color: var(--text-muted);
}
.ask-status-tag {
    display: inline-block;
    font-size: var(--fs-xs);
    padding: 2px 10px;
    border-radius: var(--b2radius);
    background: #dcfce7;
    color: #10b981;
    line-height: 1.4;
}
.ask-status-tag.ask-waiting {
    color: var(--text-secondary);
    background: var(--text-bjcolor);
    border: 1px solid var(--border-color);
}
.ask-dot {
    display: inline-block;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: var(--bg-muted);
    margin: 0 12px;
}
.ask-meta-reply .ico {
    font-size: var(--fs-base);
}
.ask-empty {
    padding: 30px 0;
    text-align: center;
    color: var(--text-muted);
}
.widget-content {
    margin: 0;
    padding: 0;
}
/* ============================================
   五、筛选器样式
   ============================================ */
.ask-widget-fliter {
    padding: 15px;
    margin: 16px 0px !important;
    border-left: 0;
    border-right: 0;
    background-color: var(--bg-subtle);
}
.ask-widget-fliter span {
    margin-right: 10px;
    cursor: pointer;
    padding: 10px 15px;
    border-radius: var(--b2radius);
}
.ask-widget-fliter i {
    margin-right: 5px;
}
.ask-widget-fliter span.b2-color {
    background-color: var(--b2color);
    color: #fff !important;
}
.ask-widget-fliter .b2-color {
    color: var(--text-primary) !important;
    background: var(--bg-card);
    box-shadow: none;
    transition: left .15s ease-in;
    border-radius: var(--b2radius);
    font-size: var(--fs-md);
    height: 40px;
    line-height: 24px;
}
/* ============================================
   六、旧版问答小工具 (#jitheme-widget-ask)
   ============================================ */
#jitheme-widget-ask a:hover,
#ji-widget-zt a:hover {
    color: var(--b2color);
}
#jitheme-widget-ask .item-meta,
#ji-widget-zt .item-meta {
    font-size: var(--fs-sm);
    color: var(--text-primary);
}
#jitheme-widget-ask .t-item {
    margin-bottom: 15px;
}
#jitheme-widget-ask .item-widget {
    display: block;
    padding-left: 30px;
    position: relative;
}
#jitheme-widget-ask .item-index {
    font-size: 128.57142857%;
    position: absolute;
    left: 0;
    top: -0.14285714em;
    display: block;
}
#jitheme-widget-ask .item-title {
    font-size: var(--fs-base);
    line-height: 25px;
    max-height: 55px;
    overflow: hidden;
    margin-bottom: 10px;
}
#jitheme-widget-ask .item-meta {
    font-size: var(--fs-xs);
    color: var(--text-primary);
}
#jitheme-widget-ask .t-item .jitheme {
    font-size: var(--fs-lg);
}
#jitheme-widget-ask .t-item:nth-child(1) .jitheme {
    color: #e20000;
}
#jitheme-widget-ask .t-item:nth-child(2) .jitheme {
    color: #ff6000;
}
#jitheme-widget-ask .t-item:nth-child(3) .jitheme {
    color: #f90;
}
#jitheme-widget-ask .t-item:nth-child(n+4) .jitheme {
    color: var(--text-muted);
}
/* ============================================
   七、旧版专题小工具 (#ji-widget-zt)
   ============================================ */
#ji-widget-zt .widget-post-small {
    margin-bottom: 20px;
    margin: 16px 0px;
    overflow: hidden;
}
#ji-widget-zt .widget ul li.widget-post-small h2 {
    font-size: var(--fs-base);
}
#ji-widget-zt .widget-post-small .b2-widget-post-thumb {
    display: flex;
    width: 100%;
    flex-flow: row-reverse;
}
#ji-widget-zt .b2-widget-post-thumb-img {margin-left: 0px; position: relative; left: auto; width: 90px; height: 65px; top: 0}
#ji-widget-zt .widget-post-small .b2-widget-post-thumb-img {
    -webkit-transition: all .3s;
    transition: all .3s;
}
#ji-widget-zt .widget-post-small:hover {
    transform: translateY(-5px);
    -webkit-transform: translateY(-5px);
    -moz-transform: translateY(-5px);
    -webkit-transition: all .3s;
    transition: all .3s;
}
#ji-widget-zt .widget-post-small .b2-widget-post-order {
    display: none;
}
#ji-widget-zt .widget-post-small .b2-widget-post-title {
    flex: 1;
    padding-left: 10px;
    font-size: var(--fs-base);
    display: flex;
    flex-direction: column;
    align-content: space-around;
    justify-content: space-around;
}
#ji-widget-zt .index-num {
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -15px;
    line-height: 25px;
    margin-left: 0px;
    font-size: 30px;
    font-family: Impact;
    color: var(--b2color);
}
#ji-widget-zt .widget-post-small .b2-widget-post-title time {
    position: unset;
    left: unset;
    bottom: unset;
}
#ji-widget-zt .widget-post-small h2 {
    font-size: var(--fs-base);
    -webkit-line-clamp: 1;
}
#ji-widget-zt .b2-widget-post-title {
    padding-left: 93px;
    height: 65px;
}
#ji-widget-zt .widget-post:hover .b2-widget-post-title h2 {
    text-decoration: unset;
}
#ji-widget-zt .widget-post:hover .item-btn {
    display: block;
    text-decoration: none;
    transition: all .2s;
}
#ji-widget-zt .widget-post:hover .item-meta {
    display: none;
}
#ji-widget-zt .item-btn {
    height: 25px;
    display: none;
    max-width: 80px;
    line-height: 25px;
    text-align: center;
    font-size: var(--fs-xs);
    padding: 0 10px;
    background-color: var(--b2color);
    color: #fff !important;
}
#ji-widget-zt ul li {
    padding: 0px;
}
/* ============================================
   九、文章列表小工具 (.ji-widget-post)
   ============================================ */
.ji-widget-post .widget-post:hover .b2-widget-post-title h2 {
    text-decoration: none !important;
    color: var(--b2color);
}
.ji-widget-post .b2-widget-hot ul .widget-post:hover {
    background: var(--b2lightcolor);
    cursor: pointer;
}
.ji-widget-post .widget-area section {
    margin-bottom: 0;
    padding-bottom: 24px;
}
.ji-widget-post .b2-widget-hot ul li:hover,
.ji-widget-post .b2-widget-hot ul li:hover .b2-radius {
    color: var(--b2color);
    opacity: 1;
}
.ji-widget-post .b2-widget-post-order {
    left: unset;
}
.ji-widget-post .widget-post-none .b2-widget-post-order {
    background-color: rgba(0,0,0,0) !important;
}
.ji-widget-post .b2-widget-post-order:after {
    display: none;
}
.ji-widget-post ul li:last-child {
    margin-bottom: 0;
}
.ji-widget-post .widget-post-big {
    margin-top: 0;
    font-size: var(--fs-base);
    padding: 0 16px 16px 16px;
}
.ji-widget-post .widget-post-big:first-child {
    padding-top: 16px;
}
.ji-widget-post .widget ul li h2 {
    font-size: var(--fs-base);
}
.ji-widget-post .b2-widget-post-title h2 {
    line-height: 20px;
}
.ji-widget-post .b2-widget-post-title .title {
    line-height: 40px;
}
.ji-widget-post .b2-widget-hot li.widget-post-none,
.ji-widget-post .b2-widget-hot li.widget-post-small {
    padding: 0;
    height: auto;
    margin-bottom: 20px;
}
.ji-widget-post .widget-post-none span {
    font-size: 30px;
    width: auto;
    opacity: .5;
    font-family: Impact;
}
.ji-widget-post li:hover {
    cursor: pointer;
}
.ji-widget-post li:hover .b2-widget-post-order span {
    color: var(--b2color);
    opacity: 1;
}
.ji-widget-post .widget-post-none {
    font-size: var(--fs-sm);
    padding: 16px 16px 8px 16px;
    box-sizing: border-box;
}
.ji-widget-post .widget-post-none .b2-widget-post-title {
    padding-left: 55px;
}
.ji-widget-post .b2-widget-post-order {
    top: 25px;
}
.ji-widget-post .b2-widget-post-title time {
    font-size: var(--fs-xs);
    color: var(--text-muted);
}
.ji-widget-post .widget ul li.widget-post-small h2 {
    font-size: var(--fs-base);
}
.ji-widget-post .widget-post-small .b2-widget-post-thumb {
    display: flex;
    width: 100%;
    flex-flow: revert;
}
.ji-widget-post .b2-widget-post-thumb-img {
    position: relative;
    left: auto;
    width: 100%;
    height: 60px;
    max-width: 100px;
    margin-right: 12px;
    top: 0;
}
.ji-widget-post .widget-post-small .b2-widget-post-thumb-img {
    -webkit-transition: all .3s;
    transition: all .3s;
}
.ji-widget-post .widget-post-small:hover {
    color: var(--b2color);
    cursor: pointer;
}
.ji-widget-post .widget-post-small .b2-widget-post-order {
    display: none;
}
.ji-widget-post .widget-post-small .b2-widget-post-title {
    padding-left: 0;
    font-size: var(--fs-base);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.ji-widget-post .b2-widget-post-title h2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: unset;
    margin-bottom: 0px;
    word-break: break-all;
}
.ji-widget-post ul li {
    font-size: var(--fs-sm);
    padding: 16px 0px;
    box-sizing: border-box;
}
.ji-widget-post .widget-post-big .b2-widget-post-title {
    position: absolute;
    bottom: -64px;
    left: 0;
    width: 100%;
    text-decoration: none;
    padding: 0 10px;
    height: 40px;
    line-height: 40px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    border-radius: 0 0 4px 4px;
    color: #fff;
    background: var(--overlay-deep);
    transition: all .3s ease;
}
.ji-widget-post .widget-post-big:hover .b2-widget-post-title {
    bottom: 0;
}
.ji-widget-post .widget-post-big:hover .b2-widget-post-title .b2timeago {
    display: none;
}
/* ============================================
   十、用户小工具 (.ji-widget-user)
   ============================================ */
.ji-widget-user {
    --primary: #4f46e5;
    --primary-light: #eef2ff;
    --text-main: #111827;
    --text-sub: #6b7280;
    --text-muted: #9ca3af;
    --border: #e5e7eb;
    --bg-soft: #f9fafb;
    overflow: hidden;
}
/* ========== 外框容器（jitheme_widget_padding） ========== */
.ji-widget-user .jitheme_widget_padding {
    padding: 0;
}
.ji-widget-user .author-widget { width: 100%; }
.ji-widget-user .author-widget-content {padding: var(--gap);}
/* ========== 1. 头像 + 名字 + 徽章 ========== */
.ji-widget-user .w-a-info {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin-bottom: 18px;
}
.ji-widget-user .avatar-parent {
    display: block;
    flex-shrink: 0;
    position: relative;
    text-decoration: none;
}
.ji-widget-user .avatar-parent .picture { display: block; position: relative; }
.ji-widget-user .avatar-parent .avatar {
    width: 58px;
    height: 58px;
    border-radius: 50% !important;
    object-fit: cover;
    display: block;
    border: 1px solid #fff;
    box-shadow: none;
}
/* 认证图标角标（与关于作者小工具一致，头像右下角） */
.ji-widget-user .avatar-parent .verify-badge {
    position: absolute;
    right: 5px;
    bottom: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    line-height: 1;
}
.ji-widget-user .avatar-parent .verify-badge i {
    font-size: var(--fs-base);
    line-height: 1;
    color: var(--primary);
}
/* 名字区块 */
.ji-widget-user .w-a-name {
    flex: 1;
    min-width: 0;
    padding-top: 2px;
    display: flex;
    height: 58px;
    /* height: auto; */
    flex-direction: row;
    justify-content: flex-start;
    gap: 5px 8px;
    flex-wrap: wrap;
    align-content: space-around;
    align-items: center;
}
.ji-widget-user .w-a-name > a {
    display: flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    color: inherit;
    min-width: 0;
}
.ji-widget-user .w-a-name h2 {
    font-size: var(--fs-md);
    font-weight: 700;
    color: var(--text-main);
    line-height: 1.2;
    margin: 0;
}
/* 等级/会员徽章行：直接使用 B2 原生 lv-mini / vip-mini（与用户中心图片一致） */
.ji-widget-user .user-w-lv {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    align-items: center;
    flex-shrink: 0;
}
.ji-widget-user .user-w-lv > span {
    display: flex;
    align-items: center;
}
/* 用户描述 */
.ji-widget-user .user-w-bio {
    flex-basis: 100%;
    font-size: var(--fs-xs);
    color: var(--text-sub);
    line-height: 1.4;
    margin-top: 1px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}
/* ========== 2. 经验进度条 ========== */
.ji-widget-user .progress-box__progress {
    width: 100%;
    height: 6px;
    background: var(--bg-soft);
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 18px;
    position: relative;
    box-shadow: none;
    border: none;
    padding: 0;
    margin-top: 0;
}
.ji-widget-user .progress-box__bar {
    height: 100%;
    background: linear-gradient(90deg, #6366f1, #8b5cf6);
    border-radius: 10px;
    transition: width 0.4s ease;
    box-shadow: none;
}
/* ========== 3. 余额 / 积分 卡片（ji-user-jsb） ========== */
.ji-widget-user .ji-user-jsb {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 18px;
    margin-top: 0;
}
.ji-widget-user .ji-user-jsb .muted-box {
    background: var(--bg-soft);
    border-radius: 12px;
    padding: 14px;
    text-decoration: none;
    color: inherit;
    display: block;
    position: relative;
    overflow: hidden;
    transition: all 0.25s ease;
    height: auto;
}
/* 左侧装饰色条（垂直居中） */
.ji-widget-user .ji-user-jsb .muted-box::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 3px;
    height: 16px;
    transform: translateY(-50%);
    border-radius: 0 3px 3px 0;
}
.ji-widget-user .ji-user-jsb .muted-box:nth-child(1)::before { background: #f43f5e; }
.ji-widget-user .ji-user-jsb .muted-box:nth-child(2)::before { background: #22c55e; }
.ji-widget-user .ji-user-jsb .muted-box:hover {
    background: var(--bg-input);
    transform: translateY(-2px);
}
.ji-widget-user .ji-user-jsb .muted-2-color {
    font-size: var(--fs-xs);
    color: var(--text-sub);
    margin-bottom: 6px;
}
.ji-widget-user .ji-user-jsb .flex {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 4px;
    margin-top: 0;
}
.ji-widget-user .ji-user-jsb .font-bold {
    font-size: var(--fs-lg);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
}
.ji-widget-user .ji-user-jsb .muted-box:nth-child(1) .font-bold { color: #e11d48 !important; }
.ji-widget-user .ji-user-jsb .muted-box:nth-child(2) .font-bold { color: #16a34a !important; }
.ji-widget-user .ji-user-jsb .muted-box i {
    font-size: var(--fs-base);
    opacity: 0.7;
    align-self: flex-end;
}
.ji-widget-user .ji-user-jsb .muted-box:nth-child(1) i { color: #f43f5e; }
.ji-widget-user .ji-user-jsb .muted-box:nth-child(2) i { color: #22c55e; }
/* ========== 4. 四个统计按钮（ji_author_btn） ========== */
.ji-widget-user .ji_author_btn {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    /* margin-bottom: 18px; */
    margin-top: 0;
    justify-content: unset;
    flex-wrap: nowrap;
}
.ji-widget-user .ji_author_btn .author_button {
    background: var(--bg-soft);
    border-radius: 8px;
    padding: 12px 0;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    color: inherit;
    width: 100%;
    flex: 1;
}
.ji-widget-user .ji_author_btn .author_button:hover {
    background: var(--primary-light);
    transform: translateY(-2px);
    box-shadow: none;
}
.ji-widget-user .ji_author_btn .author_button .num {
    font-size: var(--fs-md);
    font-weight: 700;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
    transition: color 0.2s;
    margin-bottom: 0;
}
.ji-widget-user .ji_author_btn .author_button .label {
    font-size: var(--fs-xs);
    color: var(--text-sub);
    line-height: 1.2;
    transition: color 0.2s;
}
.ji-widget-user .ji_author_btn .author_button:hover .label,
.ji-widget-user .ji_author_btn .author_button:hover .num {
    color: var(--primary);
}
.ji-widget-user .ji_author_btn .c-red    .num { color: #ef4444; }
.ji-widget-user .ji_author_btn .c-blue   .num { color: var(--primary); }
.ji-widget-user .ji_author_btn .c-green  .num { color: #22c55e; }
.ji-widget-user .ji_author_btn .c-purple .num { color: #a855f7; }
/* ========== 5. 公告栏（user-w-announcement，与关于作者文章列表同风格） ========== */
.ji-widget-user .user-w-announcement {
    border-top: 1px solid var(--border);
    padding-top: 14px;
    margin-top: 4px;
}
.ji-widget-user .user-w-announcement ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
/* 禁用 B2 父主题的公告列表圆点（li a::before 贴边黑点） */
.ji-widget-user .user-w-announcement li > a::before {
    display: none;
}
.ji-widget-user .user-w-announcement li {
    display: flex;
    align-items: center;
    padding: 9px 0;
    border-radius: 8px;
    transition: background 0.2s;
    cursor: pointer;
}
.ji-widget-user .user-w-announcement li:hover {
    background: #f7f9fc;
}
.ji-widget-user .user-w-announcement li:hover .post-title {
    color: var(--primary);
}
.ji-widget-user .user-w-announcement li > a {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;
    text-decoration: none;
    color: inherit;
}
.ji-widget-user .user-w-announcement .post-tag {
    font-size: var(--fs-xs);
    color: var(--primary);
    background: rgba(47, 107, 255, 0.09);
    padding: 2px 7px;
    border-radius: 4px;
    margin-right: 8px;
    flex-shrink: 0;
    font-weight: 500;
    line-height: 1.5;
}
.ji-widget-user .user-w-announcement .post-title {
    font-size: var(--fs-sm);
    color: var(--text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color 0.2s;
    line-height: 1.4;
}
/* ========================================================= */
/* 真正的数据加载骨架屏 CSS (配合上面的 Vue v-if="!userData") */
/* ========================================================= */
.ji-widget-user .skeleton-box-wrapper {
    padding: 10px 0;
}
.ji-widget-user .skeleton-header {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}
.ji-widget-user .skeleton-avatar {
    width: 60px;
    height: 60px;
    border-radius: var(--b2radius);
    margin-right: 15px;
    flex-shrink: 0;
}
.ji-widget-user .skeleton-info {
    flex-grow: 1;
}
.ji-widget-user .skeleton-line {
    height: 14px;
    border-radius: 4px;
    width: 100%;
}
.ji-widget-user .skeleton-name {
    width: 60%;
    margin-bottom: 8px;
    height: 20px;
}
.ji-widget-user .skeleton-desc {
    width: 40%;
}
.ji-widget-user .skeleton-progress {
    height: 16px;
    border-radius: var(--b2radius);
    margin: 20px 0;
}
.ji-widget-user .skeleton-stats {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}
.ji-widget-user .skeleton-stats .skeleton-box {
    flex: 1;
    height: 80px;
    border-radius: var(--b2radius);
}
.ji-widget-user .skeleton-stats.sub .skeleton-box {
    height: 60px;
}
/* 核心：骨架屏闪烁效果 (通过给背景添加动画实现) */
.ji-widget-user .skeleton-box-wrapper .skeleton-avatar,
.ji-widget-user .skeleton-box-wrapper .skeleton-line,
.ji-widget-user .skeleton-box-wrapper .skeleton-progress,
.ji-widget-user .skeleton-box-wrapper .skeleton-box {
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: skeleton-shimmer 1.5s infinite;
}
@keyframes skeleton-shimmer {
    0% {
        background-position: -200% 0;
    }
    100% {
        background-position: 200% 0;
    }
}
/* ============================================
   十一、热点圈子小工具 (.b2-widget-hot-circle)
   ============================================ */
.b2-widget-hot-circle .b2-widget-title button.picked {
    color: #fff;
    background: var(--bg-body);
}
.b2-widget-hot-circle .b2-widget-title button {
    background: var(--border-light);
    margin: 5px;
    font-size: var(--fs-base);
    background-color: var(--bg-body);
}
.b2-widget-hot-circle .b2-widget-title button.picked:before {
    display: none;
}
.b2-widget-hot-circle .b2-widget-title h2 {
    margin: 10px;
    background-color: var(--bg-body);
    border-radius: var(--b2radius);
}
.b2-widget-hot-circle.box {
    background-color: var(--bg-card);
    box-shadow: none;
}
/* ============================================
   十二、圈子信息小工具
   ============================================ */
.b2-widget-circle-info .user-w-announcement li {
    padding: 16px 8px;
    border: 0;
}
/* 用户小工具 - 通用 */
.user-widget-info .user-w-avatar img {
    width: 40px;
    height: 40px;
    min-width: 40px;
    display: block;
}
.user-credit,
.user-money {
    text-shadow: unset;
    color: var(--text-primary);
}
.user-sidebar-count li {
    background-color: var(--bg-body);
    border: 1px solid var(--bg-body);
    color: var(--text-primary);
}
/* ============================================
   十三、评论区小工具
   ============================================ */
.comment-widget-nav span {
    background-color: var(--bg-body);
    border-radius: 50%;
    color: var(--b2color);
}
.comment-widget-nav span i {
    font-size: 25px !important;
}
/* ============================================
   十四、快讯小工具
   ============================================ */
.b2-widget-newsflashes,
.jitheme-widget-pl,
.jitheme-widget-user,
.widget_tag_cloud {
    padding: 20px;
    padding-top: 0;
}
.b2-widget-newsflashes .b2-widget-title h2,
.jitheme-widget-pl .b2-widget-title h2 {
    padding: 0;
    margin-bottom: 10px;
    padding-bottom: 20px;
    font-size: var(--fs-lg);
}
.b2-widget-newsflashes ul li {
    font-size: var(--fs-sm);
    padding: 0 0 16px 0;
    box-sizing: border-box;
}
.b2-widget-newsflashes {
    padding-bottom: 0;
}
.widget-newsflashes-box ul::before {
    content: '';
    width: 1px;
    position: absolute;
    left: 2px;
    top: 26px;
    bottom: 70px;
}
/* ============================================
   十五、评论列表小工具
   ============================================ */
.jitheme-widget-pl .comment-widget-nav {
    right: 20px;
    top: 15px;
}
/* ============================================
   十六、标签云小工具
   ============================================ */
.widget_tag_cloud>div {
    padding: 0;
}
.widget .tagcloud a {
    padding: 6px;
}
/* ============================================
   十七、下载小工具 (.jitheme-widget-down)
   ============================================ */
.jitheme-widget-down .widget .w-d-current,
.w-d-role>div span:last-child {
    font-size: unset !important;
}
.jitheme-widget-down .widget .w-d-current {
    line-height: unset !important;
}
.jitheme-widget-down .downloadurl {
    font-size: var(--fs-lg);
    padding: 0 16px 16px 0;
    border-bottom: 1px dashed var(--border-light);
    line-height: 1;
    width: 100%;
    display: flex;
    position: relative;
}
.jitheme-widget-down .downloadurl:before {
    content: '';
    position: absolute;
    background: var(--bg-body);
    width: 20px;
    height: 20px;
    top: 25px;
    left: -30px;
    border-radius: 50%;
}
.jitheme-widget-down .downloadurl:after {
    content: '';
    position: absolute;
    background: var(--bg-body);
    width: 20px;
    height: 20px;
    top: 25px;
    right: -30px;
    border-radius: 50%;
}
.jitheme-widget-down .downloadurl i {
    color: var(--b2color);
    font-size: var(--fs-lg);
    margin-right: 8px;
    transform: translateY(-1px);
}
.jitheme-widget-down .w-d-title {
    justify-content: space-between;
    font-size: var(--fs-md);
    display: flex;
    padding: 0 16px 16px 0;
}
.jitheme-widget-down .w-d-title .downloadurl-title {
    font-size: var(--fs-base) !important;
    margin-top: 12px;
    line-height: 36px;
}
.jitheme-widget-down .w-d-role>div>span:last-child b {
    font-family: DIN;
    font-style: normal;
    font-size: var(--fs-lg);
}
.jitheme-widget-down .w-d-role {
    padding: 0 12px;
    background: #fff9e4;
    color: var(--text-primary);
    border: 1px dashed #ffdd65;
}
.jitheme-widget-down .jitheme-down-qx span {
    color: #f35 !important;
}
.jitheme-widget-down .jitheme-down-user img {
    vertical-align: bottom;
}
.jitheme-widget-down .jitheme-down-user {
    display: flex;
    flex-direction: row;
    align-items: center;
}
.jitheme-widget-down .w-d-meta {
    background-color: rgba(87,165,255,.15);
    padding: 8px 0;
}
.jitheme-widget-down .w-d-meta p {
    position: relative;
    display: flex;
    line-height: 28px;
    align-items: center;
    padding-left: 10px;
}
.jitheme-widget-down .w-d-meta p:before {
    position: relative;
    display: block;
    margin-right: 8px;
    width: 12px;
    height: 12px;
    background: url(../img/li-dian.svg);
    content: "";
    opacity: .65;
}
.jitheme-widget-down .cosbtn {
    font-size: var(--fs-sm);
    padding-top: 20px;
    display: flex;
    margin-bottom: 20px;
    flex-direction: row;
    justify-content: space-between;
}
.jitheme-widget-down .cosbtn a {
    color: var(--text-primary);
}
.jitheme-widget-down .cosbtn a:hover {
    color: var(--b2color);
}
.jitheme-widget-down .cosbtn a i {
    font-size: var(--fs-base) !important;
    margin-right: 3px;
    line-height: 1;
}
.jitheme-widget-down .cosbtn .desc {
    position: relative;
    cursor: pointer;
}
.jitheme-widget-down .cosbtn .desc span {
    color: var(--text-primary);
    font-size: var(--fs-sm);
}
.jitheme-widget-down .cosbtn .desc span i {
    font-size: var(--fs-base) !important;
    margin-right: 3px;
    line-height: 1;
}
.jitheme-widget-down .cosbtn .desc .banquan {
    display: none;
    position: absolute;
    padding-top: 20px;
    top: 8px;
    right: 0;
}
.jitheme-widget-down .cosbtn .desc:hover .banquan {
    display: block;
}
.jitheme-widget-down .cosbtn .desc .banquan:before {
    content: " ";
    position: absolute;
    width: 0;
    height: 0;
    right: 14px;
    top: 5px;
    border: 1px solid transparent;
    border-bottom-color: var(--bg-card);
}
.jitheme-widget-down .cosbtn .desc .banquan .boxtitle {
    width: 450px;
    height: 100%;
    padding: 20px;
    display: block;
    border-radius: var(--b2radius);
    background: var(--bg-card);
    box-shadow: none;
    line-height: 1.5;
    color: var(--text-primary);
}
.jitheme-widget-down .cosbtn .desc .banquan .boxtitle span {
    text-align: center;
    font-size: var(--fs-md);
    display: block;
    margin-bottom: 10px;
    border-radius: var(--b2radius);
}
/* ============================================
   十八、微信小工具 (旧版 .jitheme-widget-wechat)
   ============================================ */
.jitheme-widget-wechat {
    font-size: var(--fs-base);
}
@media (min-width: 1330px) {
    .jitheme-widget-wechat {
        font-size: .14rem;
    }
}
.jitheme-widget-wechat .widget-wrap {
    -moz-border-radius: .1rem;
    font-size: var(--fs-md);
    overflow: hidden;
}
.jitheme-widget-wechat .wechat-group {
    overflow: hidden;
}
.jitheme-widget-wechat .wechat-group ul {
    float: left;
    width: 50%;
}
.jitheme-widget-wechat .wechat-group li {
    margin-bottom: 5px;
    color: var(--text-secondary);
    padding: 10px 0px 16px 0px;
}
.jitheme-widget-wechat .wechat-group li .count {
    display: inline-block;
    vertical-align: top;
    width: 18px;
    height: 18px;
    text-align: center;
    margin-right: .5em;
    color: var(--text-muted);
    border: 1px solid var(--border-color);
    border-radius: 100%;
}
.jitheme-widget-wechat .wechat-group li .count .txt {
    font-size: var(--fs-sm);
}
.jitheme-widget-wechat .add-admin {
    background-color: #effaf8;
    padding: 15px;
    border-radius: .1rem;
}
.jitheme-widget-wechat .add-admin .add-title {
    font-size: 114.28571429%;
    color: #37be9e;
    line-height: 1.375em;
    margin-bottom: .3125em;
}
.jitheme-widget-wechat .add-admin h5 {
    font-size: 86.714286%;
    color: var(--text-secondary);
    line-height: 2em;
}
.jitheme-widget-wechat .add-admin .add-wrap {
    padding-right: 5em;
    position: relative;
}
.jitheme-widget-wechat .add-admin .add-thumb {
    position: absolute;
    right: 0;
    top: 0;
    width: 80px;
    visibility: visible;
    opacity: 1;
    transition: all .2s;
}
.jitheme-widget-wechat .add-admin .add-thumb .thumb {
    padding-top: 100%;
    border-radius: .42857143em;
}
.jitheme-widget-wechat .add-admin .add-avatar {
    position: absolute;
    right: 0;
    bottom: -0.15rem;
    width: 80px;
    visibility: hidden;
    opacity: 0;
    transition: all .2s;
}
.jitheme-widget-wechat .add-admin .add-avatar .thumb {
    padding-top: 91.30434783%;
}
.jitheme-widget-wechat:hover .add-admin .add-thumb {
    visibility: visible;
    opacity: 1;
}
.jitheme-widget-wechat:hover .add-admin .add-avatar {
    visibility: hidden;
    opacity: 0;
}
/* =================================================
   问答统计小工具 (jitheme_widget_asktj 独立 ID)
   ================================================= */
#jitheme_widget_asktj .j-ask-title {
    font-size: var(--fs-lg);
    color: var(--text-primary);
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-direction: row;
    justify-content: center;
}
#jitheme_widget_asktj .j-ask-title .icon {
    font-size: var(--fs-lg);
}
#jitheme_widget_asktj .j-ask-data-wrapper {
    margin-bottom: 24px;
    text-align: center;
}
#jitheme_widget_asktj .j-ask-data-number {
    font-size: 64px;
    color: var(--b2color);
    line-height: 1;
    margin-bottom: 6px;
}
#jitheme_widget_asktj .j-ask-data-label {
    font-size: var(--fs-base);
    color: var(--text-secondary);
    letter-spacing: 0.5px;
}
#jitheme_widget_asktj .j-ask-btn-group {
    display: flex;
    gap: 12px;
    width: 100%;
}
#jitheme_widget_asktj .j-ask-btn {
    flex: 1;
    display: block;
    line-height: 40px;
    text-align: center;
    border-radius: var(--b2radius);
    font-size: var(--fs-sm);
    text-decoration: none;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
@media (max-width: 480px) {
    #jitheme_widget_asktj {
        padding: 24px 16px 20px;
    }
    #jitheme_widget_asktj .j-ask-data-number {
        font-size: 52px;
    }
}
/* ============================================
   十九、悬赏添加小工具 (.jitheme-reward-add)
   ============================================ */
.jitheme-reward-add .options {
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: center;
}
.jitheme-reward-add .title {
    font-size: var(--fs-lg);
    color: var(--text-primary);
}
.jitheme-reward-add .put-ques .count {
    margin-bottom: 8px;
    font-size: 44px;
    color: #2D8777;
}
.jitheme-reward-add .options>a {
    display: block;
    width: 100px;
    height: 40px;
    border-radius: 26px;
    text-align: center;
    line-height: 40px;
    background-color: var(--bg-body);
}
.jitheme-reward-add .options>a:hover {
    background-color: var(--b2color);
    color: #fff;
}
.jitheme-reward-add .options>a:nth-last-of-type(1) {
    margin-left: 18px;
}
/* ============================================
   二十、用户列表小工具 (.jitheme-widget-Userlist)
   ============================================ */
.jitheme-widget-Userlist .sidebar {
    width: 100%;
    background-color: var(--bg-card);
    overflow: hidden;
    margin-top: 15px;
}
.jitheme-widget-Userlist .tab-header {
    display: flex;
    border-bottom: 1px solid var(--border-color);
}
.jitheme-widget-Userlist .tab-header div {
    flex: 1;
    padding: 10px 0;
    background-color: transparent;
    border: none;
    cursor: pointer;
    font-size: var(--fs-base);
    color: var(--text-primary);
    transition: background-color 0.2s, color 0.2s;
    position: relative;
    text-align: center;
}
.jitheme-widget-Userlist .tab-header div:hover {
    background-color: var(--bg-subtle);
}
.jitheme-widget-Userlist .tab-header div.active {
    color: #fff;
    background-color: var(--b2color);
}
.jitheme-widget-Userlist .tab-header div.active::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--b2color);
}
.jitheme-widget-Userlist .tab-content-list {
    padding-top: 15px;
}
.jitheme-widget-Userlist .tab-pane {
    display: none;
}
.jitheme-widget-Userlist .tab-pane.active {
    display: block;
}
.jitheme-widget-Userlist .user-list {
    list-style-type: none;
}
.jitheme-widget-Userlist .user-item .author-intro {
    display: flex;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid var(--border-light);
    position: relative;
}
.jitheme-widget-Userlist .user-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.jitheme-widget-Userlist .user-avatar {
    width: 50px;
    height: 50px;
    background-color: var(--bg-subtle);
    margin-right: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    color: var(--text-secondary);
    font-size: var(--fs-md);
}
.jitheme-widget-Userlist .user-info {
    flex: 1;
    min-width: 0;
    height: 50px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.jitheme-widget-Userlist .user-name {
    font-size: var(--fs-base);
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.jitheme-widget-Userlist .user-name .uname {
    margin-right: 10px;
    font-size: var(--fs-base);
}
.jitheme-widget-Userlist .user-meta {
    color: var(--text-secondary);
    margin-top: 2px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}
.jitheme-widget-Userlist .follow-btn {
    padding: 6px 12px;
    background-color: var(--b2color);
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: var(--fs-xs);
    transition: background-color 0.2s;
    white-space: nowrap;
}
.jitheme-widget-Userlist .follow-btn:hover {
    background-color: #0d8bf2;
}
.jitheme-widget-Userlist h2 {
    padding: 20px 0px 20px;
}
.jitheme-widget-Userlist .follow-btn.following {
    background-color: var(--bg-subtle);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
}
.jitheme-widget-Userlist .follow-btn.following:hover {
    background-color: var(--bg-subtle);
}
.jitheme-widget-Userlist .ranking-badge {
    display: flex;
    width: 20px;
    height: 24px;
}
.jitheme-widget-Userlist .ranking-badge i {
    font-size: 25px;
}
.jitheme-widget-Userlist .ranking-badge.top3 {
    background-color: #ffd700;
    color: var(--text-primary);
}
/* ============================================
   二十一、用户信息列表 (.jitheme-userlist-wrapper)
   ============================================ */
.jitheme-userlist-wrapper {
    padding: 2px 0;
}
.jitheme-userlist-tabs {
    display: flex;
    background: var(--bg-subtle);
    border-radius: var(--b2radius);
    padding: 4px;
    margin: 10px 0px;
    border: 1px solid var(--border-color);
}
.jitheme-userlist-tab {
    flex: 1;
    text-align: center;
    padding: 6px 8px;
    font-size: var(--fs-sm);
    color: var(--text-muted);
    cursor: pointer;
    border-radius: var(--b2radius);
    transition: all 0.3s ease;
    background: transparent;
    border: none;
    outline: none;
}
.jitheme-userlist-tab:hover {
    color: var(--text-secondary);
}
.jitheme-userlist-tab.active {
    background: var(--bg-card);
    color: var(--text-primary);
    box-shadow: none;
}
.jitheme-userlist-content {
    display: block;
}
.jitheme-userlist-pane {
    display: none;
    animation: jithemeFadeIn 0.3s ease;
}
.jitheme-userlist-pane.active {
    display: block;
}
@keyframes jithemeFadeIn {
    from {
        opacity: 0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.jitheme-userlist-items {
    list-style: none;
    margin: 0;
    padding: 0;
}
.jitheme-userlist-item {
    display: flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: var(--b2radius);
    transition: all 0.3s ease;
    margin-bottom: 4px;
    background: var(--bg-subtle);
    border: 1px solid transparent;
    position: relative;
}
.jitheme-userlist-item:last-child {
    margin-bottom: 0;
}
.jitheme-userlist-item:hover {
    background: var(--bg-subtle);
    border-color: var(--border-color);
}
.jitheme-userlist-item .author-intro {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: inherit;
    width: 100%;
    gap: 10px;
}
.jitheme-userlist-item .author-intro:hover {
    text-decoration: none;
}
.jitheme-userlist-avatar {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    overflow: hidden;
    border: 1px solid #fff;
    box-shadow: none;
    background: var(--bg-subtle);
}
.jitheme-userlist-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.jitheme-userlist-info {
    flex: 1;
    min-width: 0;
}
.jitheme-userlist-name {
    font-size: var(--fs-base);
    color: var(--text-primary);
    margin: 0 0 2px 0;
    line-height: 1.4;
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: nowrap;
    white-space: nowrap;
}
.jitheme-userlist-name .uname {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 80px;
    flex-shrink: 1;
}
.jitheme-userlist-level {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    flex-shrink: 0;
    height: 16px;
    line-height: 16px;
}
.jitheme-userlist-level .lv-icon,
.jitheme-userlist-level .vip-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--fs-xs);
    line-height: 1;
    height: 16px;
}
.jitheme-userlist-level .lv-icon img,
.jitheme-userlist-level .vip-icon img {
    height: 14px;
    width: auto;
    display: inline-block;
    vertical-align: middle;
}
.jitheme-userlist-meta {
    font-size: var(--fs-xs);
    color: var(--text-muted);
    margin: 0;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 140px;
}
.jitheme-userlist-rank {
    flex-shrink: 0;
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
}
.jitheme-userlist-rank-img {
    width: 30px;
    height: 30px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: block;
    flex-shrink: 0;
}
.jitheme-userlist-empty {
    text-align: center;
    color: var(--text-muted);
    padding: 20px 0;
    font-size: var(--fs-sm);
}
@media screen and (max-width: 480px) {
    .jitheme-userlist-tab {
        font-size: var(--fs-xs);
        padding: 5px 6px;
    }
    .jitheme-userlist-avatar {
        width: 38px;
        height: 38px;
    }
    .jitheme-userlist-name {
        font-size: var(--fs-sm);
    }
    .jitheme-userlist-meta {
        font-size: var(--fs-xs);
        max-width: 80px;
    }
    .jitheme-userlist-item {
        padding: 6px 10px;
    }
    .jitheme-userlist-name .uname {
        max-width: 60px;
    }
    .jitheme-userlist-rank {
        width: 26px;
        height: 26px;
    }
    .jitheme-userlist-rank-img {
        width: 26px;
        height: 26px;
    }
    .jitheme-userlist-level .lv-icon,
    .jitheme-userlist-level .vip-icon {
        font-size: var(--fs-xs);
        height: 14px;
    }
    .jitheme-userlist-level .lv-icon img,
    .jitheme-userlist-level .vip-icon img {
        height: 12px;
    }
}
/* ============================================
   二十二、文章聚合样式 (Jitheme_post)
   ============================================ */
.jitheme-widget-title {
    font-size: var(--fs-md);
    color: var(--text-primary);
    display: flex;
    letter-spacing: 0.5px;
    padding: 0px 0px 16px 0px;
    margin: 0 0 0 0;
    background: none;
    position: relative;
    flex-direction: row;
    align-items: center;
}
.jitheme-post-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
/* 无图模式 */
.jitheme-post-none {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 12px 0;
    border-bottom: 1px solid var(--border-color);
    transition: all 0.2s ease;
}
.jitheme-post-none:last-child {
    border-bottom: none;
}
.jitheme-post-order {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--fs-base);
    color: var(--text-muted);
    background: var(--bg-subtle);
    border-radius: 50%;
    transition: all 0.3s ease;
    margin-top: 1px;
}
.jitheme-post-none:hover .jitheme-post-order {
    background: var(--b2lightcolor);
    color: var(--b2color);
}
.jitheme-post-none .order-1 {
    background: #d4a574;
    color: #fff;
}
.jitheme-post-none .order-2 {
    background: #b8c4d0;
    color: #fff;
}
.jitheme-post-none .order-3 {
    background: #c9b8a8;
    color: #fff;
}
.jitheme-post-none:hover .order-1 {
    background: #c9956a;
}
.jitheme-post-none:hover .order-2 {
    background: #a8b4c0;
}
.jitheme-post-none:hover .order-3 {
    background: #b9a898;
}
.jitheme-post-none .jitheme-post-info,
.jitheme-post-small .jitheme-post-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.jitheme-post-none .jitheme-post-title,
.jitheme-post-small .jitheme-post-title {
    font-size: var(--fs-base);
    margin: 0;
    line-height: 1.5;
}
.jitheme-post-none .jitheme-post-title a,
.jitheme-post-small .jitheme-post-title a {
    color: var(--text-primary);
    text-decoration: none;
    transition: color 0.2s ease;
}
.jitheme-post-none .jitheme-post-title a:hover,
.jitheme-post-small .jitheme-post-title a:hover {
    color: #5a7a9a;
}
.jitheme-post-none .jitheme-post-date,
.jitheme-post-small .jitheme-post-date {
    font-size: var(--fs-xs);
    color: var(--text-muted);
}
/* 小图模式 */
.jitheme-post-small {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 0;
    border-bottom: 1px solid var(--border-color);
    transition: all 0.2s ease;
}
.jitheme-post-small:last-child {
    border-bottom: none;
}
.jitheme-post-small .jitheme-post-thumb {
    flex-shrink: 0;
    width: 80px;
    height: 56px;
    border-radius: var(--b2radius);
    overflow: hidden;
    background: var(--bg-subtle);
}
.jitheme-post-small .jitheme-post-thumb a {
    display: block;
    width: 100%;
    height: 100%;
}
.jitheme-post-small .jitheme-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* 大图模式 */
.jitheme-post-big {
    padding: 8px 0;
    border-bottom: 1px solid var(--border-color);
}
.jitheme-post-big:last-child {
    border-bottom: none;
}
.jitheme-post-big .jitheme-post-thumb {
    width: 100%;
    height: auto;
    position: relative;
    border-radius: var(--b2radius);
    overflow: hidden;
    background: var(--bg-subtle);
}
.jitheme-post-big .jitheme-thumb-img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}
.jitheme-post-big .jitheme-post-thumb:hover .jitheme-thumb-img {
    transform: scale(1.03);
}
.jitheme-post-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 30px 16px 14px 16px;
    background: linear-gradient(to top, rgba(44,62,80,0.75) 0%, transparent 100%);
}
.jitheme-post-big .jitheme-post-title {
    font-size: var(--fs-base);
    margin: 0;
    line-height: 1.4;
}
.jitheme-post-big .jitheme-post-title a {
    color: #fff;
    text-decoration: none;
}
.jitheme-post-big .jitheme-post-title a:hover {
    color: rgba(255,255,255,0.8);
}
.jitheme-post-big .jitheme-post-date {
    font-size: var(--fs-xs);
    color: rgba(255,255,255,0.7);
}
.jitheme-empty {
    padding: 30px 0;
    text-align: center;
    font-size: var(--fs-sm);
    color: var(--text-muted);
}
/* ============================================
   二十三、通用小工具样式
   ============================================ */
/* 小工具标题盒 */
/* 小工具标题 */
.jitheme-widget-title h2 {
    color: var(--text-primary);
    line-height: 1;
    padding: 0;
    font-size: var(--fs-lg);
}
/* 小工具内边距 */
.jitheme_widget_padding {
    padding: var(--gap);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: contain;
}
/* 通用按钮 - 合并 .jitheme-jb-btn 和 .widget-mission-footer a */
.jitheme-jb-btn {
    position: relative;
    display: inline-block;
    line-height: 32px;
    text-align: center;
    padding: 5px 10px;
    width: 100%;
    text-transform: uppercase;
    z-index: 1;
    border-radius: var(--b2radius);
    text-decoration: none;
}
/* 文章列表中的按钮变体 */
.jitheme-widget-btn .jitheme-jb-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-decoration: none;
    transition: all 0.25s ease;
    letter-spacing: 0.3px;
    text-transform: none;
}
/* widget-mission-footer 容器 */
.widget-mission-footer {
    padding: var(--gap);
}
/* 通用标题 */
.b2-widget-newsflashes .b2-widget-title h2,
.jitheme-widget-pl .b2-widget-title h2,
.widget>h2 {
    padding: 15px 0;
}
/* 通用样式 */
.widget-area-left.widget-area {
    margin-left: 0;
    width: 320px !important;
    max-width: 320px !important;
    min-width: 320px !important;
}
.circle .po-topic-textarea textarea:focus {
    border: 1px solid #ff36570;
}
.topic-image-box .img-list-more li>div {
    padding-top: 64% !important;
}
.widget-circle-info-desc {
    display: none;
}
/* ============================================
   二十四、评论小工具 (.b2-widget-comment)
   ============================================ */
.b2-widget-comment .b2-widget-title {
    font-size: var(--fs-md);
    color: var(--text-primary);
    letter-spacing: 0.5px;
    margin: 0;
    border-bottom: 1px solid var(--border-light);
    background: none;
    position: relative;
}
.b2-widget-comment .b2-widget-box {
    padding: 16px 0 0 0;
}
.b2-widget-comment .comment-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.b2-widget-comment .comment-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px solid var(--border-color);
    transition: all 0.2s ease;
}
.b2-widget-comment .comment-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.b2-widget-comment .comment-avatar {
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    overflow: hidden;
    background: var(--bg-subtle);
    box-shadow: none;
}
.b2-widget-comment .comment-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.b2-widget-comment .comment-avatar a {
    display: block;
    width: 100%;
    height: 100%;
}
.b2-widget-comment .comment-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.b2-widget-comment .comment-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
.b2-widget-comment .comment-author {
    font-size: var(--fs-sm);
    color: var(--text-primary);
    letter-spacing: 0.3px;
}
.b2-widget-comment .comment-date {
    font-size: var(--fs-xs);
    color: var(--text-muted);
    letter-spacing: 0.2px;
    flex-shrink: 0;
}
.b2-widget-comment .comment-text {
    font-size: var(--fs-sm);
    color: var(--text-primary);
    line-height: 1.6;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
}
.b2-widget-comment .comment-img {
    -webkit-line-clamp: unset;
    overflow: visible;
    margin: 2px 0 0 0;
}
.b2-widget-comment .comment-img img {
    max-width: 100%;
    max-height: 120px;
    border-radius: 4px;
    object-fit: cover;
    border: 1px solid var(--border-light);
}
.b2-widget-comment .comment-source {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--fs-xs);
    color: var(--text-muted);
    background: var(--bg-subtle);
    padding: 3px 10px 3px 8px;
    border-radius: var(--b2radius);
    max-width: 100%;
    margin-top: 2px;
    transition: background 0.2s ease;
}
.b2-widget-comment .comment-source:hover {
    background: var(--bg-subtle);
}
.b2-widget-comment .comment-source svg {
    flex-shrink: 0;
    color: var(--text-muted);
}
.b2-widget-comment .comment-source a {
    color: var(--text-secondary);
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 160px;
    display: inline-block;
    vertical-align: middle;
    transition: color 0.2s ease;
}
.b2-widget-comment .comment-source a:hover {
    color: #5a7a9a;
}
/* 评论骨架屏 */
.b2-widget-comment .gujia-item {
    animation: gujiaShimmer 1.8s ease-in-out infinite;
    background: var(--bg-subtle);
    border-radius: var(--b2radius);
    padding: 14px 12px;
    margin: 0 -8px;
}
.b2-widget-comment .gujia-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--bg-subtle);
    flex-shrink: 0;
}
.b2-widget-comment .gujia-line {
    background: var(--bg-subtle);
    border-radius: 4px;
    display: inline-block;
}
.b2-widget-comment .gujia-name {
    width: 56px;
    height: 12px;
}
.b2-widget-comment .gujia-date {
    width: 40px;
    height: 10px;
}
.b2-widget-comment .gujia-text {
    width: 100%;
    height: 36px;
    margin: 2px 0;
}
.b2-widget-comment .gujia-source {
    width: 80px;
    height: 10px;
    border-radius: var(--b2radius);
}
@keyframes gujiaShimmer {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0.6;
    }
    100% {
        opacity: 1;
    }
}
/* ============================================
   二十五、签到小工具 (.mission-widget)
   ============================================ */
.b2-widget-box .mission-widget .user-w-qd {
    background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
    color: #fff;
    padding: 14px 20px;
    border-radius: var(--b2radius);
    text-align: center;
    font-size: var(--fs-base);
    margin: 15px 15px 22px 15px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.3s;
    letter-spacing: 0.5px;
    box-shadow: none;
}
.b2-widget-box .mission-widget .user-w-qd:hover {
    transform: translateY(-1px);
    box-shadow: none;
}
.b2-widget-box .mission-widget .user-w-qd.cur {
    background: var(--bg-subtle);
    color: var(--text-secondary);
    box-shadow: none;
}
.b2-widget-box .mission-widget .user-w-qd-list {
    overflow: hidden;
    padding: 0 15px 5px 15px;
}
.b2-widget-box .mission-widget .user-w-qd-list .user-w-qd-list-title {
    display: flex;
    background: transparent;
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 10px;
    margin-bottom: 12px;
    justify-content: flex-start;
    gap: 30px;
}
.b2-widget-box .mission-widget .user-w-qd-list .user-w-qd-list-title p {
    margin: 0;
    padding: 5px 0;
    text-align: center;
    font-size: var(--fs-base);
    color: var(--text-muted);
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
}
.b2-widget-box .mission-widget .user-w-qd-list .user-w-qd-list-title p.picked {
    color: var(--text-primary);
}
.b2-widget-box .mission-widget .user-w-qd-list .user-w-qd-list-title p.picked::after {
    content: '';
    position: absolute;
    bottom: -11px;
    left: 50%;
    transform: translateX(-50%);
    width: 20px;
    height: 2px;
    background-color: var(--text-primary);
}
.b2-widget-box .mission-widget .user-w-qd-list .mission-today-list ul {
    padding: 0;
    margin: 0;
    list-style: none;
}
.b2-widget-box .mission-widget .user-w-qd-list .mission-today-list ul li {
    display: flex;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--border-color);
    margin: 0;
}
.b2-widget-box .mission-widget .user-w-qd-list .mission-today-list ul li:last-child {
    border-bottom: none;
}
.b2-widget-box .mission-widget .user-w-qd-list .mission-today-list .user-link-block {
    position: relative;
    margin-right: 12px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    width: 36px;
    height: 36px;
}
.b2-widget-box .mission-widget .user-w-qd-list .mission-today-list .avatar {
    width: 36px;
    height: 36px;
    object-fit: cover;
    display: block;
    border: 1px solid var(--border-color);
}
.b2-widget-box .mission-widget .user-w-qd-list .mission-today-list .user-link-block span {
    position: absolute;
    bottom: -3px;
    right: -4px;
    line-height: 1;
}
.b2-widget-box .mission-widget .user-w-qd-list .mission-today-list .user-mission-info {
    flex: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 36px;
    gap: 10px;
}
.b2-widget-box .mission-widget .user-w-qd-list .mission-today-list .user-mission-info-left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 2px;
}
.b2-widget-box .mission-widget .user-w-qd-list .mission-today-list .user-mission-info-left a {
    text-decoration: none;
    display: block;
    line-height: 1.2;
}
.b2-widget-box .mission-widget .user-w-qd-list .mission-today-list .user-mission-info-left a p {
    color: var(--text-primary);
    margin: 0;
    font-size: var(--fs-base);
}
.b2-widget-box .mission-widget .user-w-qd-list .mission-today-list .user-mission-info-left p {
    color: var(--text-muted);
    margin: 0;
    font-size: var(--fs-xs);
}
.b2-widget-box .mission-widget .user-w-qd-list .mission-today-list .user-mission-info-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-shrink: 0;
}
.b2-widget-box .mission-widget .user-w-qd-list .mission-today-list .user-mission-info-right .credit-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--bg-subtle);
    padding: 2px 10px;
    border-radius: var(--b2radius);
    height: 24px;
    gap: 4px;
}
.b2-widget-box .mission-widget .user-w-qd-list .mission-today-list .user-mission-info-right .number-box {
    font-size: var(--fs-sm);
    color: var(--text-primary);
    line-height: 1;
}
.b2-widget-box .mission-widget .user-w-qd-list .mission-today-list .user-mission-info-right .number-box.is-grey {
    color: var(--text-secondary);
}
.b2-widget-box .mission-widget .user-w-qd-list .mission-today-list .user-mission-info-right svg {
    width: 14px;
    height: 14px;
    fill: #999;
}
.b2-widget-box .mission-widget .user-w-qd-list .mission-today-list .user-mission-info-right .mission-widget-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 28px;
    height: 28px;
    background: var(--bg-subtle);
    border-radius: 50%;
}
.b2-widget-box .mission-widget .user-w-qd-list .mission-today-list .user-mission-info-right .mission-widget-icon i {
    font-size: var(--fs-md);
    color: var(--text-secondary);
}
.b2-widget-box .mission-widget .user-w-qd-list .mission-today-list .user-mission-info-right .rank-1 i,
.b2-widget-box .mission-widget .user-w-qd-list .mission-today-list .user-mission-info-right .rank-2 i,
.b2-widget-box .mission-widget .user-w-qd-list .mission-today-list .user-mission-info-right .rank-3 i {
    color: #dc2626;
}
.b2-widget-box .mission-widget .widget-mission-footer {
    text-align: center;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--border-color);
}
.b2-widget-box .mission-widget .widget-mission-footer a {
    color: var(--text-muted);
    text-decoration: none;
    font-size: var(--fs-sm);
    transition: color 0.2s;
    background: transparent;
    border: none;
    text-transform: none;
    width: auto;
    padding: 0;
    line-height: inherit;
}
.b2-widget-box .mission-widget .widget-mission-footer a:hover {
    color: var(--text-primary);
}
/* 签到骨架屏 */
.b2-widget-box .mission-widget .mission-gujia .user-w-qd {
    background: var(--bg-subtle);
    color: transparent;
    border-radius: var(--b2radius);
    margin: 15px 15px 22px 15px;
    position: relative;
    overflow: hidden;
}
.b2-widget-box .mission-widget .mission-gujia .user-w-qd div {
    background: linear-gradient(90deg, #f0f2f5 25%, #e8eaed 50%, #f0f2f5 75%);
    background-size: 200% 100%;
    animation: gujia-loading 1.5s infinite;
    border-radius: 4px;
}
@keyframes gujia-loading {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}
.b2-widget-box .mission-widget .mission-gujia ul li .avatar-parent span {
    background: var(--bg-subtle);
    width: 36px;
    height: 36px;
    display: block;
    border-radius: 50%;
}
.b2-widget-box .mission-widget .mission-gujia ul li .user-mission-info-left a p,
.b2-widget-box .mission-widget .mission-gujia ul li .user-mission-info-left p time {
    background: var(--bg-subtle);
    color: transparent;
    border-radius: 4px;
    height: 12px;
    width: 80px;
    display: block;
}
/* ============================================================
   热门点赞小工具（Doubao 维护，设计稿风格：排名徽章+两行标题+浅蓝按钮）
   ============================================================ */
.ji-widget-doc-hot .widget-list {
    list-style: none;
    padding: 0;
    margin: 0 0 16px 0;
}
.ji-widget-doc-hot .widget-item {
    display: flex;
    align-items: flex-start;
    padding: 12px 8px;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.2s;
    text-decoration: none;
    color: inherit;
}
.ji-widget-doc-hot .widget-item:hover {
    background-color: #f7f9fc;
}
.ji-widget-doc-hot .widget-item:hover .item-text {
    color: var(--primary);
}
/* 排名数字徽章 */
.ji-widget-doc-hot .rank-badge {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    font-size: var(--fs-xs);
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
    margin-top: 2px;
    color: #fff;
}
/* 前三名特殊配色 */
.ji-widget-doc-hot .rank-1 {
    background: linear-gradient(135deg, #ff6b6b, #ee0a24);
    box-shadow: none;
}
.ji-widget-doc-hot .rank-2 {
    background: linear-gradient(135deg, #ff9f43, #ff7f50);
    box-shadow: none;
}
.ji-widget-doc-hot .rank-3 {
    background: linear-gradient(135deg, #feca57, #ff9f43);
    box-shadow: none;
}
/* 4 名以后灰色 */
.ji-widget-doc-hot .rank-other {
    background: #e4e6eb;
    color: #8a919f;
}
/* 内容区域 */
.ji-widget-doc-hot .item-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    margin-top: 0px;
}
.ji-widget-doc-hot .item-text {
    font-size: var(--fs-base);
    color: var(--text-primary);
    line-height: 1.4;
    font-weight: 500;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.2s;
}
.ji-widget-doc-hot .item-meta {
    font-size: var(--fs-xs);
    color: var(--text-muted);
    display: flex;
    align-items: center;
    gap: 4px;
}
/* 点赞图标小装饰 */
.ji-widget-doc-hot .item-meta::before {
    content: '👍';
    font-size: var(--fs-xs);
    opacity: 0.7;
}
/* 底部按钮 */
.ji-widget-doc-hot .view-all-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 10px;
    background-color: var(--bg-primary-soft);
    color: var(--primary);
    border-radius: 8px;
    font-size: var(--fs-sm);
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s;
    border: 1px solid transparent;
    box-sizing: border-box;
}
.ji-widget-doc-hot .view-all-btn:hover {
    background-color: #e1effe;
    transform: translateY(-1px);
}
.ji-widget-doc-hot .view-all-btn svg {
    margin-right: 6px;
    width: 14px;
    height: 14px;
}
/* ============================================================
   收藏小工具（jifw-*，Doubao 维护）
   设计稿：搜索 + 统计 + 分页（独立于弹层样式）
   ============================================================ */
.jifw-widget {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
/* ---------- 顶部区域 ---------- */
.jifw-title {
    font-size: var(--fs-base);
    color: var(--text-primary);
    letter-spacing: -0.01em;
}
.jifw-actions {
    display: flex;
    gap: 6px;
}
.jifw-icon-btn {
    width: 26px;
    height: 26px;
    border-radius: var(--b2radius);
    background: var(--bg-subtle);
    color: var(--text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
    flex-shrink: 0;
}
.jifw-icon-btn:hover {
    background: var(--border-light);
    color: var(--text-primary);
}
.jifw-icon-btn.active {
    background: var(--bg-primary-soft);
    color: var(--b2color);
}
.jifw-icon-btn svg {
    width: 14px;
    height: 14px;
}
/* ---------- 弹出式搜索栏 ---------- */
.jifw-search {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0 16px;
    transition: all 0.25s ease;
    flex-shrink: 0;
}
.jifw-search.open {
    max-height: 60px;
    opacity: 1;
    padding: 10px 16px;
}
.jifw-search-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    background-color: var(--bg-subtle);
    border: 1px solid var(--border-light);
    border-radius: var(--b2radius);
    padding: 6px 10px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.jifw-search-bar:focus-within {
    border-color: var(--b2color);
    box-shadow: none;
}
.jifw-search-bar > svg {
    width: 14px;
    height: 14px;
    color: var(--text-muted);
    flex-shrink: 0;
}
.jifw-search-input {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    font-size: var(--fs-xs);
    color: var(--text-primary);
    min-width: 0;
    font-family: inherit;
}
.jifw-search-input::placeholder {
    color: var(--text-muted);
}
.jifw-search-clear {
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    padding: 0;
    display: none;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.jifw-search-clear:hover {
    color: var(--text-secondary);
}
.jifw-search-clear svg {
    width: 12px;
    height: 12px;
}
/* ---------- 快捷标签栏 ---------- */
.jifw-tabs {
    display: flex;
    gap: 4px;
    padding: 10px 0px;
    border-bottom: 1px solid var(--border-color);
    flex-shrink: 0;
    overflow-x: auto;
    scrollbar-width: none;
}
.jifw-tabs::-webkit-scrollbar {
    display: none;
}
.jifw-tab {
    position: relative !important;
    z-index: 1;
}
.jifw-tab-badge {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 15px;
    height: 15px;
    padding: 0 4px;
    border-radius: var(--b2radius);
    background: #ef4444;
    color: #ffffff;
    font-size: 9px;
    line-height: 15px;
    z-index: 2;
    text-align: center;
    box-shadow: none;
}
.jifw-tab {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    font-size: var(--fs-sm);
    color: var(--text-secondary);
    background-color: transparent;
    border: none;
    border-radius: var(--b2radius);
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.15s ease;
    font-family: inherit;
    flex-shrink: 0;
    text-decoration: none;
}
.jifw-tab:hover {
    background-color: var(--bg-subtle);
    color: var(--text-primary);
}
.jifw-tab.active {
    background: var(--bg-card-hover);
    color: var(--b2color);
}
/* 软件/问答：正方形缩略图（提高特异性覆盖 .jifw-thumb） */
.jifw-thumb.jifw-thumb-square {
    width: 64px;
    height: 64px;
}
/* 无缩略图卡片（圈子/文档）：正文全宽 */
.jifw-card-no-thumb .jifw-body {
    height: auto;
    min-height: 64px;
}
.jifw-desc-text {
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}
/* ---------- 卡片列表区 ---------- */
.jifw-list {
    padding: 12px 0px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
/* ---------- 单个卡片 ---------- */
.jifw-card {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 10px;
    background-color: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--b2radius);
    padding: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
    text-decoration: none;
    color: inherit;
}
.jifw-card:hover {
    border-color: var(--border-light);
    box-shadow: none;
    transform: translateY(-1px);
}
.jifw-thumb {
    width: 96px;
    height: 64px;
    flex-shrink: 0;
    border-radius: var(--b2radius);
    overflow: hidden;
    background-color: var(--bg-subtle);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
.jifw-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}
.jifw-card:hover .jifw-thumb img {
    transform: scale(1.05);
}
/* 类型色块 */
.jifw-card[data-jifw-type-fb] .jifw-thumb-fb {
    display: none;
}
.jifw-thumb .jifw-thumb-fb[data-fb="post"] {
    background: var(--b2color);
}
.jifw-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 64px;
}
.jifw-title {
    font-size: var(--fs-sm);
    color: var(--text-primary);
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.jifw-desc {
    font-size: var(--fs-xs);
    color: var(--text-muted);
    line-height: 1.4;
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 2px;
    flex: 1;
    overflow: hidden;
    white-space: nowrap;
}
.jifw-desc .jifw-tag {
    font-size: var(--fs-xs);
    padding: 1px 5px;
    border-radius: 3px;
    background-color: var(--b2color);
    color: var(--b2color);
    flex-shrink: 0;
}
.jifw-desc .jifw-dot {
    width: 2px;
    height: 2px;
    border-radius: 50%;
    background-color: var(--bg-muted);
    flex-shrink: 0;
}
.jifw-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
}
.jifw-meta {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: var(--fs-xs);
    color: var(--text-muted);
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
}
/* 取消收藏按钮 */
.jifw-unfav {
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    padding: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.15s ease;
    flex-shrink: 0;
    opacity: 0;
}
.jifw-card:hover .jifw-unfav {
    opacity: 1;
}
.jifw-unfav:hover {
    color: #f43f5e;
}
.jifw-unfav svg {
    width: 13px;
    height: 13px;
}
/* ---------- 空状态 ---------- */
.jifw-empty {
    text-align: center;
    padding: 40px 20px;
    color: var(--text-muted);
    font-size: var(--fs-xs);
    line-height: 1.5;
}
/* ---------- 分页 ---------- */
.jifw-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 0 4px;
}
.jifw-page-btn {
    min-width: 26px;
    height: 26px;
    padding: 0 6px;
    font-size: var(--fs-xs);
    color: var(--text-secondary);
    background-color: var(--bg-card);
    border: 1px solid var(--border-light);
    border-radius: var(--b2radius);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
    font-family: inherit;
    line-height: 1;
}
.jifw-page-btn:hover:not(:disabled) {
    border-color: var(--border-light);
    color: var(--text-primary);
    background-color: var(--bg-subtle);
}
.jifw-page-btn.active {
    background-color: var(--b2color);
    border-color: var(--b2color);
    color: #ffffff;
}
.jifw-page-btn:disabled {
    color: var(--text-muted);
    cursor: not-allowed;
    background-color: var(--bg-subtle);
}
/* ============================================
   八、作者面板小工具 (.ji-widget-author) 美化版
   设计稿：去竖线 · 比例更协调
   ============================================ */
.ji-widget-author .author-panel {
    background: var(--bg-card);
    border-radius: 14px;
    overflow: hidden;
}
/* 顶部标题栏 */
.ji-widget-author .panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 0 15px;
    border-bottom: 1px solid var(--border-color);
}
.ji-widget-author .panel-header .title {
    font-size: var(--fs-base);
    font-weight: 700;
    color: #1f2d3d;
    letter-spacing: 0.2px;
}
.ji-widget-author .panel-header .actions {
    display: flex;
    gap: 14px;
    font-size: var(--fs-sm);
    color: var(--text-secondary);
    align-items: center;
}
.ji-widget-author .panel-header .actions button {
    border: none;
    background: none;
    padding: 0;
    font-size: var(--fs-sm);
    color: var(--text-secondary);
    cursor: pointer;
    transition: color 0.2s;
    line-height: 1.4;
    font-family: inherit;
}
.ji-widget-author .panel-header .actions button:hover {
    color: var(--primary);
}
.ji-widget-author .panel-header .actions button.follow-btn {
    color: var(--primary);
    font-weight: 600;
}
/* 作者信息区 */
.ji-widget-author .author-info {
    display: flex;
    padding: 18px 0 14px;
    gap: 12px;
    align-items: center;
}
.ji-widget-author .author-avatar {
    width: 58px;
    height: 58px;
    flex-shrink: 0;
    position: relative;
}
.ji-widget-author .author-avatar img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid #fff;
    display: block;
}
/* 认证角标：叠加在头像右下角（原在线绿点位置），仅已认证用户显示 */
.ji-widget-author .author-avatar .verify-badge {
    position: absolute;
    right: 5px;
    bottom: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    line-height: 1;
}
.ji-widget-author .author-avatar .verify-badge i {
    font-size: var(--fs-base);
    line-height: 1;
    color: var(--primary);
}
.ji-widget-author .author-meta {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
    height: 58px;
    justify-content: space-around;
}
.ji-widget-author .author-meta .name {
    font-size: var(--fs-md);
    font-weight: 700;
    color: #1f2d3d;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    line-height: 1.3;
}
.ji-widget-author .author-meta .bio {
    font-size: var(--fs-xs);
    color: #8a919f;
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* 数据统计区（与用户面板四项统计同风格：独立卡片 + 彩色数字 + hover 上浮） */
.ji-widget-author .stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    margin: 4px 0 16px;
    background: none;
    border-radius: 0;
    padding: 0;
}
.ji-widget-author .stat-item {
    text-align: center;
    position: relative;
    background: var(--bg-card-hover);
    border-radius: 8px;
    padding: 12px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    transition: all 0.2s ease;
    cursor: pointer;
}
.ji-widget-author .stat-item:hover {
    background: var(--bg-primary-soft);
    transform: translateY(-2px);
    box-shadow: none;
}
.ji-widget-author .stat-item .num {
    display: block;
    font-size: var(--fs-md);
    font-weight: 700;
    color: #1f2d3d;
    margin-bottom: 0;
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
    transition: color 0.2s;
}
.ji-widget-author .stat-item .label {
    font-size: var(--fs-xs);
    color: #8a919f;
    line-height: 1.2;
    transition: color 0.2s;
}
.ji-widget-author .stat-item:hover .num,
.ji-widget-author .stat-item:hover .label {
    color: var(--primary);
}
/* 数字颜色区分（与用户面板一致：文章红/评论蓝/关注绿/粉丝紫） */
.ji-widget-author .stat-item:nth-child(1) .num { color: #ef4444; }
.ji-widget-author .stat-item:nth-child(2) .num { color: var(--primary); }
.ji-widget-author .stat-item:nth-child(3) .num { color: #22c55e; }
.ji-widget-author .stat-item:nth-child(4) .num { color: #a855f7; }
/* 最新文章列表 */
.ji-widget-author .post-list {
    padding: 0 0 6px;
}
.ji-widget-author .post-item {
    display: flex;
    align-items: center;
    padding: 9px 0;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.2s;
    cursor: pointer;
}
.ji-widget-author .post-item:hover {
    background: #f7f9fc;
}
.ji-widget-author .post-item:hover .post-title {
    color: var(--primary);
}
.ji-widget-author .post-tag {
    font-size: var(--fs-xs);
    color: var(--primary);
    background: rgba(47, 107, 255, 0.09);
    padding: 2px 7px;
    border-radius: 4px;
    margin-right: 8px;
    flex-shrink: 0;
    font-weight: 500;
    line-height: 1.5;
}
.ji-widget-author .post-title {
    font-size: var(--fs-sm);
    color: var(--text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color 0.2s;
    line-height: 1.4;
}
/* 底部按钮 */
.ji-widget-author .panel-footer {
    padding: 12px 0 18px;
    border-top: 1px solid var(--border-color);
}
.ji-widget-author .panel-footer a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 10px;
    background-color: var(--bg-primary-soft);
    color: var(--primary);
    border-radius: 8px;
    font-size: var(--fs-sm);
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s;
    border: 1px solid transparent;
    box-sizing: border-box;
    gap: 4px;
    line-height: 1.4;
}
.ji-widget-author .panel-footer a:hover {
    background-color: #e1effe;
    color: var(--primary);
    transform: translateY(-1px);
}
.ji-widget-author .panel-footer a:hover .arrow {
    transform: translateX(4px);
}
.ji-widget-author .panel-footer .arrow {
    transition: transform 0.25s ease;
    font-size: var(--fs-xs);
}

/* ============ 暗夜模式适配（widget.css） ============ */
[data-theme="dark"] .ji-widget-user { border-color: #2f3238; }
[data-theme="dark"] .ji-widget-user .avatar-parent .avatar,
[data-theme="dark"] .jitheme-userlist-avatar,
[data-theme="dark"] .ji-widget-author .author-avatar img { border-color: #2f3238; }
[data-theme="dark"] .ji-widget-user .ji-user-jsb .muted-box:hover { background: #2a2d33; }
[data-theme="dark"] .ji-widget-user .user-w-announcement li:hover { background: #2a2d33; }
[data-theme="dark"] .ji-widget-user .user-w-announcement .post-title { color: #e8eaf0; }
[data-theme="dark"] .jitheme-widget-down .w-d-role { background: #332f1e; border-color: #6b5d1e; }
[data-theme="dark"] .jitheme-widget-wechat .add-admin { background-color: #1e2e2a; }
[data-theme="dark"] .ji-widget-doc-hot .widget-item:hover { background-color: #2a2d33; }
[data-theme="dark"] .ji-widget-doc-hot .widget-item:hover .item-text { color: #5b8bff; }
[data-theme="dark"] .ji-widget-doc-hot .rank-other { background: #3a3f47; }
[data-theme="dark"] .ji-widget-doc-hot .item-text { color: #e8eaf0; }
[data-theme="dark"] .ji-widget-doc-hot .item-meta { color: #8a90a0; }
[data-theme="dark"] .ji-widget-doc-hot .view-all-btn { background-color: #223047; color: #5b8bff; }
[data-theme="dark"] .ji-widget-doc-hot .view-all-btn:hover { background-color: #2a3a52; }
[data-theme="dark"] .jifw-icon-btn:hover { color: #e8eaf0; }
[data-theme="dark"] .jifw-icon-btn.active { background: #2a2438; }
[data-theme="dark"] .jifw-desc .jifw-dot { background-color: #3a3f47; }
[data-theme="dark"] .ji-widget-author .author-panel { background: #1f2228; }
[data-theme="dark"] .ji-widget-author .panel-header { border-bottom-color: #2f3238; }
[data-theme="dark"] .ji-widget-author .panel-header .title { color: #e8eaf0; }
[data-theme="dark"] .ji-widget-author .panel-header .actions,
[data-theme="dark"] .ji-widget-author .panel-header .actions button { color: #a4a8b1; }
[data-theme="dark"] .ji-widget-author .author-meta .name { color: #e8eaf0; }
[data-theme="dark"] .ji-widget-author .author-meta .bio { color: #8a90a0; }
[data-theme="dark"] .ji-widget-author .stat-item { background: #24262c; }
[data-theme="dark"] .ji-widget-author .stat-item:hover { background: #2a2438; }
[data-theme="dark"] .ji-widget-author .stat-item .num { color: #e8eaf0; }
[data-theme="dark"] .ji-widget-author .stat-item .label { color: #8a90a0; }
[data-theme="dark"] .ji-widget-author .post-item:hover { background: #2a2d33; }
[data-theme="dark"] .ji-widget-author .post-title { color: #e8eaf0; }
[data-theme="dark"] .ji-widget-author .panel-footer { border-top-color: #2f3238; }
[data-theme="dark"] .ji-widget-author .panel-footer a { background-color: #223047; color: #5b8bff; }
[data-theme="dark"] .ji-widget-author .panel-footer a:hover { background-color: #2a3a52; color: #5b8bff; }
/* ============ 暗夜补充：widget 签到任务骨架条 ============ */
[data-theme="dark"] .b2-widget-box .mission-widget .mission-gujia .user-w-qd div { background: linear-gradient(90deg, #1a1f2e 25%, #222838 50%, #1a1f2e 75%); }