/* DJZY通用BBS v11.0 - 积分/签到/勋章/社交/管理 UI样式 */

/* ==================== 签到按钮 ==================== */
.bbs-checkin-wrap{display:inline-flex;align-items:center;gap:6px}
.bbs-checkin-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 14px;border-radius:20px;border:1px solid var(--bbs-primary,#6C5CE7);background:transparent;color:var(--bbs-primary,#6C5CE7);font-size:13px;cursor:pointer;transition:all .2s}
.bbs-checkin-btn:hover{background:var(--bbs-primary,#6C5CE7);color:#fff}
.bbs-checkin-btn.checked{background:var(--bbs-primary,#6C5CE7);color:#fff;cursor:default;opacity:.7}
.bbs-checkin-btn .streak{font-size:11px;opacity:.7}
.bbs-checkin-popup{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:16px;padding:32px;text-align:center;z-index:10001;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:bbsPopIn .3s ease}
.bbs-checkin-popup.show{display:block}
.bbs-checkin-popup .icon{font-size:48px;margin-bottom:12px}
.bbs-checkin-popup .title{font-size:20px;font-weight:700;color:#1e293b;margin-bottom:8px}
.bbs-checkin-popup .info{font-size:14px;color:#64748b;margin-bottom:4px}
.bbs-checkin-popup .points{font-size:28px;font-weight:700;color:var(--bbs-primary,#6C5CE7);margin:12px 0}
.bbs-checkin-popup .close-btn{margin-top:16px;padding:8px 24px;border-radius:8px;border:none;background:var(--bbs-primary,#6C5CE7);color:#fff;font-size:14px;cursor:pointer}
.bbs-checkin-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:10000}
.bbs-checkin-backdrop.show{display:block}

/* ==================== 签到日历 ==================== */
.bbs-calendar{background:#fff;border-radius:12px;padding:20px;border:1px solid #e2e8f0}
.bbs-calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.bbs-calendar-header h4{margin:0;font-size:16px;color:#1e293b}
.bbs-calendar-nav{display:flex;gap:8px}
.bbs-calendar-nav button{width:28px;height:28px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.bbs-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.bbs-calendar-grid .weekday{font-size:12px;color:#94a3b8;padding:4px 0;font-weight:600}
.bbs-calendar-grid .day{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;color:#475569;margin:0 auto}
.bbs-calendar-grid .day.checked{background:var(--bbs-primary,#6C5CE7);color:#fff;font-weight:600}
.bbs-calendar-grid .day.today{border:2px solid var(--bbs-primary,#6C5CE7);font-weight:600}
.bbs-calendar-grid .day.empty{visibility:hidden}
.bbs-calendar-stats{display:flex;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid #f1f5f9}
.bbs-calendar-stats .stat{text-align:center;flex:1}
.bbs-calendar-stats .stat-num{font-size:20px;font-weight:700;color:var(--bbs-primary,#6C5CE7)}
.bbs-calendar-stats .stat-label{font-size:12px;color:#94a3b8}

/* ==================== 积分展示 ==================== */
.bbs-points-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;font-size:12px;font-weight:600}
.bbs-points-badge i{font-size:14px}
.bbs-points-card{background:linear-gradient(135deg,var(--bbs-primary,#6C5CE7),#a855f7);border-radius:16px;padding:24px;color:#fff;margin-bottom:20px}
.bbs-points-card .balance{font-size:36px;font-weight:700}
.bbs-points-card .label{font-size:14px;opacity:.8}
.bbs-points-card .level{display:inline-flex;align-items:center;gap:4px;margin-top:8px;padding:3px 10px;border-radius:12px;background:rgba(255,255,255,.2);font-size:12px}
.bbs-points-history{list-style:none;padding:0;margin:0}
.bbs-points-history li{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f1f5f9}
.bbs-points-history li:last-child{border:none}
.bbs-points-history .desc{font-size:14px;color:#475569}
.bbs-points-history .time{font-size:12px;color:#94a3b8}
.bbs-points-history .amount{font-size:15px;font-weight:600}
.bbs-points-history .amount.positive{color:#22c55e}
.bbs-points-history .amount.negative{color:#ef4444}

/* ==================== 勋章墙 ==================== */
.bbs-badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.bbs-badge-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;text-align:center;transition:all .2s;cursor:default}
.bbs-badge-card:hover{border-color:var(--bbs-primary,#6C5CE7);box-shadow:0 4px 12px rgba(108,92,231,.15)}
.bbs-badge-card.earned{border-color:#22c55e;background:#f0fdf4}
.bbs-badge-card.locked{opacity:.5;filter:grayscale(.8)}
.bbs-badge-card .icon{font-size:32px;margin-bottom:8px}
.bbs-badge-card .name{font-size:13px;font-weight:600;color:#1e293b;margin-bottom:4px}
.bbs-badge-card .desc{font-size:11px;color:#94a3b8}
.bbs-badge-card .earned-date{font-size:10px;color:#22c55e;margin-top:4px}

/* ==================== 排行榜 ==================== */
.bbs-leaderboard{background:#fff;border-radius:12px;border:1px solid #e2e8f0;overflow:hidden}
.bbs-leaderboard-tabs{display:flex;border-bottom:1px solid #e2e8f0}
.bbs-leaderboard-tab{flex:1;padding:12px;text-align:center;font-size:14px;color:#64748b;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}
.bbs-leaderboard-tab.active{color:var(--bbs-primary,#6C5CE7);border-bottom-color:var(--bbs-primary,#6C5CE7);font-weight:600}
.bbs-leaderboard-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #f8fafc}
.bbs-leaderboard-item:last-child{border:none}
.bbs-leaderboard-item .rank{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;background:#f1f5f9;color:#64748b}
.bbs-leaderboard-item .rank.top1{background:#fef3c7;color:#d97706}
.bbs-leaderboard-item .rank.top2{background:#e2e8f0;color:#64748b}
.bbs-leaderboard-item .rank.top3{background:#fed7aa;color:#ea580c}
.bbs-leaderboard-item .avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}
.bbs-leaderboard-item .info{flex:1}
.bbs-leaderboard-item .name{font-size:14px;font-weight:600;color:#1e293b}
.bbs-leaderboard-item .score{font-size:14px;font-weight:600;color:var(--bbs-primary,#6C5CE7)}

/* ==================== 关注/粉丝 ==================== */
.bbs-follow-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 16px;border-radius:20px;border:1px solid var(--bbs-primary,#6C5CE7);background:transparent;color:var(--bbs-primary,#6C5CE7);font-size:13px;cursor:pointer;transition:all .2s}
.bbs-follow-btn:hover{background:var(--bbs-primary,#6C5CE7);color:#fff}
.bbs-follow-btn.following{background:var(--bbs-primary,#6C5CE7);color:#fff}
.bbs-follow-stats{display:flex;gap:20px}
.bbs-follow-stats .stat{text-align:center}
.bbs-follow-stats .num{font-size:18px;font-weight:700;color:#1e293b}
.bbs-follow-stats .label{font-size:12px;color:#94a3b8}
.bbs-user-list{list-style:none;padding:0;margin:0}
.bbs-user-list li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #f1f5f9}
.bbs-user-list li:last-child{border:none}
.bbs-user-list .avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}
.bbs-user-list .name{font-size:14px;font-weight:600;color:#1e293b}

/* ==================== 私信 ==================== */
.bbs-msg-trigger{position:relative;display:inline-flex}
.bbs-msg-badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;padding:1px 5px;border-radius:10px;min-width:16px;text-align:center;line-height:14px}
.bbs-msg-panel{display:none;position:fixed;top:0;right:0;width:380px;height:100vh;background:#fff;z-index:10001;box-shadow:-4px 0 24px rgba(0,0,0,.15);animation:slideInRight .3s ease;flex-direction:column}
.bbs-msg-panel.show{display:flex}
.bbs-msg-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e2e8f0}
.bbs-msg-header h3{margin:0;font-size:16px}
.bbs-msg-close{width:32px;height:32px;border-radius:8px;border:none;background:#f1f5f9;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center}
.bbs-msg-list{flex:1;overflow-y:auto;padding:0}
.bbs-msg-item{display:flex;gap:12px;padding:12px 20px;border-bottom:1px solid #f8fafc;cursor:pointer;transition:background .15s}
.bbs-msg-item:hover{background:#f8fafc}
.bbs-msg-item.unread{background:#eff6ff}
.bbs-msg-item .avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}
.bbs-msg-item .body{flex:1;min-width:0}
.bbs-msg-item .top{display:flex;justify-content:space-between;align-items:center}
.bbs-msg-item .name{font-size:14px;font-weight:600;color:#1e293b}
.bbs-msg-item .time{font-size:11px;color:#94a3b8}
.bbs-msg-item .preview{font-size:13px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bbs-msg-item .unread-dot{width:8px;height:8px;border-radius:50%;background:var(--bbs-primary,#6C5CE7);flex-shrink:0}

/* 私信聊天界面 */
.bbs-chat{display:none;flex-direction:column;height:100%}
.bbs-chat.show{display:flex}
.bbs-chat-header{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid #e2e8f0}
.bbs-chat-header .back{width:32px;height:32px;border-radius:8px;border:none;background:#f1f5f9;cursor:pointer;font-size:18px}
.bbs-chat-header .avatar{width:32px;height:32px;border-radius:50%}
.bbs-chat-header .name{font-size:14px;font-weight:600}
.bbs-chat-messages{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:12px}
.bbs-chat-msg{max-width:75%;padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.5}
.bbs-chat-msg.sent{align-self:flex-end;background:var(--bbs-primary,#6C5CE7);color:#fff;border-bottom-right-radius:4px}
.bbs-chat-msg.received{align-self:flex-start;background:#f1f5f9;color:#1e293b;border-bottom-left-radius:4px}
.bbs-chat-msg .time{font-size:10px;opacity:.6;margin-top:4px}
.bbs-chat-input{display:flex;gap:8px;padding:12px 20px;border-top:1px solid #e2e8f0}
.bbs-chat-input input{flex:1;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;outline:none}
.bbs-chat-input input:focus{border-color:var(--bbs-primary,#6C5CE7)}
.bbs-chat-input button{padding:10px 20px;border-radius:8px;border:none;background:var(--bbs-primary,#6C5CE7);color:#fff;font-size:14px;cursor:pointer}

/* ==================== 用户主页增强 ==================== */
.bbs-profile-header{background:#fff;border-radius:16px;padding:24px;border:1px solid #e2e8f0;margin-bottom:20px}
.bbs-profile-top{display:flex;gap:20px;align-items:flex-start}
.bbs-profile-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid #e2e8f0}
.bbs-profile-info{flex:1}
.bbs-profile-name{font-size:22px;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:8px}
.bbs-profile-bio{font-size:14px;color:#64748b;margin-top:4px}
.bbs-profile-stats{display:flex;gap:24px;margin-top:12px}
.bbs-profile-stats .stat{text-align:center}
.bbs-profile-stats .num{font-size:18px;font-weight:700;color:#1e293b}
.bbs-profile-stats .label{font-size:12px;color:#94a3b8}
.bbs-profile-actions{display:flex;gap:8px;margin-top:12px}

/* 贡献热力图 */
.bbs-heatmap{display:grid;grid-template-columns:repeat(52,1fr);gap:2px;margin-top:16px}
.bbs-heatmap .cell{width:12px;height:12px;border-radius:2px;background:#ebedf0}
.bbs-heatmap .cell.l1{background:#9be9a8}
.bbs-heatmap .cell.l2{background:#40c463}
.bbs-heatmap .cell.l3{background:#30a14e}
.bbs-heatmap .cell.l4{background:#216e39}

/* ==================== 屏蔽管理 ==================== */
.bbs-block-list .item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #f1f5f9}
.bbs-block-list .avatar{width:40px;height:40px;border-radius:50%}
.bbs-block-list .name{flex:1;font-size:14px;font-weight:600}
.bbs-unblock-btn{padding:4px 12px;border-radius:6px;border:1px solid #ef4444;background:transparent;color:#ef4444;font-size:12px;cursor:pointer}
.bbs-unblock-btn:hover{background:#ef4444;color:#fff}

/* ==================== 审核队列 ==================== */
.bbs-audit-item{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;margin-bottom:12px}
.bbs-audit-item .meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.bbs-audit-item .type{font-size:12px;padding:2px 8px;border-radius:4px;background:#eff6ff;color:#3b82f6}
.bbs-audit-item .user{font-size:13px;color:#64748b}
.bbs-audit-item .content{font-size:14px;color:#1e293b;margin-bottom:12px}
.bbs-audit-actions{display:flex;gap:8px}
.bbs-audit-actions button{padding:6px 16px;border-radius:6px;border:none;font-size:13px;cursor:pointer}
.bbs-audit-actions .approve{background:#22c55e;color:#fff}
.bbs-audit-actions .reject{background:#ef4444;color:#fff}

/* ==================== 通用动画 ==================== */
@keyframes bbsPopIn{from{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes slideInRight{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes bbsFadeIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@keyframes bbsPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}

/* ==================== 响应式 ==================== */
@media(max-width:768px){
.bbs-msg-panel{width:100%}
.bbs-badges-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}
.bbs-profile-top{flex-direction:column;align-items:center;text-align:center}
.bbs-profile-stats{justify-content:center}
.bbs-profile-actions{justify-content:center}
.bbs-heatmap{grid-template-columns:repeat(26,1fr)}
}

/* ========== v11 深色模式 ========== */
[data-theme="dark"] .bbs-checkin-popup{background:#1e293b;box-shadow:0 20px 60px rgba(0,0,0,.6)}
[data-theme="dark"] .bbs-checkin-popup .title{color:#f1f5f9}
[data-theme="dark"] .bbs-checkin-popup .info{color:#94a3b8}
[data-theme="dark"] .bbs-calendar{background:#1e293b;border-color:#334155}
[data-theme="dark"] .bbs-calendar-header h4{color:#f1f5f9}
[data-theme="dark"] .bbs-calendar-nav button{border-color:#334155;background:#1e293b;color:#e2e8f0}
[data-theme="dark"] .bbs-calendar-stats{border-top-color:#334155}
[data-theme="dark"] .bbs-calendar-grid .day{color:#94a3b8}
[data-theme="dark"] .bbs-calendar-grid .day.today{border-color:var(--bbs-primary,#6C5CE7);color:var(--bbs-primary,#6C5CE7)}
[data-theme="dark"] .bbs-points-history li{border-bottom-color:#334155}
[data-theme="dark"] .bbs-points-history .detail .action{color:#94a3b8}
[data-theme="dark"] .bbs-badge-card{background:#1e293b;border-color:#334155}
[data-theme="dark"] .bbs-badge-card .name{color:#f1f5f9}
[data-theme="dark"] .bbs-badge-card .desc{color:#94a3b8}
[data-theme="dark"] .bbs-badge-card.earned{border-color:var(--bbs-primary,#6C5CE7);background:rgba(108,92,231,.1)}
[data-theme="dark"] .bbs-leaderboard{background:#1e293b;border-color:#334155}
[data-theme="dark"] .bbs-leaderboard-tabs{border-bottom-color:#334155}
[data-theme="dark"] .bbs-leaderboard-tab{color:#94a3b8}
[data-theme="dark"] .bbs-leaderboard-tab.active{color:var(--bbs-primary,#6C5CE7);border-bottom-color:var(--bbs-primary,#6C5CE7)}
[data-theme="dark"] .bbs-leaderboard-item{border-bottom-color:#1e293b}
[data-theme="dark"] .bbs-leaderboard-item .rank{background:#334155;color:#94a3b8}
[data-theme="dark"] .bbs-leaderboard-item .rank.top2{background:#475569;color:#e2e8f0}
[data-theme="dark"] .bbs-leaderboard-item .name{color:#f1f5f9}
[data-theme="dark"] .bbs-leaderboard-item .meta{color:#94a3b8}
[data-theme="dark"] .bbs-user-list li{border-bottom-color:#334155}
[data-theme="dark"] .bbs-user-list .name{color:#f1f5f9}
[data-theme="dark"] .bbs-user-list .bio{color:#94a3b8}
[data-theme="dark"] .bbs-msg-panel{background:#1e293b;box-shadow:-4px 0 24px rgba(0,0,0,.4)}
[data-theme="dark"] .bbs-msg-header{border-bottom-color:#334155}
[data-theme="dark"] .bbs-msg-header h3{color:#f1f5f9}
[data-theme="dark"] .bbs-msg-item{border-bottom-color:#334155}
[data-theme="dark"] .bbs-msg-item .content{color:#e2e8f0}
[data-theme="dark"] .bbs-msg-input-area{border-top-color:#334155}
[data-theme="dark"] .bbs-msg-input-area textarea{background:#0f172a;border-color:#334155;color:#f1f5f9}
[data-theme="dark"] .bbs-msg-thread{background:#0f172a}
[data-theme="dark"] .bbs-msg-bubble{background:#1e293b;color:#e2e8f0}
[data-theme="dark"] .bbs-msg-bubble.self{background:rgba(108,92,231,.2)}
[data-theme="dark"] .bbs-msg-compose{border-top-color:#334155;background:#1e293b}
[data-theme="dark"] .bbs-msg-compose textarea{background:#0f172a;border-color:#334155;color:#f1f5f9}
[data-theme="dark"] .bbs-profile-header{background:#1e293b;border-color:#334155}
[data-theme="dark"] .bbs-profile-name{color:#f1f5f9}
[data-theme="dark"] .bbs-profile-bio{color:#94a3b8}
[data-theme="dark"] .bbs-profile-stats .stat{color:#e2e8f0}
[data-theme="dark"] .bbs-profile-stats .label{color:#94a3b8}
[data-theme="dark"] .bbs-heatmap{border-color:#334155}
[data-theme="dark"] .bbs-heatmap .day{background:#1e293b;border-color:#334155}
[data-theme="dark"] .bbs-heatmap .day.l1{background:rgba(108,92,231,.2)}
[data-theme="dark"] .bbs-heatmap .day.l2{background:rgba(108,92,231,.4)}
[data-theme="dark"] .bbs-heatmap .day.l3{background:rgba(108,92,231,.6)}
[data-theme="dark"] .bbs-heatmap .day.l4{background:var(--bbs-primary,#6C5CE7)}
[data-theme="dark"] .bbs-trust-badge{background:#334155;border-color:#475569}
[data-theme="dark"] .bbs-admin-panel{background:#1e293b;border-color:#334155}
[data-theme="dark"] .bbs-admin-panel h3{color:#f1f5f9}
[data-theme="dark"] .bbs-admin-tabs{border-bottom-color:#334155}
[data-theme="dark"] .bbs-admin-tab{color:#94a3b8}
[data-theme="dark"] .bbs-admin-tab.active{color:var(--bbs-primary,#6C5CE7);border-bottom-color:var(--bbs-primary,#6C5CE7)}
[data-theme="dark"] .bbs-mod-btn{border-color:#334155;color:#94a3b8}
[data-theme="dark"] .bbs-mod-btn:hover{border-color:var(--bbs-primary,#6C5CE7);color:var(--bbs-primary,#6C5CE7)}
[data-theme="dark"] .bbs-mod-btn.danger{border-color:#ef4444;color:#ef4444}
[data-theme="dark"] .bbs-ban-list{border-color:#334155}
[data-theme="dark"] .bbs-ban-item{border-bottom-color:#334155;background:#0f172a}
[data-theme="dark"] .bbs-ban-item .reason{color:#94a3b8}
[data-theme="dark"] .bbs-rule-box{background:#1e293b;border-color:#334155}
[data-theme="dark"] .bbs-rule-box h3{color:#f1f5f9}
[data-theme="dark"] .bbs-rule-box .rule-content{color:#e2e8f0}
[data-theme="dark"] .bbs-blocked-overlay{background:rgba(15,23,42,.95)}
[data-theme="dark"] .bbs-blocked-msg{background:#1e293b;border-color:#334155;color:#f1f5f9}
[data-theme="dark"] .bbs-feed-item{border-bottom-color:#334155}
[data-theme="dark"] .bbs-feed-item .text{color:#e2e8f0}
[data-theme="dark"] .bbs-feed-item .time{color:#94a3b8}
[data-theme="dark"] .bbs-toast{background:#1e293b;border-color:#334155;color:#f1f5f9;box-shadow:0 4px 20px rgba(0,0,0,.4)}
/* ============================================================
   通知偏好设置面板样式
   ============================================================ */

/* 通知偏好表单 */
.bbs-np-section{margin-bottom:24px}
.bbs-np-section-title{font-size:15px;font-weight:600;margin-bottom:14px;color:var(--bbs-text,#1e293b);display:flex;align-items:center;gap:8px}
.bbs-np-section-title i{font-size:18px;color:var(--bbs-primary,#6C5CE7)}
.bbs-np-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--bbs-border-light,#f1f5f9);cursor:pointer;transition:background .15s}
.bbs-np-item:last-child{border-bottom:none}
.bbs-np-item:hover{background:var(--bbs-hover,#f8fafc);border-radius:8px;padding-left:8px;padding-right:8px;margin-left:-8px;margin-right:-8px}
.bbs-np-item input[type="checkbox"]{accent-color:var(--bbs-primary,#6C5CE7);width:18px;height:18px;flex-shrink:0}
.bbs-np-item-info{flex:1}
.bbs-np-item-label{font-size:14px;font-weight:500;color:var(--bbs-text,#1e293b)}
.bbs-np-item-desc{font-size:12px;color:var(--bbs-text-muted,#94a3b8);margin-top:2px}

/* 开关样式 */
.bbs-np-switch{position:relative;width:44px;height:24px;flex-shrink:0}
.bbs-np-switch input{opacity:0;width:0;height:0}
.bbs-np-switch .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--bbs-border,#cbd5e1);border-radius:24px;transition:.3s}
.bbs-np-switch .slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}
.bbs-np-switch input:checked+.slider{background:var(--bbs-primary,#6C5CE7)}
.bbs-np-switch input:checked+.slider:before{transform:translateX(20px)}

/* 浏览器推送授权提示 */
.bbs-np-push-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:4px 10px;border-radius:12px;margin-left:8px}
.bbs-np-push-status.granted{background:rgba(34,197,94,.1);color:#22c55e}
.bbs-np-push-status.denied{background:rgba(239,68,68,.1);color:#ef4444}
.bbs-np-push-status.default{background:rgba(251,191,36,.1);color:#f59e0b}

/* 成功/错误消息 */
.bbs-np-msg{display:none;padding:12px 16px;border-radius:10px;margin-bottom:16px;font-size:14px;align-items:center;gap:8px}
.bbs-np-msg.success{display:flex;background:rgba(34,197,94,.1);color:#22c55e;border:1px solid rgba(34,197,94,.2)}
.bbs-np-msg.error{display:flex;background:rgba(239,68,68,.1);color:#ef4444;border:1px solid rgba(239,68,68,.2)}

/* 通知下拉面板增强 */
.bbs-notify-item.unread{background:var(--bbs-primary-light,rgba(108,92,231,.05))}
.bbs-notify-item.unread .text{font-weight:500;color:var(--bbs-text,#1e293b)}
.bbs-notify-type-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px}
.bbs-notify-type-icon.comment{background:#eff6ff;color:#3b82f6}
.bbs-notify-type-icon.follow{background:#f0fdf4;color:#22c55e}
.bbs-notify-type-icon.system{background:#fef3c7;color:#d97706}
.bbs-notify-type-icon.badge{background:#faf5ff;color:#a855f7}
.bbs-notify-type-icon.like{background:#fff1f2;color:#f43f5e}
.bbs-notify-mark-read{font-size:12px;color:var(--bbs-primary,#6C5CE7);cursor:pointer;border:none;background:none;padding:4px 8px}
.bbs-notify-mark-read:hover{text-decoration:underline}

/* 通知页面列表 */
.bbs-notify-page-list{padding:0}
.bbs-notify-page-item{display:flex;gap:12px;padding:14px 16px;border-bottom:1px solid var(--bbs-border-light,#f1f5f9);transition:background .15s}
.bbs-notify-page-item:hover{background:var(--bbs-hover,#f8fafc)}
.bbs-notify-page-item.unread{border-left:3px solid var(--bbs-primary,#6C5CE7)}
.bbs-notify-page-item .content{flex:1}
.bbs-notify-page-item .title{font-size:14px;font-weight:500;color:var(--bbs-text,#1e293b);margin-bottom:4px}
.bbs-notify-page-item .title a{color:inherit;text-decoration:none}
.bbs-notify-page-item .title a:hover{color:var(--bbs-primary,#6C5CE7)}
.bbs-notify-page-item .detail{font-size:13px;color:var(--bbs-text-muted,#94a3b8);line-height:1.5}
.bbs-notify-page-item .meta{font-size:12px;color:var(--bbs-text-muted,#94a3b8);margin-top:6px}

/* 响应式 */
@media (max-width:768px){
    .bbs-notify-dropdown{width:280px;right:-40px}
    .bbs-np-item{padding:10px 0}
}

.bbs-carousel{position:relative;overflow:hidden;border-radius:12px;margin-bottom:20px;background:#1e293b}
.bbs-carousel-track{position:relative;width:100%;height:100%}
.bbs-carousel-slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity .6s ease;z-index:0}
.bbs-carousel-slide.active{opacity:1;z-index:1}
.bbs-carousel-link{display:block;width:100%;height:100%}
.bbs-carousel-img{width:100%;height:100%;object-fit:cover;display:block}
.bbs-carousel-caption{position:absolute;bottom:0;left:0;right:0;padding:40px 24px 20px;background:linear-gradient(transparent,rgba(0,0,0,.7))}
.bbs-carousel-caption span{color:#fff;font-size:18px;font-weight:600}
.bbs-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background:rgba(255,255,255,.2);backdrop-filter:blur(8px);border:none;color:#fff;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s}
.bbs-carousel:hover .bbs-carousel-arrow{opacity:1}
.bbs-carousel-arrow:hover{background:rgba(255,255,255,.4)}
.bbs-carousel-prev{left:12px}
.bbs-carousel-next{right:12px}
.bbs-carousel-dots{position:absolute;bottom:12px;right:16px;display:flex;gap:6px;z-index:10}
.bbs-carousel-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;transition:all .2s}
.bbs-carousel-dot.active{background:#fff;width:20px;border-radius:4px}
@media(max-width:768px){.bbs-carousel{border-radius:8px;height:auto!important;aspect-ratio:1200/329}.bbs-carousel-caption span{font-size:14px}.bbs-carousel-arrow{width:32px;height:32px;font-size:16px}}
