:root { --bg-color: #1c1c1e; --card-bg: #1f2937; --text-main: #f3f4f6; --text-sub: #9ca3af; --accent-char: #fbbf24; --accent-outfit: #f472b6; --btn-mix: #8b5cf6; --badge-user: #3b82f6; --badge-official: #d97706; --danger: #ef4444; --navbar-top-bg: #374151; --navbar-tabs-bg: #1f2937; --navbar-shadow: 0 4px 6px -1px rgba(0,0,0,0.3); }

/* ═══════════════════════════════════════════════════════════════ */
/* ☀️ 亮色主题 · 白蓝弥散光风格 · 全面覆盖                          */
/* ═══════════════════════════════════════════════════════════════ */

/* ── 1. CSS 变量覆盖 ── */
[data-theme="light"] {
    --bg-color: #eef2f9;
    --card-bg: rgba(255,255,255,0.82);
    --text-main: #1a1a2e;
    --text-sub: #5a6a7e;
    --navbar-top-bg: rgba(255,255,255,0.88);
    --navbar-tabs-bg: rgba(240,245,255,0.85);
    --navbar-shadow: 0 2px 16px rgba(100,140,220,0.12);
    --accent-char: #f59e0b;
    --accent-outfit: #ec4899;
    --btn-mix: #7c3aed;
    --badge-user: #3b82f6;
    --danger: #ef4444;
}

/* ── 2. 全局底色 · 弥散光渐变 ── */
[data-theme="light"] body {
    color: var(--text-main);
    background: linear-gradient(135deg, #e8eeff 0%, #f4f0ff 35%, #eef6ff 65%, #f0f4ff 100%);
    background-attachment: fixed;
}

/* ── 3. 导航栏 ── */
[data-theme="light"] .navbar-wrapper { box-shadow: var(--navbar-shadow); }
[data-theme="light"] .navbar-top { background: var(--navbar-top-bg); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(180,200,240,0.35); position: relative; z-index: 10; }
[data-theme="light"] .navbar-logo, [data-theme="light"] .navbar-logo a { color: #1e293b !important; }
[data-theme="light"] .logo-sub { color: #64748b !important; }
[data-theme="light"] .server-id-tag { color: #94a3b8; background: rgba(100,140,220,0.08); border-color: rgba(100,140,220,0.15); }
[data-theme="light"] .server-id-tag:hover { color: #475569; background: rgba(100,140,220,0.12); border-color: rgba(100,140,220,0.25); }
[data-theme="light"] .navbar-tabs { background: var(--navbar-tabs-bg); backdrop-filter: blur(8px); }
[data-theme="light"] .nav-tab { color: #5a6a7e; }
[data-theme="light"] .nav-tab:hover { background: rgba(100,140,220,0.1); color: #1e293b; }
[data-theme="light"] .nav-tab.active { background: linear-gradient(135deg, #f59e0b, #f97316); color: #fff; font-weight: 700; }

/* ── 4. 用户信息栏 ── */
[data-theme="light"] .user-info-compact .btn-small { border-color: rgba(100,140,220,0.2); color: #374151; }
[data-theme="light"] .user-info-compact .btn-small:hover { background: rgba(100,140,220,0.08); }
[data-theme="light"] .username { color: #1e293b; }
[data-theme="light"] .user-id { color: #94a3b8; }
[data-theme="light"] .points-badge { background: rgba(59,130,246,0.08); border-color: rgba(59,130,246,0.22); }
[data-theme="light"] .points-badge .value { color: #2563eb; }
[data-theme="light"] .points-badge .icon { color: #3b82f6; text-shadow: none; }
[data-theme="light"] .points-badge .label { color: #64748b; }
[data-theme="light"] .gold-badge { background: rgba(251,191,36,0.08); border-color: rgba(251,191,36,0.28); }
[data-theme="light"] .gold-badge .value { color: #b45309; text-shadow: none; }
[data-theme="light"] .gold-badge .icon { color: #d97706; text-shadow: none; }
[data-theme="light"] .gold-badge .label { color: #92400e; }
[data-theme="light"] .gold-badge::before { background: linear-gradient(90deg, transparent, rgba(251,191,36,0.15), transparent); }

/* ── 5. 菜单按钮 & 下拉菜单 ── */
[data-theme="light"] .menu-btn { background: rgba(100,140,220,0.1); color: #374151; border-color: rgba(100,140,220,0.2); }
[data-theme="light"] .navbar-top .menu-btn { color: #475569; }
[data-theme="light"] .navbar-top .menu-btn:hover { background: rgba(100,140,220,0.15); color: #1e293b; }
[data-theme="light"] .navbar-top .dropdown-menu:has(.dropdown-content.show) .menu-btn { background: rgba(100,140,220,0.15); color: #f59e0b; border-color: #f59e0b; }
[data-theme="light"] .dropdown-content { background: rgba(255,255,255,0.95); backdrop-filter: blur(12px); border: 1px solid rgba(180,200,240,0.3); box-shadow: 0 8px 32px rgba(100,140,220,0.15); }
[data-theme="light"] .dropdown-content button { color: #374151; }
[data-theme="light"] .dropdown-content button:hover { background: rgba(100,140,220,0.08); color: #1e293b; }

/* ── 6. 导航栏按钮系统 ── */
[data-theme="light"] .navbar-top .btn-small,
[data-theme="light"] .navbar-top .menu-btn { color: #475569; }
[data-theme="light"] .navbar-top .btn-small.btn-secondary { background: rgba(100,140,220,0.08); border-color: rgba(100,140,220,0.2); color: #475569; }
[data-theme="light"] .navbar-top .btn-small.btn-secondary:hover { background: rgba(100,140,220,0.15); border-color: rgba(100,140,220,0.3); color: #1e293b; }
[data-theme="light"] .navbar-top .btn-small#checkInBtn.checked-in { background: rgba(16,185,129,0.1); border-color: #10b981; color: #059669; }
[data-theme="light"] .navbar-top #checkInBtn.btn-icon:not(.checked-in)::after { box-shadow: 0 0 0 2px #fff, 0 0 8px rgba(251,191,36,0.6); }
[data-theme="light"] .navbar-top #checkInBtn.btn-icon.checked-in::after { box-shadow: 0 0 0 2px #fff; }

/* ── 7. 用户头像 ── */
[data-theme="light"] .user-avatar { box-shadow: 0 0 0 2px rgba(100,140,220,0.15); }
[data-theme="light"] .user-avatar.avatar-img { background: #e2e8f0 !important; }
[data-theme="light"] .user-avatar-wrap { background: rgba(100,140,220,0.06); }
[data-theme="light"] .user-avatar-wrap:hover { background: rgba(100,140,220,0.12); border-color: rgba(100,140,220,0.25); }
[data-theme="light"] .avatar-nickname { color: #1e293b; }

/* ── 8. 卡片 · 主内容区 ── */
[data-theme="light"] .card { background: var(--card-bg); backdrop-filter: blur(8px); border-color: rgba(180,200,240,0.3); box-shadow: 0 4px 20px rgba(100,140,220,0.1); }
[data-theme="light"] .card.active-char { border-color: #f59e0b; box-shadow: 0 0 20px rgba(245,158,11,0.15); }
[data-theme="light"] .card.active-outfit { border-color: #ec4899; box-shadow: 0 0 20px rgba(236,72,153,0.15); }
[data-theme="light"] .card.locked { border-color: rgba(180,200,240,0.3); background-image: repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(100,140,220,0.06) 10px, rgba(100,140,220,0.06) 20px); }
[data-theme="light"] .card-header-bar .filter-trigger { background: rgba(100,140,220,0.08); border-color: rgba(100,140,220,0.2); color: #5a6a7e; }
[data-theme="light"] .card-header-bar .filter-trigger:hover { background: rgba(100,140,220,0.12); border-color: #f59e0b; color: #1e293b; }
[data-theme="light"] .card-header-bar .filter-trigger.active-filter { background: rgba(245,158,11,0.1); border-color: #f59e0b; color: #b45309; }
[data-theme="light"] .icon-btn { background: rgba(100,140,220,0.08); border-color: rgba(100,140,220,0.2); color: #5a6a7e; }
[data-theme="light"] .icon-btn:hover { background: #fff; color: #1e293b; border-color: rgba(100,140,220,0.3); box-shadow: 0 2px 8px rgba(100,140,220,0.15); }

/* ── 9. 来源徽章 ── */
[data-theme="light"] .source-badge { border-color: rgba(180,200,240,0.3); }
[data-theme="light"] .source-official { background: rgba(245,158,11,0.1); color: #b45309; }
[data-theme="light"] .source-user { background: rgba(59,130,246,0.1); color: #2563eb; }

/* ── 10. 名称 & Prompt 展示 ── */
[data-theme="light"] .name-display { color: #1e293b; text-shadow: none; }
[data-theme="light"] .prompt-box { background: rgba(240,245,255,0.8); color: #334155; border-color: rgba(180,200,240,0.3); box-shadow: inset 0 1px 3px rgba(100,140,220,0.08); }

/* ── 11. 大按钮 ── */
[data-theme="light"] .big-btn { box-shadow: 0 4px 12px rgba(100,140,220,0.15); }
[data-theme="light"] .btn-roll-char { background: linear-gradient(135deg, #fbbf24, #f59e0b); color: #78350f; }
[data-theme="light"] .btn-roll-outfit { background: linear-gradient(135deg, #f472b6, #ec4899); color: #fff; }
[data-theme="light"] .btn-mix-all { background: linear-gradient(135deg, #8b5cf6, #7c3aed); }

/* ── 12. 混合区域 ── */
[data-theme="light"] .mix-section { background: rgba(255,255,255,0.7); backdrop-filter: blur(8px); border-color: rgba(180,200,240,0.3); }
[data-theme="light"] .final-prompt { background: rgba(240,245,255,0.8); color: #334155; border-color: rgba(180,200,240,0.3); }
[data-theme="light"] .final-prompt-title { color: #1e293b; }
[data-theme="light"] .final-prompt-hint { color: #94a3b8; }

/* ── 13. 筛选区 ── */
[data-theme="light"] .filter-section-title { color: #64748b; }
[data-theme="light"] .filter-chip { background: rgba(255,255,255,0.7); color: #475569; border: 1px solid rgba(180,200,240,0.3); }
[data-theme="light"] .filter-chip:hover { background: rgba(100,140,220,0.1); border-color: rgba(100,140,220,0.3); color: #1e293b; }
[data-theme="light"] .filter-chip.active { background: linear-gradient(135deg, #f59e0b, #f97316); color: #fff; border-color: #f59e0b; box-shadow: 0 2px 8px rgba(245,158,11,0.3); }

/* ── 14. 评论区 ── */
[data-theme="light"] .message-board { background: rgba(255,255,255,0.7); backdrop-filter: blur(8px); border-color: rgba(180,200,240,0.3); box-shadow: 0 4px 20px rgba(100,140,220,0.08); }
[data-theme="light"] .comment-header { border-bottom-color: rgba(180,200,240,0.3); }
[data-theme="light"] .comment-title { color: #1e293b; }
[data-theme="light"] .comment-count { color: #94a3b8; }
[data-theme="light"] .comment-empty { color: #94a3b8; }
[data-theme="light"] .comment-thread { background: rgba(240,245,255,0.6); border-color: rgba(180,200,240,0.2); }
[data-theme="light"] .comment-thread:hover { border-color: rgba(180,200,240,0.4); }
[data-theme="light"] .comment-nickname { color: #2563eb; }
[data-theme="light"] .comment-time { color: #94a3b8; }
[data-theme="light"] .comment-content { color: #334155; }
[data-theme="light"] .comment-quote { background: rgba(59,130,246,0.06); border-left-color: #3b82f6; }
[data-theme="light"] .comment-quote-at { color: #2563eb; }
[data-theme="light"] .comment-quote-text { color: #64748b; }
[data-theme="light"] .comment-action-btn { color: #94a3b8; }
[data-theme="light"] .comment-action-btn:hover { background: rgba(100,140,220,0.1); color: #334155; }
[data-theme="light"] .reply-container { border-left-color: rgba(59,130,246,0.2); }
[data-theme="light"] .message-list::-webkit-scrollbar-thumb { background: rgba(100,140,220,0.2); }

/* ── 15. 评论输入区 ── */
[data-theme="light"] .replying-bar { background: rgba(59,130,246,0.06); border-color: rgba(59,130,246,0.2); color: #2563eb; }
[data-theme="light"] .replying-bar-quote { color: #64748b; }
[data-theme="light"] .replying-bar-close { color: #94a3b8; }
[data-theme="light"] .replying-bar-close:hover { color: #ef4444; }
[data-theme="light"] .message-input-area { background: rgba(240,245,255,0.8); border-color: rgba(180,200,240,0.3); }
[data-theme="light"] .message-input-area:focus-within { border-color: #7c3aed; box-shadow: 0 0 0 2px rgba(124,58,237,0.12); }
[data-theme="light"] .message-input { color: #1e293b; }
[data-theme="light"] .message-input::placeholder { color: #94a3b8; }
[data-theme="light"] .message-counter { color: #94a3b8; }

/* ── 16. 页脚 ── */
[data-theme="light"] footer { color: #94a3b8; }
[data-theme="light"] .wechat-box { background: rgba(16,185,129,0.08); color: #059669; }

/* ── 17. 模态框 / 弹窗 ── */
[data-theme="light"] .modal-overlay { background: rgba(100,120,180,0.4); backdrop-filter: blur(12px); }
[data-theme="light"] .modal { background: rgba(255,255,255,0.95); backdrop-filter: blur(12px); border-color: rgba(180,200,240,0.3); box-shadow: 0 20px 60px rgba(100,140,220,0.2); }
[data-theme="light"] .modal h2 { color: #1e293b; }
[data-theme="light"] .modal input,
[data-theme="light"] .modal select,
[data-theme="light"] .modal textarea { background: rgba(240,245,255,0.8); border-color: rgba(180,200,240,0.3); color: #1e293b; }
[data-theme="light"] .modal input:focus { border-color: #3b82f6; box-shadow: 0 0 0 2px rgba(59,130,246,0.12); }
[data-theme="light"] .close-btn { color: #94a3b8; }
[data-theme="light"] .close-btn:hover { color: #1e293b; }
[data-theme="light"] .filter-scroll-area::-webkit-scrollbar-thumb { background: rgba(100,140,220,0.2); }

/* ── 18. 抽屉弹窗 (反馈/邮件等) ── */
[data-theme="light"] .drawer-chip { background: rgba(100,140,220,0.08); border-color: rgba(180,200,240,0.3); color: #475569; }
[data-theme="light"] .drawer-action-btn { background: rgba(255,255,255,0.8); border-color: rgba(180,200,240,0.3); color: #475569; }
[data-theme="light"] .drawer-textarea,
[data-theme="light"] .drawer-input { background: rgba(240,245,255,0.8); border-color: rgba(180,200,240,0.3); color: #1e293b; }
[data-theme="light"] .drawer-textarea:focus,
[data-theme="light"] .drawer-input:focus { border-color: #818cf8; box-shadow: 0 0 0 3px rgba(99,102,241,0.1); background: rgba(245,248,255,0.9); }
[data-theme="light"] .drawer-secondary-btn { background: rgba(100,140,220,0.08); color: #475569; border-color: rgba(180,200,240,0.3); }
[data-theme="light"] .drawer-primary-btn { box-shadow: 0 8px 20px rgba(99,102,241,0.2); }
[data-theme="light"] .mail-feedback-header { background: rgba(240,245,255,0.9); border-bottom-color: rgba(180,200,240,0.3); }
[data-theme="light"] .mail-feedback-badge { background: rgba(100,140,220,0.08); color: #64748b; }
[data-theme="light"] .mail-feedback-helper { color: #64748b; }
[data-theme="light"] .feedback-highlight { background: linear-gradient(135deg, rgba(99,102,241,0.08), rgba(139,92,246,0.06)); border-color: rgba(129,140,248,0.2); color: #334155; }
[data-theme="light"] .feedback-label { color: #1e293b; }
[data-theme="light"] .feedback-label-helper { color: #64748b; }
[data-theme="light"] .feedback-option { background: rgba(240,245,255,0.8); border-color: rgba(180,200,240,0.3); color: #475569; }
[data-theme="light"] .feedback-option:hover { background: rgba(240,245,255,1); border-color: rgba(99,102,241,0.4); }
[data-theme="light"] .feedback-count { color: #94a3b8; }
[data-theme="light"] .mail-feedback-tip-gold { background: rgba(251,191,36,0.08); border-bottom-color: rgba(251,191,36,0.15); color: #92400e; }
[data-theme="light"] .mail-feedback-tip-violet { background: rgba(99,102,241,0.06); border-bottom-color: rgba(129,140,248,0.15); color: #4338ca; }

/* ── 19. 投稿表单 ── */
[data-theme="light"] .form-label { color: #64748b; }
[data-theme="light"] .input-modern { background: rgba(240,245,255,0.8); border-color: rgba(180,200,240,0.3); color: #1e293b; }
[data-theme="light"] .input-modern:focus { border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59,130,246,0.1); background: rgba(245,248,255,0.9); }
[data-theme="light"] .toggle-group { background: rgba(240,245,255,0.8); border-color: rgba(180,200,240,0.3); }
[data-theme="light"] .toggle-btn { color: #64748b; }
[data-theme="light"] .toggle-group input:checked + .toggle-btn { background: rgba(255,255,255,0.9); color: #1e293b; box-shadow: 0 1px 3px rgba(100,140,220,0.15); }

/* ── 20. 排行榜 ── */
[data-theme="light"] .rank-card { background: rgba(255,255,255,0.8); backdrop-filter: blur(6px); border-color: rgba(180,200,240,0.3); }
[data-theme="light"] .rank-card:hover { border-color: rgba(100,140,220,0.4); background: rgba(255,255,255,0.9); }
[data-theme="light"] .rank-card-name { color: #1e293b; }
[data-theme="light"] .rank-likes { color: #e11d48; }
[data-theme="light"] .rank-info { color: #64748b; }
[data-theme="light"] .rank-prompt { background: rgba(240,245,255,0.8); color: #334155; }
[data-theme="light"] .leaderboard-scroll::-webkit-scrollbar-thumb { background: rgba(100,140,220,0.2); }
[data-theme="light"] .leaderboard-scroll::-webkit-scrollbar-track { background: transparent; }
[data-theme="light"] .btn-like { background: rgba(239,68,68,0.06); color: #dc2626; border-color: rgba(239,68,68,0.2); }
[data-theme="light"] .btn-like:hover, [data-theme="light"] .btn-like.liked { background: #ef4444; color: #fff; }

/* ── 21. 付费解锁 ── */
[data-theme="light"] .prompt-wrapper { background: rgba(240,245,255,0.8); }
[data-theme="light"] .blur-secret { background: repeating-linear-gradient(45deg, rgba(180,200,240,0.2), rgba(180,200,240,0.2) 10px, rgba(200,215,245,0.3) 10px, rgba(200,215,245,0.3) 20px); }
[data-theme="light"] .unlock-mask { background: rgba(255,255,255,0.5); }
[data-theme="light"] .unlock-mask:hover { background: rgba(255,255,255,0.65); }
[data-theme="light"] .unlock-btn-inner { background: rgba(255,255,255,0.85); backdrop-filter: blur(6px); border-color: #f59e0b; color: #92400e; }
[data-theme="light"] .unlock-mask:hover .unlock-btn-inner { background: linear-gradient(135deg, #f59e0b, #fbbf24); color: #78350f; box-shadow: 0 0 15px rgba(245,158,11,0.3); }

/* ── 22. 画廊角色名标签 ── */
[data-theme="light"] .gallery-char-label { color: #334155; background: linear-gradient(135deg, rgba(99,102,241,0.08), rgba(168,85,247,0.08)); border-color: rgba(139,92,246,0.2); }
[data-theme="light"] .gallery-char-label:hover { background: linear-gradient(135deg, rgba(99,102,241,0.15), rgba(168,85,247,0.15)); border-color: rgba(168,85,247,0.4); color: #1e293b; }

/* ── 23. 充值弹窗套餐 ── */
[data-theme="light"] .pay-package-item { background: rgba(255,255,255,0.7); border-color: rgba(180,200,240,0.3); }
[data-theme="light"] .pay-package-item:hover { background: rgba(255,255,255,0.9); border-color: rgba(100,140,220,0.3); box-shadow: 0 4px 12px rgba(100,140,220,0.1); }
[data-theme="light"] .pay-package-item.recommend:hover { background: rgba(16,185,129,0.06); border-color: #059669; box-shadow: 0 4px 15px rgba(5,150,105,0.12); }
[data-theme="light"] .pay-package-item.active { background: rgba(16,185,129,0.1) !important; border-color: #10b981 !important; box-shadow: 0 4px 20px rgba(16,185,129,0.15); }
[data-theme="light"] .pay-package-item.active .pkg-title { color: #1e293b; }
[data-theme="light"] .pay-package-item.active .pkg-desc { color: #059669; }
[data-theme="light"] .pkg-title { color: #1e293b; }
[data-theme="light"] .pkg-desc { color: #64748b; }
[data-theme="light"] .pkg-price { color: #059669; }
[data-theme="light"] .currency-intro { background: rgba(240,245,255,0.8); border-color: rgba(180,200,240,0.3); }
[data-theme="light"] .currency-intro-item { color: #475569; }
[data-theme="light"] .currency-intro-sep { color: rgba(180,200,240,0.5); }

/* ── 24. AI 生图区域 ── */
[data-theme="light"] .ai-size-btn, [data-theme="light"] .ai-model-btn { background: rgba(255,255,255,0.7); border-color: rgba(180,200,240,0.3); color: #475569; }
[data-theme="light"] .ai-size-btn:hover, [data-theme="light"] .ai-model-btn:hover { border-color: #f59e0b; background: rgba(255,255,255,0.9); }
[data-theme="light"] .ai-size-btn.active, [data-theme="light"] .ai-model-btn.active { background: rgba(245,158,11,0.08); border-color: #f59e0b; box-shadow: 0 0 10px rgba(245,158,11,0.15); }
[data-theme="light"] .ai-model-thumb-wrap { background: #e2e8f0; }
[data-theme="light"] .ai-model-title { color: #334155; }
[data-theme="light"] .ai-model-btn.active .ai-model-title { color: #92400e; }
[data-theme="light"] .ai-model-sub { color: #94a3b8; }

/* ── 25. Lora 列表 ── */
[data-theme="light"] .lora-item { background: rgba(255,255,255,0.7); border-color: rgba(180,200,240,0.3); }
[data-theme="light"] .lora-item:hover { border-color: rgba(100,140,220,0.3); background: rgba(255,255,255,0.9); }
[data-theme="light"] .lora-item.selected { background: rgba(245,158,11,0.06); border-color: #f59e0b; box-shadow: 0 0 8px rgba(245,158,11,0.1); }
[data-theme="light"] .lora-item-title { color: #334155; }
[data-theme="light"] .lora-item.selected .lora-item-title { color: #92400e; }
[data-theme="light"] .lora-item-desc { color: #94a3b8; }
[data-theme="light"] .lora-thumb-wrap { background: #e2e8f0; }
[data-theme="light"] .lora-weight-area { border-top-color: rgba(180,200,240,0.2); }
[data-theme="light"] .ai-lora-header { background: linear-gradient(135deg, #ede9fe, #e0e7ff); border-color: rgba(129,140,248,0.3); box-shadow: 0 0 12px rgba(99,102,241,0.1); }
[data-theme="light"] .ai-lora-header:hover { background: linear-gradient(135deg, #e0e7ff, #ddd6fe); box-shadow: 0 0 16px rgba(99,102,241,0.15); }
[data-theme="light"] .ai-lora-title { color: #4338ca; }
[data-theme="light"] .ai-lora-summary-badge { background: rgba(99,102,241,0.12); color: #4338ca; }
[data-theme="light"] .ai-lora-toggle-icon { color: #6366f1; }

/* ── 26. AI 生图按钮 ── */
[data-theme="light"] #aiGenerateBtn:disabled { background: #cbd5e1 !important; color: #94a3b8; }

/* ── 27. 徽章系统 ── */
[data-theme="light"] .badge-grid { background: rgba(240,245,255,0.8); border-color: rgba(180,200,240,0.3); }
[data-theme="light"] .badge-item { border-color: rgba(180,200,240,0.3); color: #5a6a7e; }
[data-theme="light"] .badge-item:hover { border-color: rgba(100,140,220,0.4); color: #1e293b; background: rgba(100,140,220,0.06); }

/* ── 28. 个人中心 ── */
[data-theme="light"] .profile-close-btn { background: rgba(100,140,220,0.08); color: #475569; border-color: rgba(180,200,240,0.3); }
[data-theme="light"] .profile-close-btn:hover { background: rgba(100,140,220,0.12); border-color: rgba(100,140,220,0.3); color: #1e293b; }

/* ── 29. 开关 ── */
[data-theme="light"] .slider { background-color: #cbd5e1; border-color: rgba(180,200,240,0.3); }

/* ── 30. Prompt 编辑器 ── */
[data-theme="light"] .prompt-editor-container { background: rgba(240,245,255,0.8); border-color: rgba(180,200,240,0.3); }
[data-theme="light"] .tag-wall { background: rgba(255,255,255,0.6); border-color: rgba(180,200,240,0.25); }
[data-theme="light"] .tag-chip { border-color: rgba(180,200,240,0.3); }
[data-theme="light"] .tag-chip .en { color: #334155; }
[data-theme="light"] .tag-chip .cn { color: #64748b; }
[data-theme="light"] .tag-chip:hover { background: rgba(100,140,220,0.08) !important; border-color: rgba(100,140,220,0.3) !important; box-shadow: 0 4px 6px rgba(100,140,220,0.1); }
[data-theme="light"] .tag-chip.disabled { background: rgba(180,200,240,0.1) !important; border-color: rgba(180,200,240,0.2) !important; }
[data-theme="light"] .tag-chip.disabled .en { color: #94a3b8; }

/* ── 31. 支付二维码 ── */
[data-theme="light"] #payment-section { background: rgba(240,245,255,0.8); border-color: rgba(180,200,240,0.3); }
[data-theme="light"] #pay-status { color: #b45309; }

/* ── 32. 主题切换按钮 ── */
[data-theme="light"] .theme-toggle { border-color: rgba(100,140,220,0.2); color: #5a6a7e; }
[data-theme="light"] .theme-toggle:hover { background: rgba(100,140,220,0.08); border-color: rgba(100,140,220,0.3); }

/* ── 33. 邮件系统 ── */
[data-theme="light"] .mail-card { background: rgba(255,255,255,0.7); border-color: rgba(180,200,240,0.3); }
[data-theme="light"] .mail-card.unread { border-left-color: #f59e0b; background: linear-gradient(90deg, rgba(245,248,255,0.9), rgba(255,255,255,0.8)); }
[data-theme="light"] .mail-card:hover { border-color: rgba(100,140,220,0.4); }
[data-theme="light"] .mail-title { color: #1e293b; }
[data-theme="light"] .mail-date { color: #94a3b8; }
[data-theme="light"] .mail-body { color: #334155; background: rgba(240,245,255,0.8); border-left-color: rgba(180,200,240,0.3); }
[data-theme="light"] .mail-btn-claim, [data-theme="light"] .mail-btn-read, [data-theme="light"] .mail-btn-del { background: rgba(100,140,220,0.08); color: #475569; border-color: rgba(180,200,240,0.3); }
[data-theme="light"] .mail-btn-read:hover { background: rgba(100,140,220,0.12); border-color: rgba(100,140,220,0.3); }
[data-theme="light"] .mail-btn-del:hover { background: rgba(239,68,68,0.1); border-color: #ef4444; color: #dc2626; }

/* ── 37. 连接词 & 自定义后缀输入框（内联 style 覆盖） ── */
[data-theme="light"] #magicConnector,
[data-theme="light"] #magicSuffix {
    background: rgba(240,245,255,0.8) !important;
    border: 1px solid rgba(180,200,240,0.3) !important;
    color: #1e293b !important;
}
[data-theme="light"] #magicConnector:focus,
[data-theme="light"] #magicSuffix:focus {
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 2px rgba(59,130,246,0.12);
    background: rgba(245,248,255,0.9) !important;
}
[data-theme="light"] #magicConnector::placeholder,
[data-theme="light"] #magicSuffix::placeholder {
    color: #94a3b8 !important;
}

/* ── 38. AI 一键生图区域（内联 style 覆盖） ── */
[data-theme="light"] .ai-gen-section {
    background: rgba(255,255,255,0.7) !important;
    backdrop-filter: blur(8px);
    border-color: rgba(180,200,240,0.3) !important;
}
/* 生图说明公告框 */
[data-theme="light"] .ai-gen-section div[style*="background:linear-gradient(135deg,#1e3a8a"] {
    background: linear-gradient(135deg, rgba(219,234,254,0.7), rgba(191,219,254,0.6)) !important;
    border-color: rgba(96,165,250,0.35) !important;
}
[data-theme="light"] .ai-gen-section div[style*="background:linear-gradient(135deg,#1e3a8a"] div[style*="color:#dbeafe"] {
    color: #1e40af !important;
}
[data-theme="light"] .ai-gen-section div[style*="background:linear-gradient(135deg,#1e3a8a"] b[style*="color:#fff"] {
    color: #1e3a8a !important;
}
/* 提示词展示面板 */
[data-theme="light"] .ai-gen-section > div[style*="background: #111827"],
[data-theme="light"] .ai-gen-section > div[style*="background:#111827"],
[data-theme="light"] .ai-gen-section div[style*="background: #111827"],
[data-theme="light"] .ai-gen-section div[style*="background:#111827"] {
    background: rgba(240,245,255,0.8) !important;
    border-color: rgba(180,200,240,0.3) !important;
}
/* 提示词显示框 */
[data-theme="light"] #currentPromptDisplay {
    background: rgba(240,245,255,0.6) !important;
    color: #334155 !important;
}
/* 风险提示框 */
[data-theme="light"] #aiGenRiskHint {
    background: rgba(239, 68, 68, 0.06) !important;
    border-color: rgba(239, 68, 68, 0.25) !important;
}
[data-theme="light"] #aiGenRiskHint div[style*="color:#f9fafb"] {
    color: #dc2626 !important;
}
[data-theme="light"] #aiGenRiskHint div[style*="color:#d1d5db"] {
    color: #6b7280 !important;
}
/* 参数面板 */
[data-theme="light"] #aiGenParams {
    background: rgba(240,245,255,0.6) !important;
    border-color: rgba(180,200,240,0.3) !important;
}
/* 自定义尺寸面板 */
[data-theme="light"] #aiGenCustomSizePanel {
    background: rgba(240,245,255,0.6) !important;
    border-color: rgba(180,200,240,0.3) !important;
}
/* 自定义尺寸面板内的深色背景条 */
[data-theme="light"] #aiGenCustomSizePanel div[style*="background:#1f2937"],
[data-theme="light"] #aiGenCustomSizePanel div[style*="background: #1f2937"] {
    background: rgba(240,245,255,0.6) !important;
}
[data-theme="light"] #aiGenCustomSizePanel span[style*="color:#fff"] {
    color: #1e293b !important;
}
/* AI区内小字 */
[data-theme="light"] .ai-gen-section [style*="color:#9ca3af"],
[data-theme="light"] .ai-gen-section [style*="color: #9ca3af"] {
    color: #64748b !important;
}
[data-theme="light"] .ai-gen-section [style*="color:#d1d5db"],
[data-theme="light"] .ai-gen-section [style*="color: #d1d5db"] {
    color: #334155 !important;
}
[data-theme="light"] .ai-gen-section [style*="color:#6b7280"],
[data-theme="light"] .ai-gen-section [style*="color: #6b7280"] {
    color: #94a3b8 !important;
}
/* 说明蓝色面板 */
[data-theme="light"] .ai-gen-section div[style*="background:linear-gradient(135deg,#1e3a8a"] {
    background: linear-gradient(135deg, rgba(59,130,246,0.08), rgba(99,102,241,0.06)) !important;
    border-color: rgba(59,130,246,0.25) !important;
}
[data-theme="light"] .ai-gen-section div[style*="background:linear-gradient(135deg,#1e3a8a"] div[style*="color:#dbeafe"] {
    color: #475569 !important;
}
[data-theme="light"] .ai-gen-section div[style*="background:linear-gradient(135deg,#1e3a8a"] b[style*="color:#fff"] {
    color: #1e293b !important;
}
/* 恢复自动组合按钮 */
[data-theme="light"] #restoreAutoPromptBtn {
    background: rgba(100,140,220,0.08) !important;
    color: #4338ca !important;
    border-color: rgba(99,102,241,0.3) !important;
}
/* 自定义尺寸切换 */
[data-theme="light"] .ai-gen-section div[style*="background:#1a1a2e"],
[data-theme="light"] .ai-gen-section div[style*="background: #1a1a2e"],
[data-theme="light"] .ai-gen-section div[style*="background:#0f172a"],
[data-theme="light"] .ai-gen-section div[style*="background: #0f172a"] {
    background: rgba(240,245,255,0.6) !important;
}

/* ── 39. 甄选画廊 & 热门风向标 标题行（内联 style 覆盖） ── */
[data-theme="light"] .leaderboard-section .leaderboard-header h3[style*="color:#c0c0c0"] {
    color: #1e293b !important;
}
[data-theme="light"] .leaderboard-section .leaderboard-header h3[style*="color:#fbbf24"] {
    color: #b45309 !important;
}
[data-theme="light"] .leaderboard-section .leaderboard-header span[style*="background:#374151"] {
    background: rgba(100,140,220,0.1) !important;
    color: #5a6a7e !important;
}
[data-theme="light"] .leaderboard-section .leaderboard-header span[style*="color:#6b7280"] {
    color: #94a3b8 !important;
}
[data-theme="light"] .leaderboard-section .leaderboard-header button[style*="color:#6b7280"] {
    color: #94a3b8 !important;
}
[data-theme="light"] .leaderboard-section .leaderboard-header button[style*="color:#6b7280"]:hover {
    color: #475569 !important;
}

/* ── 40. AI 生图 · Lora 面板 & 占位区 & 历史 & 备用链接（内联覆盖） ── */
[data-theme="light"] #aiGenLoraPanel {
    background: rgba(240,245,255,0.6) !important;
    border-color: rgba(129,140,248,0.25) !important;
}
[data-theme="light"] #aiGenPlaceholder {
    background: rgba(240,245,255,0.6) !important;
    border-color: rgba(180,200,240,0.4) !important;
}
[data-theme="light"] #aiGenPlaceholder div[style*="color:#6b7280"] {
    color: #5a6a7e !important;
}
[data-theme="light"] #aiGenPlaceholder a[style*="color:#fbbf24"] {
    color: #b45309 !important;
}
[data-theme="light"] #aiGenHistorySection {
    border-top-color: rgba(180,200,240,0.3) !important;
}
[data-theme="light"] #aiGenHistorySection > summary {
    color: #b45309 !important;
}
[data-theme="light"] #aiGenHistorySection > summary span[style*="color:#6b7280"] {
    color: #94a3b8 !important;
}
[data-theme="light"] #aiGenHistorySection button[style*="background:#374151"] {
    background: rgba(100,140,220,0.1) !important;
    color: #475569 !important;
}
[data-theme="light"] #aiGenHistorySection b[style*="color:#fbbf24"] {
    color: #b45309 !important;
}
[data-theme="light"] #aiGenHistoryList div[style*="color:#6b7280"] {
    color: #94a3b8 !important;
}
/* 备用 LiblibAI 链接 */
[data-theme="light"] .ai-gen-section details[style*="border-top"] {
    border-top-color: rgba(180,200,240,0.3) !important;
}
[data-theme="light"] .ai-gen-section details summary[style*="color:#9ca3af"] {
    color: #94a3b8 !important;
}
[data-theme="light"] .ai-gen-section details a div[style*="background: linear-gradient(135deg, #374151"] {
    background: rgba(240,245,255,0.8) !important;
    border-color: rgba(180,200,240,0.3) !important;
    color: #475569 !important;
}
/* 预设按钮 */
[data-theme="light"] .ai-gen-section button[style*="background:#374151"] {
    background: rgba(100,140,220,0.1) !important;
    color: #475569 !important;
}

/* ── 提示词展示框外层：加强亮色覆盖 ── */
[data-theme="light"] .ai-gen-section > div[style*="border: 2px solid #374151"],
[data-theme="light"] .ai-gen-section > div > div[style*="border: 2px solid #374151"] {
    border-color: rgba(180,200,240,0.35) !important;
    background: rgba(245,248,255,0.85) !important;
}
[data-theme="light"] #currentPromptDisplay {
    background: rgba(235,242,255,0.7) !important;
    color: #334155 !important;
}

/* ── SEO 平台介绍区块亮色适配 ── */
[data-theme="light"] details[style*="background: rgba(17, 24, 39"] {
    background: rgba(255,255,255,0.7) !important;
    border-color: rgba(180,200,240,0.3) !important;
    box-shadow: 0 4px 16px rgba(100,140,220,0.08);
}
[data-theme="light"] details[style*="background: rgba(17, 24, 39"] > summary {
    background: rgba(240,245,255,0.7) !important;
    color: #64748b !important;
    border-bottom-color: rgba(180,200,240,0.2) !important;
}
[data-theme="light"] details[style*="background: rgba(17, 24, 39"] > summary:hover {
    background: rgba(230,238,255,0.8) !important;
    color: #334155 !important;
}
[data-theme="light"] details[style*="background: rgba(17, 24, 39"] > div {
    color: #475569 !important;
}
[data-theme="light"] details[style*="background: rgba(17, 24, 39"] h2,
[data-theme="light"] details[style*="background: rgba(17, 24, 39"] h3 {
    color: #1e293b !important;
}
[data-theme="light"] details[style*="background: rgba(17, 24, 39"] strong {
    color: #334155;
}
[data-theme="light"] details[style*="background: rgba(17, 24, 39"] p[style*="color: #d1d5db"] {
    color: #475569 !important;
}

/* ── 34. 旧导航栏兼容 ── */
[data-theme="light"] .navbar { background: rgba(255,255,255,0.88); backdrop-filter: blur(12px); box-shadow: 0 2px 16px rgba(100,140,220,0.12); }
[data-theme="light"] .btn-small.btn-login { color: #fff !important; }

/* ── 35. 滚动条全局 ── */
[data-theme="light"] ::-webkit-scrollbar-thumb { background: rgba(100,140,220,0.18) !important; }
[data-theme="light"] ::-webkit-scrollbar-track { background: transparent !important; }

/* ── 36. 表单组 ── */
[data-theme="light"] .form-group label { color: #64748b; }

/* 🛡️ 全局防溢出：保证 body/html 绝不水平滚动（移动端"晃动"根因） */
html, body {
    max-width: 100%;
    overflow-x: hidden;
}

body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background-color: var(--bg-color); color: var(--text-main); display: flex; flex-direction: column; align-items: center; min-height: 100vh; margin: 0; padding: 20px; box-sizing: border-box; }

/* ========================================= */
/* 🪙 像素点图标（替代钻石/闪电 emoji）        */
/* ========================================= */
/* 黄金像素点 —— 用于付费货币显示 */
.pixel-icon {
    display: inline-block;
    vertical-align: -3px;           /* 和文字基线对齐 */
    width: 1.2em;                   /* 跟随字号缩放 */
    height: 1.2em;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    image-rendering: pixelated;     /* 保留像素风锐利 */
    image-rendering: -moz-crisp-edges;
    image-rendering: crisp-edges;
    flex-shrink: 0;
}
.pixel-icon.gold {
    background-image: url('assets/icons/gold_pixel.png');
}
.pixel-icon.normal {
    background-image: url('assets/icons/normal_pixel.png');
}
/* 特殊尺寸变体 */
.pixel-icon.sm { width: 0.9em; height: 0.9em; vertical-align: -2px; }
.pixel-icon.lg { width: 1.6em; height: 1.6em; vertical-align: -5px; }
.pixel-icon.xl { width: 48px; height: 48px; vertical-align: middle; }

/* ========================================= */
/* 🗑️ AI 生图历史 · 删除按钮                  */
/* ========================================= */
.ai-gen-del-btn {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 22px;
    height: 22px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    font-size: 14px;
    line-height: 20px;
    font-weight: bold;
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.18s ease, background 0.18s ease, transform 0.12s ease;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ai-gen-cell:hover .ai-gen-del-btn,
.ai-gen-del-btn:focus {
    opacity: 1;
}
.ai-gen-del-btn:hover {
    background: #ef4444;
    transform: scale(1.1);
}
.ai-gen-del-btn:disabled {
    cursor: default;
    opacity: 0.5;
}
/* 移动端：没有 hover，默认始终可见（半透明） */
@media (hover: none) {
    .ai-gen-del-btn { opacity: 0.85; }
}

/* 移动端减小 body padding，并防止任何子元素溢出 */
@media (max-width: 600px) {
    body { padding: 12px; }
}

/* 导航栏 */
.navbar { width: 100%; max-width: 1200px; display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; background: #374151; padding: 15px 20px; border-radius: 12px; box-sizing: border-box; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.3); }
.user-info { font-size: 0.95rem; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.btn-small { padding: 8px 14px; border: none; border-radius: 6px; cursor: pointer; font-size: 0.85rem; font-weight: 600; color: white; transition: 0.2s; white-space: nowrap; }
.btn-small:hover { opacity: 0.9; transform: translateY(-1px); }
.btn-login { background: var(--badge-user); }
.btn-pay { background: #10b981; }
.btn-logout { background: #ef4444; }
/* 下拉菜单样式 */
.dropdown-menu {position: relative;display: inline-block;z-index: 100;}

.dropdown-content {
    display: none;
    position: absolute;
    right: 0;
    top: 100%;
    margin-top: 5px;
    background: #1f2937;
    min-width: 140px;
    box-shadow: 0 8px 16px rgba(0,0,0,0.4);
    border-radius: 8px;
    z-index: 1000;
    border: 1px solid #374151;
    overflow: hidden;
}

.dropdown-content button {
    display: block;
    width: 100%;
    padding: 12px 16px;
    border: none;
    background: transparent;
    color: white;
    text-align: left;
    cursor: pointer;
    font-size: 0.9rem;
    transition: background 0.2s;
}

.dropdown-content button:hover {
    background: #374151;
}

/* 下拉菜单：仅通过 JS 点击 .show 类控制，不用 hover */
.dropdown-content.show {
    display: block;
    animation: dropdownFadeIn 0.15s ease-out;
}

@keyframes dropdownFadeIn {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* hover 已完全去掉，移动端无需额外处理 */

.dropdown-menu > button:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}


/* 筛选区域样式 */
.filter-container { width: 100%; max-width: 1200px; margin-bottom: 20px; display: flex; flex-direction: column; gap: 15px; }
.filter-section-title { font-size: 0.85rem; color: #6b7280; margin-bottom: 5px; text-transform: uppercase; letter-spacing: 1px; font-weight: bold; }
.filter-group { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 15px; }
.filter-chip { background: #374151; color: #d1d5db; padding: 8px 14px; border-radius: 8px; font-size: 0.9rem; cursor: pointer; border: 1px solid transparent; transition: all 0.1s; user-select: none; }
.filter-chip:hover { background: #4b5563; transform: translateY(-1px); }
.filter-chip.active { background: var(--accent-char); color: #000; font-weight: 800; box-shadow: 0 2px 8px rgba(251, 191, 36, 0.4); border-color: var(--accent-char); }

/* 主布局 */
.main-container { display: flex; gap: 20px; width: 100%; max-width: 1200px; flex-wrap: wrap; justify-content: center; }
.card-column { flex: 1; min-width: 300px; display: flex; flex-direction: column; gap: 15px; }

/* 卡片样式 */
.card { background-color: var(--card-bg); border-radius: 1rem; padding: 1.5rem; border: 2px solid #374151; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5); display: flex; flex-direction: column; align-items: center; position: relative; min-height: 320px; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.card.active-char { border-color: var(--accent-char); box-shadow: 0 0 20px rgba(251, 191, 36, 0.2); }
.card.active-outfit { border-color: var(--accent-outfit); box-shadow: 0 0 20px rgba(244, 114, 182, 0.2); }
.card.locked { border-style: dashed; opacity: 0.9; background-image: repeating-linear-gradient(45deg, transparent, transparent 10px, #374151 10px, #374151 20px); }

.card-header-bar { width: 100%; display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; position: relative; z-index: 5; }
.filter-trigger { background: rgba(0, 0, 0, 0.3); border: 1px solid #4b5563; padding: 6px 12px; border-radius: 20px; font-size: 0.85rem; color: #d1d5db; cursor: pointer; display: flex; align-items: center; gap: 6px; transition: all 0.2s; max-width: 140px; }
.filter-trigger:hover { background: #374151; border-color: var(--accent-char); color: white; }
.filter-trigger.active-filter { background: rgba(251, 191, 36, 0.15); border-color: var(--accent-char); color: var(--accent-char); font-weight: bold; }
.card-actions { display: flex; gap: 8px; }
.icon-btn { background: rgba(0,0,0,0.4); border: 1px solid #4b5563; color: #ccc; width: 32px; height: 32px; border-radius: 50%; display: flex; justify-content: center; align-items: center; cursor: pointer; transition: 0.2s; font-size: 1rem; }
.icon-btn:hover { background: white; color: black; }
.icon-btn.active-lock { background: var(--accent-char); color: black; border-color: var(--accent-char); }
.icon-btn.liked { color: #ef4444; border-color: #ef4444; background: rgba(239, 68, 68, 0.1); animation: pulse 0.3s; }

.source-badge { font-size: 0.75rem; padding: 4px 10px; border-radius: 12px; margin-bottom: 10px; margin-top: 25px; font-weight: bold; display: inline-block; }
.source-official { background: rgba(251, 191, 36, 0.2); color: var(--accent-char); border: 1px solid #374151; }
.source-user { background: rgba(59, 130, 246, 0.2); color: #60a5fa; border: 1px solid #3b82f6; }

.name-display { font-size: 1.8rem; font-weight: bold; margin-bottom: 1rem; text-align: center; min-height: 45px; line-height: 1.2; text-shadow: 0 2px 4px rgba(0,0,0,0.5); }
.prompt-box { font-family: 'Consolas', monospace; background-color: #000; padding: 15px; border-radius: 8px; color: #a5f3fc; font-size: 0.9rem; word-break: break-all; height: 120px; overflow-y: auto; width: 100%; text-align: left; opacity: 0.9; border: 1px solid #333; box-shadow: inset 0 2px 4px rgba(0,0,0,0.8); box-sizing: border-box; }

.big-btn { border: none; padding: 18px; border-radius: 10px; font-weight: bold; cursor: pointer; font-size: 1.1rem; width: 100%; text-transform: uppercase; transition: transform 0.1s, filter 0.2s; margin-top: 0px; display: flex; justify-content: center; align-items: center; gap: 10px; box-shadow: 0 4px 6px rgba(0,0,0,0.3); }
.big-btn:active { transform: scale(0.98); }
.big-btn:disabled { opacity: 0.5; cursor: not-allowed; filter: grayscale(1); }
.btn-roll-char { background: linear-gradient(135deg, #fbbf24 0%, #d97706 100%); color: #000; }
.btn-roll-outfit { background: linear-gradient(135deg, #f472b6 0%, #db2777 100%); color: #fff; }
.btn-mix-all { width: 100%; max-width: 1200px; background: linear-gradient(135deg, #8b5cf6 0%, #6d28d9 100%); color: white; margin-top: 20px; font-size: 1.3rem; letter-spacing: 2px; }

.mix-section { width: 100%; max-width: 1200px; margin-top: 20px; background-color: #2d3748; padding: 25px; border-radius: 1rem; border: 2px solid #4b5563; box-sizing: border-box; display: flex; flex-direction: column; gap: 15px;}
.final-prompt { background-color: #111; color: #fff; padding: 20px; border-radius: 8px; width: 100%; min-height: 100px; box-sizing: border-box; border: 1px solid #4b5563; font-family: monospace; font-size: 1rem; line-height: 1.5; resize: vertical; }

/* ========================== 💬 评论区 v3.5 ========================== */
.message-board {
    width: 100%;
    max-width: 1200px;
    margin-top: 30px;
    background: #1f2937;
    padding: 25px;
    border-radius: 16px;
    border: 1px solid #374151;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.2);
}

.comment-header {
    display: flex;
    align-items: baseline;
    gap: 10px;
    border-bottom: 1px solid #374151;
    padding-bottom: 12px;
    margin-bottom: 16px;
}
.comment-title {
    margin: 0;
    font-size: 1.15rem;
    color: #f9fafb;
    font-weight: 700;
}
.comment-count {
    font-size: 0.85rem;
    color: #6b7280;
}
.comment-empty {
    text-align: center;
    color: #6b7280;
    padding: 32px 10px;
    font-size: 0.9rem;
}

.message-list {
    max-height: 500px;
    overflow-y: auto;
    margin-bottom: 16px;
    padding-right: 6px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.message-list::-webkit-scrollbar { width: 6px; }
.message-list::-webkit-scrollbar-thumb { background: #4b5563; border-radius: 3px; }
.message-list::-webkit-scrollbar-track { background: transparent; }

/* 整个楼层 */
.comment-thread {
    background: #111827;
    border-radius: 12px;
    padding: 14px 16px;
    border: 1px solid #1f2937;
    transition: border-color 0.2s;
}
.comment-thread:hover { border-color: #374151; }

/* 单条评论（顶级 + 回复共用） */
.comment-item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}
.comment-item.is-pending { opacity: 0.55; }

.comment-avatar {
    flex-shrink: 0;
    padding-top: 2px;
}

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

.comment-head {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 4px;
    flex-wrap: wrap;
}
.comment-nickname {
    color: var(--accent-char, #93c5fd);
    font-weight: 700;
    font-size: 0.92rem;
    letter-spacing: 0.2px;
}
.comment-badge {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 0.68rem;
    font-weight: 600;
    padding: 1px 7px;
    border-radius: 10px;
    line-height: 1.5;
    letter-spacing: 0.3px;
    white-space: nowrap;
    flex-shrink: 0;
}
.comment-time {
    color: #6b7280;
    font-size: 0.72rem;
    cursor: help;
}

.comment-content {
    color: #e5e7eb;
    font-size: 0.94rem;
    line-height: 1.55;
    word-break: break-word;
    white-space: pre-wrap;
}

/* @某人 的引用块（楼中楼回复时显示原内容片段） */
.comment-quote {
    background: rgba(59, 130, 246, 0.08);
    border-left: 2px solid #3b82f6;
    padding: 6px 10px;
    margin-bottom: 6px;
    border-radius: 4px;
    font-size: 0.8rem;
    line-height: 1.4;
}
.comment-quote-at {
    color: #60a5fa;
    font-weight: 600;
    margin-right: 6px;
}
.comment-quote-text {
    color: #9ca3af;
}

/* 操作按钮：悬浮显示 */
.comment-actions {
    display: flex;
    gap: 10px;
    margin-top: 6px;
    opacity: 0;
    transition: opacity 0.15s;
}
.comment-item:hover .comment-actions,
.comment-item:focus-within .comment-actions { opacity: 1; }
.comment-action-btn {
    background: transparent;
    border: none;
    color: #6b7280;
    font-size: 0.75rem;
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 4px;
    transition: 0.2s;
}
.comment-action-btn:hover { background: #374151; color: #e5e7eb; }
.comment-action-danger:hover { background: rgba(239, 68, 68, 0.18); color: #ef4444; }

/* 回复列表容器（楼中楼） */
.reply-container {
    margin-left: 44px; /* 32px 头像 + 12px gap */
    margin-top: 10px;
    padding-left: 12px;
    border-left: 2px solid rgba(147, 197, 253, 0.2);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* 回复项目稍微瘦一些 */
.comment-item.is-reply .comment-nickname { font-size: 0.86rem; }
.comment-item.is-reply .comment-content { font-size: 0.88rem; }

/* 触屏设备：操作按钮始终可见（没有 hover） */
@media (hover: none) {
    .comment-actions { opacity: 1; }
}

/* =============== 输入区 =============== */
.replying-bar {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    background: rgba(59, 130, 246, 0.08);
    border: 1px solid rgba(59, 130, 246, 0.4);
    color: #93c5fd;
    padding: 10px 12px;
    border-radius: 10px;
    margin-bottom: 10px;
    font-size: 0.8rem;
}
.replying-bar-info { flex: 1; min-width: 0; }
.replying-bar-label { display: block; margin-bottom: 4px; }
.replying-bar-quote {
    color: #9ca3af;
    font-size: 0.75rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.replying-bar-close {
    cursor: pointer;
    font-weight: bold;
    color: #6b7280;
    padding: 0 4px;
    line-height: 1;
    flex-shrink: 0;
}
.replying-bar-close:hover { color: #ef4444; }

.message-input-area {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: #111827;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid #4b5563;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.message-input-area:focus-within {
    border-color: var(--btn-mix, #8b5cf6);
    box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.18);
}
.message-input {
    flex: 1;
    background: transparent;
    border: none;
    color: #f9fafb;
    font-size: 0.95rem;
    font-family: inherit;
    line-height: 1.5;
    outline: none;
    resize: none;
    min-height: 32px;
    max-height: 120px;
    padding: 4px 2px;
}
.message-input::placeholder { color: #6b7280; }

.message-input-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.message-counter {
    font-size: 0.72rem;
    color: #6b7280;
    font-variant-numeric: tabular-nums;
}
.btn-send {
    background: linear-gradient(135deg, #8b5cf6 0%, #6d28d9 100%);
    color: white;
    border: none;
    padding: 7px 22px;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    font-size: 0.88rem;
    transition: 0.2s;
    white-space: nowrap;
}
.btn-send:hover:not(:disabled) { opacity: 0.92; transform: translateY(-1px); }
.btn-send:disabled { cursor: not-allowed; }

/* 窄屏适配 */
@media (max-width: 640px) {
    .message-board { padding: 16px; }
    .reply-container { margin-left: 0; padding-left: 10px; }
    .comment-thread { padding: 12px; }
}


footer { margin-top: 40px; color: #6b7280; font-size: 0.85rem; text-align: center; padding-bottom: 20px; }
.wechat-box { display: inline-block; background: #064e3b; color: #6ee7b7; padding: 4px 10px; border-radius: 4px; margin-left: 5px; font-family: monospace; }

/* 模态框 */
.modal-overlay { 
    display: none; 
    position: fixed; 
    top: 0 !important; 
    left: 0 !important; 
    right: 0 !important;   /* ✅ 添加right和bottom确保完全覆盖 */
    bottom: 0 !important;
    width: 100vw; 
    height: 100vh;
    background: rgba(0,0,0,0.85); 
    z-index: 9999 !important;  /* ✅ 提高z-index */
    justify-content: center; 
    align-items: center; 
    backdrop-filter: blur(8px);
    overflow-y: auto;
    margin: 0 !important;  /* ✅ 确保没有margin */
    padding: 0 !important; /* ✅ 确保没有padding */
}
.modal { background: var(--card-bg); padding: 30px; border-radius: 16px; width: 90%; max-width: 420px; text-align: center; position: relative; border: 1px solid #4b5563; box-shadow: 0 20px 50px rgba(0,0,0,0.7); animation: modalPop 0.3s ease-out; }
.modal-large { max-width: 600px; width: 95%; max-height: 80vh; display: flex; flex-direction: column; padding: 25px; }
@keyframes modalPop { from { transform: scale(0.9); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.modal h2 { margin-top: 0; color: white; font-size: 1.5rem; }
.modal input, .modal select, .modal textarea { width: 100%; padding: 14px; margin: 12px 0; background: #111827; border: 1px solid #4b5563; color: white; border-radius: 8px; box-sizing: border-box; font-size: 1rem; outline: none; }
.modal input:focus { border-color: var(--badge-user); }
.close-btn { position: absolute; top: 15px; right: 20px; cursor: pointer; color: #aaa; font-size: 1.8rem; line-height: 1; }
.close-btn:hover { color: white; }
.filter-scroll-area { flex: 1; overflow-y: auto; text-align: left; padding: 10px 5px; }
.filter-scroll-area::-webkit-scrollbar { width: 6px; }
.filter-scroll-area::-webkit-scrollbar-thumb { background: #4b5563; border-radius: 3px; }

.drawer-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(55, 65, 81, 0.8);
    border: 1px solid rgba(75, 85, 99, 0.9);
    color: #d1d5db;
    font-size: 0.8rem;
}

.drawer-action-btn,
.drawer-secondary-btn,
.drawer-primary-btn {
    border: none;
    border-radius: 12px;
    cursor: pointer;
    transition: transform 0.18s ease, opacity 0.18s ease, background 0.18s ease;
}

.drawer-action-btn {
    margin-left: auto;
    background: rgba(31, 41, 55, 0.95);
    border: 1px solid rgba(75, 85, 99, 0.9);
    color: #e5e7eb;
    padding: 9px 14px;
    font-size: 0.85rem;
}

.drawer-action-btn:hover,
.drawer-secondary-btn:hover,
.drawer-primary-btn:hover {
    transform: translateY(-1px);
}

.mail-feedback-modal {
    width: 92%;
}

.mail-feedback-header {
    background: #1f2937;
    padding: 20px;
    border-bottom: 1px solid #374151;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.mail-feedback-badge {
    font-size: 0.7rem;
    background: #374151;
    padding: 2px 8px;
    border-radius: 10px;
    color: #9ca3af;
}

.mail-feedback-tip {
    padding: 10px 25px;
    font-size: 0.8rem;
    line-height: 1.5;
    border-bottom: 1px solid;
}

.mail-feedback-tip-gold {
    background: rgba(251, 191, 36, 0.1);
    border-bottom-color: rgba(251, 191, 36, 0.2);
    color: #fbbf24;
}

.mail-feedback-tip-violet {
    background: rgba(99, 102, 241, 0.12);
    border-bottom-color: rgba(129, 140, 248, 0.22);
    color: #c4b5fd;
}

.mail-feedback-body {
    padding: 22px 25px 20px;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
}

.mail-modal-list {
    max-height: 48vh;
    overflow-y: auto;
    padding-right: 6px;
}

.mail-modal-list::-webkit-scrollbar,
.feedback-modal-body::-webkit-scrollbar {
    width: 8px;
}

.mail-modal-list::-webkit-scrollbar-thumb,
.feedback-modal-body::-webkit-scrollbar-thumb {
    background: rgba(75, 85, 99, 0.9);
    border-radius: 999px;
}

.mail-feedback-helper {
    margin-top: 14px;
    font-size: 0.78rem;
    line-height: 1.7;
    color: #9ca3af;
}

.feedback-modal-body {
    padding-top: 18px;
}

.feedback-highlight {
    padding: 14px 16px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(79, 70, 229, 0.18), rgba(139, 92, 246, 0.1));
    border: 1px solid rgba(129, 140, 248, 0.28);
    color: #dbeafe;
    font-size: 0.9rem;
    line-height: 1.7;
}

.feedback-section {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.feedback-label {
    font-size: 0.9rem;
    font-weight: 700;
    color: #f3f4f6;
}

.feedback-label-helper {
    color: #9ca3af;
    font-size: 0.78rem;
    font-weight: 500;
}

.feedback-type-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.feedback-option {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 14px;
    background: rgba(17, 24, 39, 0.92);
    border: 1px solid rgba(75, 85, 99, 0.9);
    border-radius: 14px;
    cursor: pointer;
    color: #e5e7eb;
    transition: all 0.18s ease;
}

.feedback-option:hover {
    background: rgba(31, 41, 55, 0.98);
    border-color: rgba(99, 102, 241, 0.6);
}

.feedback-option input {
    width: auto;
    margin: 0;
    accent-color: #8b5cf6;
}

.feedback-option span {
    font-size: 0.92rem;
    font-weight: 600;
}

.drawer-textarea,
.drawer-input {
    width: 100%;
    background: rgba(17, 24, 39, 0.96);
    border: 1px solid rgba(75, 85, 99, 0.92);
    color: #f9fafb;
    border-radius: 14px;
    outline: none;
    box-sizing: border-box;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.drawer-textarea {
    min-height: 180px;
    padding: 14px 16px;
    line-height: 1.7;
    resize: vertical;
    margin: 0;
}

.drawer-input {
    padding: 13px 14px;
    margin: 0;
}

.drawer-textarea:focus,
.drawer-input:focus {
    border-color: rgba(129, 140, 248, 0.95);
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.16);
    background: rgba(15, 23, 42, 0.98);
}

.feedback-count {
    text-align: right;
    font-size: 0.76rem;
    color: #9ca3af;
}

.drawer-actions {
    display: flex;
    gap: 12px;
    padding-top: 16px;
}

.drawer-secondary-btn,
.drawer-primary-btn {
    flex: 1;
    padding: 13px 16px;
    font-size: 0.95rem;
    font-weight: 700;
}

.drawer-secondary-btn {
    background: rgba(55, 65, 81, 0.95);
    color: #e5e7eb;
    border: 1px solid rgba(75, 85, 99, 0.9);
}

.drawer-primary-btn {
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    color: #fff;
    box-shadow: 0 12px 24px rgba(99, 102, 241, 0.28);
}

.mail-feedback-footer {
    padding: 0 25px 22px;
}

@media (max-width: 768px) {
    .mail-feedback-modal {
        width: calc(100vw - 20px);
        max-width: calc(100vw - 20px) !important;
        max-height: 88vh !important;
        border-radius: 16px;
    }

    .mail-feedback-header {
        padding: 16px;
        align-items: flex-start;
    }

    .mail-feedback-tip,
    .mail-feedback-body,
    .mail-feedback-footer {
        padding-left: 16px;
        padding-right: 16px;
    }

    .mail-modal-list {
        max-height: 44vh;
    }

    .feedback-type-grid {
        grid-template-columns: 1fr;
    }

    .drawer-actions {
        flex-direction: column;
    }
}

/* 投稿相关 */
.form-label { display: block; font-size: 0.85rem; color: #9ca3af; margin-bottom: 6px; font-weight: 600; }
.input-modern { width: 100%; background: #111827; border: 1px solid #4b5563; color: white; padding: 12px; border-radius: 8px; font-size: 0.95rem; outline: none; transition: all 0.2s; box-sizing: border-box; }
.input-modern:focus { border-color: var(--badge-user); box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15); background: #0f1522; }
.textarea-modern { font-family: 'Consolas', monospace; line-height: 1.4; resize: vertical; }
.toggle-group { display: flex; background: #111827; padding: 4px; border-radius: 8px; border: 1px solid #4b5563; }
.toggle-group input { display: none; }
.toggle-btn { flex: 1; text-align: center; padding: 8px; cursor: pointer; border-radius: 6px; font-size: 0.9rem; color: #9ca3af; transition: all 0.2s; font-weight: 600; }
.toggle-group input:checked + .toggle-btn { background: #374151; color: white; box-shadow: 0 1px 3px rgba(0,0,0,0.3); }

/* 排行榜 */
.leaderboard-section { width: 100%; max-width: 1200px; margin-top: 30px; }
.leaderboard-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; padding: 0 5px; }
.leaderboard-scroll { 
    display: flex; 
    overflow-x: auto; 
    gap: 15px; 
    padding: 15px 5px 20px 15px; 
    /* scroll-behavior: smooth;  <--- 务必删除这行！JS 驱动滚动时不能开 CSS 平滑 */
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* 针对所有浏览器的滚动条隐藏设置 */
.leaderboard-scroll::-webkit-scrollbar { 
    /* 保持原有的 height: 6px; 属性，但添加 display: none; */
    height: 0px !important; /* 强制高度为 0 */
    display: none; /* 隐藏滚动条 */
}
.leaderboard-scroll::-webkit-scrollbar-thumb { background: #4b5563; border-radius: 3px; }
.leaderboard-scroll::-webkit-scrollbar-track { background: #111827; }

.rank-card { min-width: 260px; background: #1f2937; border: 1px solid #374151; border-radius: 12px; padding: 15px; display: flex; flex-direction: column; justify-content: space-between; transition: transform 0.2s; position: relative; }
.rank-card:hover { transform: translateY(-3px); border-color: #6b7280; background: #252f3f; }
.rank-card-top { display: flex; justify-content: space-between; margin-bottom: 0.5rem; }
.rank-card-name { font-weight: 600; color: var(--text-main); }
.rank-card-bottom { display: flex; justify-content: space-between; align-items: center; }
.rank-likes { color: #ff6b9d; font-size: 0.85rem; }
.rank-badge { position: absolute; top: -8px; left: -8px; width: 24px; height: 24px; background: #ef4444; color: white; border-radius: 50%; text-align: center; line-height: 24px; font-weight: bold; font-size: 0.8rem; box-shadow: 0 2px 4px rgba(0,0,0,0.3); z-index: 2; }
.rank-card:nth-child(n+4) .rank-badge { background: #4b5563; }
.rank-info { font-size: 0.85rem; color: #9ca3af; margin-bottom: 8px; display: flex; justify-content: space-between; }
.rank-prompt { font-family: 'Consolas', monospace; font-size: 0.8rem; color: #e5e7eb; margin-bottom: 12px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.4; background: #111827; padding: 8px; border-radius: 6px; }
.rank-actions { display: flex; justify-content: space-between; align-items: center; }
.btn-like { background: rgba(239, 68, 68, 0.1); color: #fca5a5; border: 1px solid rgba(239, 68, 68, 0.2); padding: 4px 10px; border-radius: 20px; font-size: 0.8rem; cursor: pointer; display: flex; align-items: center; gap: 4px; transition: all 0.2s; }
.btn-like:hover, .btn-like.liked { background: #ef4444; color: white; border-color: #ef4444; }

/* 关键动画 */
@keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.2); } 100% { transform: scale(1); } }

/* ========================================= */
/* 🔥 付费解锁排行榜相关样式 (核心修改) */
/* ========================================= */

/* 提示词容器，用于定位遮罩 */
.prompt-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: 6px;
    margin-bottom: 12px;
    background: #111827; /* 底部背景 */
}

/* 🎨 2026-04-29：画廊角色名标签（替代丑陋的 monospace prompt 展示） */
.gallery-char-wrapper {
    background: transparent;
    padding: 10px 8px 12px;
    display: flex;
    justify-content: center;
    overflow: visible;
}
.gallery-char-label {
    display: inline-block;
    max-width: 100%;
    padding: 7px 16px;
    font-size: 0.88rem;
    font-weight: 600;
    color: #f3f4f6;
    background: linear-gradient(135deg, rgba(99,102,241,0.18), rgba(168,85,247,0.18));
    border: 1px solid rgba(139,92,246,0.35);
    border-radius: 999px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: 0.3px;
    user-select: none;
}
.gallery-char-label:hover {
    background: linear-gradient(135deg, rgba(99,102,241,0.35), rgba(168,85,247,0.35));
    border-color: rgba(168,85,247,0.7);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(139,92,246,0.25);
}
.gallery-char-label:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(139,92,246,0.3);
}

/* 模糊特效 (未解锁时) */
.blur-secret {
    color: transparent; /* 文字透明 */
    text-shadow: 0 0 8px rgba(255, 255, 255, 0.7); /* 以此形成模糊块 */
    filter: blur(4px); /* 模糊滤镜 */
    user-select: none; /* 禁止选中 */
    pointer-events: none; /* 禁止鼠标点击交互 */
    opacity: 0.6;
    background: repeating-linear-gradient(
      45deg,
      #1f2937,
      #1f2937 10px,
      #374151 10px,
      #374151 20px
    ); /* 条纹背景，显得更神秘 */
}

/* 遮罩层：半透明黑底 + 居中按钮 */
.unlock-mask {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4); /* 半透明遮罩 */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10;
    cursor: pointer;
    transition: background 0.2s;
}

.unlock-mask:hover {
    background: rgba(0, 0, 0, 0.6); /* 悬停变暗 */
}

/* 在 style.css 中找到 .unlock-btn-inner 并完全替换 */

.unlock-btn-inner {
    /* 🔥 核心修改：背景改为半透明黑色，不再是刺眼的纯黄 */
    background: rgba(0, 0, 0, 0.6); 
    
    /* 🔥 核心修改：边框和文字使用金色，保留高级感 */
    border: 1px solid var(--accent-char);
    color: var(--accent-char);
    
    padding: 6px 14px;
    border-radius: 20px;
    font-weight: 800;
    font-size: 0.85rem;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
    display: flex;
    align-items: center;
    gap: 6px;
    backdrop-filter: blur(4px); /* 增加毛玻璃特效，更有质感 */
    transition: all 0.2s;
}

/* 🔥 新增：鼠标悬停时才变亮一点，作为交互反馈 */
.unlock-mask:hover .unlock-btn-inner {
    background: var(--accent-char);
    color: black;
    transform: scale(1.05);
    box-shadow: 0 0 15px rgba(251, 191, 36, 0.4);
}

.unlock-mask:hover .unlock-btn-inner {
    transform: scale(1.05);
}

/* 解锁后的文本区域 (移除模糊) */
.rank-prompt.unlocked {
    filter: none;
    color: #e5e7eb;
    text-shadow: none;
    opacity: 1;
    user-select: text; /* 允许复制 */
    pointer-events: auto;
    background: transparent;
    height: auto !important; /* 展开高度 */
    display: block; /* 取消行数限制 */
    -webkit-line-clamp: unset;
}

@media (max-width: 768px) {
    .navbar { flex-direction: column; gap: 15px; padding: 15px; text-align: center; }
    .user-info { flex-wrap: wrap; justify-content: center; gap: 10px; width: 100%; }
    .btn-small { flex: 1; min-width: 80px; }
    .main-container { flex-direction: column; }
    .card { min-height: 280px; }
}

/* 伪装域名标签：看起来像服务器节点或版本号 */
.server-id-tag {
    font-family: 'Consolas', 'Monaco', monospace; /* 代码字体 */
    font-size: 0.8rem;          /* 稍微调大一点点 */
    color: #9ca3af;             /* 浅灰色，在黑底上清晰可见 */
    background: rgba(31, 41, 55, 0.5); /* 半透明深底 */
    border: 1px solid #374151;  /* 加上边框，显得正式 */
    padding: 2px 8px;           /* 增加内边距 */
    border-radius: 4px;         /* 圆角 */
    margin-left: 8px;
    letter-spacing: 0.5px;
    vertical-align: middle;
    cursor: text;               /* 鼠标放上去是文本选择状，暗示可复制 */
    transition: all 0.2s;
}

/* 鼠标悬停时稍微亮一点，增加交互感 */
.server-id-tag:hover {
    color: #e5e7eb;
    border-color: #6b7280;
    background: rgba(31, 41, 55, 0.8);
}

/* ========================================= */
/* 🖼️ 画廊优化 (竖屏适配 + 放大查看) */
/* ========================================= */

/* 1. 调整画廊卡片图片容器 */
/* 将原来的固定高度改为 9:16 比例，完美适配 810x1440 */
#galleryList .rank-card > div:first-child {
    width: 100%;
    height: auto !important; /* 覆盖原来的固定高度 */
    aspect-ratio: 9 / 16;    /* 锁定竖屏比例 */
    cursor: zoom-in;         /* 鼠标放上去显示放大镜 */
    overflow: hidden;
    position: relative;
}

#galleryList .rank-card img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 填满容器 */
    transition: transform 0.3s;
}

#galleryList .rank-card:hover img {
    transform: scale(1.05); /* 悬停微放大特效 */
}

/* 2. 图片放大灯箱 (Lightbox) */
.lightbox-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.75);
    z-index: 10001;
    justify-content: center;
    align-items: center;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    opacity: 0;
    transition: opacity 0.3s;
}

.lightbox-overlay.active {
    display: flex;
    opacity: 1;
}

.lightbox-content {
    max-width: 90%;
    max-height: 90vh;
    border-radius: 8px;
    box-shadow: 0 0 20px rgba(0,0,0,0.5);
    border: 2px solid #333;
}

.lightbox-close {
    position: absolute;
    top: 20px;
    right: 30px;
    color: white;
    font-size: 3rem;
    cursor: pointer;
    font-weight: bold;
    z-index: 2001;
    transition: color 0.2s;
}

.lightbox-close:hover {
    color: var(--danger);
}

.lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.15);
    border: none;
    color: white;
    font-size: 2rem;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
    z-index: 2001;
    user-select: none;
}

.lightbox-nav:hover {
    background: rgba(255, 255, 255, 0.3);
}

.lightbox-nav.prev { left: 20px; }
.lightbox-nav.next { right: 20px; }

.lightbox-counter {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.85rem;
    background: rgba(0, 0, 0, 0.4);
    padding: 4px 14px;
    border-radius: 20px;
    z-index: 2001;
}

/* ========================================= */
/* 🖼️ 画廊显示优化 (缩小尺寸 + 统一大小) */
/* ========================================= */

/* 1. 强制限制画廊卡片的宽度 */
/* 这里的 180px 是关键，调整它就能控制整体大小 */
#galleryList .rank-card {
    min-width: 180px !important;  /* 覆盖原本的 240px/280px */
    width: 180px !important;      /* 固定宽度，确保整齐 */
    flex: 0 0 auto;               /* 防止被挤压 */
    padding: 10px;                /* 稍微减小内边距，显得更紧凑 */
}

/* 2. 确保图片容器严格遵守 9:16 比例 */
#galleryList .rank-card > div:first-child {
    width: 100%;
    aspect-ratio: 9 / 16;         /* 锁定竖屏比例，图片绝对不会变形 */
    height: auto !important;      
    border-radius: 6px;           /* 给图片加个小圆角 */
    overflow: hidden;
    background: #000;             /* 图片加载前的背景色 */
}

/* 3. 优化文字区域，防止小卡片里文字换行太丑 */
#galleryList .rank-info {
    font-size: 0.75rem;           /* 字体稍微改小一点 */
    margin-bottom: 5px;
}

#galleryList .rank-card .unlock-btn-inner {
    padding: 4px 10px;            /* 按钮也稍微缩小一点 */
    font-size: 0.75rem;
}

/* ========================================= */
/* 💳 充值弹窗套餐样式优化 (Pro版) */
/* ========================================= */

/* 1. 列表容器：强制垂直排列 */
.pay-list {
    display: flex;
    flex-direction: column; /* 关键：垂直排列 */
    gap: 8px; /* 卡片之间的间距 */
    margin-bottom: 20px;
}

/* 2. 单个套餐卡片 */
.pay-package-item {
    cursor: pointer;
    display: flex;
    justify-content: space-between; /* 左右分布 */
    align-items: center;
    padding: 15px;
    background: rgba(31, 41, 55, 0.5); /* 半透明深色背景 */
    border: 1px solid #374151;
    border-radius: 10px; /* 圆角 */
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

/* 悬停效果 */
.pay-package-item:hover {
    background: #374151;
    border-color: #6b7280;
    transform: translateY(-2px); /* 微微上浮 */
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}

/* 激活状态 (点击时) */
.pay-package-item:active {
    transform: scale(0.98);
}

/* 3. 推荐套餐 (标准包) - 默认样式 */
.pay-package-item.recommend {
    /* 🔥 核心修改：去除默认的绿色背景和发光边框 */
    background: rgba(31, 41, 55, 0.5); 
    border-color: #374151; /* 恢复成和其他卡片一样的边框 */
    box-shadow: none;      /* 去掉发光 */
}

/* 交互优化：只有鼠标悬停时，才显示淡淡的绿色，提示它是特别的 */
.pay-package-item.recommend:hover {
    background: rgba(16, 185, 129, 0.1); /* 悬停微绿 */
    border-color: #059669;               /* 边框变绿 */
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(5, 150, 105, 0.2); /* 绿色投影 */
}

/* 4. 推荐标签 (右上角) - 保持不变，这是唯一的默认区别 */
.recommend-badge {
    position: absolute;
    top: 0;
    right: 0;
    background: #059669; /* 保持绿色标签 */
    color: white;
    font-size: 0.6rem;
    padding: 2px 6px;
    border-bottom-left-radius: 6px;
    font-weight: bold;
    z-index: 2;
    box-shadow: -1px 1px 2px rgba(0,0,0,0.2); /* 加一点小投影增加立体感 */
}

/* 5. 内部文字样式优化 */
.pkg-title { color: #f3f4f6; font-weight: bold; font-size: 1rem; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pkg-desc { font-size: 0.75rem; color: #9ca3af; margin-top: 4px; }
.pkg-price { color: #10b981; font-weight: 800; font-size: 1.1rem; }

/* ========================================= */
/* 🎯 2026-05-05 重构：套餐卡片"两种点数"独立 badge */
/*    彻底区分普通点数 vs 黄金点数，避免视觉混淆   */
/* ========================================= */

/* ── 充值页顶部：两种点数对比介绍区（紧凑一行版） ── */
.currency-intro {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px 14px;
    background: rgba(31, 41, 55, 0.5);
    border: 1px solid #374151;
    border-radius: 10px;
    padding: 10px 14px;
    margin: 0 0 16px 0;
    font-size: 0.82rem;
    line-height: 1.5;
}

.currency-intro-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #cbd5e1;
    white-space: nowrap;
}

.currency-intro-item .coin-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.currency-intro-item b {
    font-weight: 700;
}

.currency-intro-item.normal b { color: #93c5fd; }
.currency-intro-item.gold   b { color: #fbbf24; }

.currency-intro-sep {
    color: #4b5563;
    font-size: 0.9rem;
    user-select: none;
}

@media (max-width: 520px) {
    .currency-intro { flex-direction: column; align-items: flex-start; }
    .currency-intro-sep { display: none; }
}


/* ── 自定义点数 icon（无图片时自动 fallback 到 CSS 圆点） ── */
.coin-icon {
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    image-rendering: pixelated;            /* 像素风 icon 锐利显示 */
    image-rendering: crisp-edges;
    /* 默认不加圆框（图片本身已是完整造型）；fallback 时在下方单独加 */
}

.coin-icon.normal {
    background-image: url('assets/icons/normal_pixel.png');
}

.coin-icon.gold {
    background-image: url('assets/icons/gold_pixel.png');
}

/* 图片加载失败的兜底：用 CSS 圆点显示
   (当 background-image 加载失败时，background-color 才显示；加载成功时图片会盖住) */
.coin-icon.normal { background-color: transparent; }
.coin-icon.gold   { background-color: transparent; }

/* badge 内使用小号 icon */
.pkg-badge .coin-icon {
    width: 14px;
    height: 14px;
    margin-right: 2px;
    vertical-align: middle;
}


/* ── 套餐卡片内的 badge ── */
.pkg-currency-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
    align-items: center;
}

.pkg-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    border-radius: 6px;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.2;
    border: 1px solid transparent;
    white-space: nowrap;
}

/* 🔵 普通点数：蓝色（用于签到/抽卡） */
.pkg-badge.normal {
    background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%);
    color: #dbeafe;
    border-color: #3b82f6;
}

/* 🟡 黄金点数：金色（用于 AI 生图/壁纸） */
.pkg-badge.gold {
    background: linear-gradient(135deg, #78350f 0%, #92400e 100%);
    color: #fde68a;
    border-color: #fbbf24;
    box-shadow: 0 0 6px rgba(251, 191, 36, 0.25);
}

/* VIP 档黄金点数加粗闪亮 */
.pkg-badge.gold.vip {
    background: linear-gradient(135deg, #b45309 0%, #d97706 100%);
    color: #fffbeb;
    border-color: #fcd34d;
    box-shadow: 0 0 10px rgba(252, 211, 77, 0.5);
}

/* 老类名兼容保留（其它页面可能还在用） */
.pkg-points { color: #fbbf24; font-weight: 800; }

/* 💎 黄金像素标签（充值套餐内，旧版兼容） */
.pkg-gold {
    background: linear-gradient(135deg, #3d2e0a 0%, #5c4414 100%);
    color: #fde68a;
    font-size: 0.75rem;
    padding: 2px 8px;
    border-radius: 10px;
    border: 1px solid #b8860b;
    font-weight: 700;
    letter-spacing: 0.5px;
    box-shadow: 0 0 6px rgba(251, 191, 36, 0.2);
}
.pkg-gold-vip {
    background: linear-gradient(135deg, #7c5a00 0%, #b8860b 100%);
    color: #fff;
    border-color: #fbbf24;
    animation: gold-pulse 2s ease-in-out infinite;
}
@keyframes gold-pulse {
    0%, 100% { box-shadow: 0 0 6px rgba(251, 191, 36, 0.3); }
    50%      { box-shadow: 0 0 14px rgba(251, 191, 36, 0.7); }
}

/* ============================================ */
/* 🎨 AI 生图 - 尺寸/模型按钮 */
/* ============================================ */
.ai-size-btn, .ai-model-btn {
    background: #1f2937;
    border: 1px solid #374151;
    color: #d1d5db;
    padding: 8px 12px;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
    min-width: 90px;
    text-align: center;
    box-sizing: border-box;
}
.ai-size-btn:hover, .ai-model-btn:hover {
    border-color: #fbbf24;
    background: #2d3748;
}
.ai-size-btn.active, .ai-model-btn.active {
    background: linear-gradient(135deg, #3d2e0a, #5c4414);
    border-color: #fbbf24;
    box-shadow: 0 0 12px rgba(251, 191, 36, 0.25);
}

/* —— 模型按钮卡片布局 —— */
.ai-model-btn {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    flex: 1 1 140px;
    min-width: 130px;
    max-width: 180px;
    padding: 8px;
    gap: 6px;
    text-align: center;
}
/* 图片外框：所有溢出/圆角都在这里 */
.ai-model-thumb-wrap {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    border-radius: 6px;
    background: #0f172a;
    overflow: hidden;          /* 关键：裁掉图片放大时的溢出 */
    position: relative;
}
.ai-model-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}
.ai-model-btn:hover .ai-model-thumb {
    transform: scale(1.05);
}
.ai-model-title {
    font-size: 0.85rem;
    font-weight: 600;
    color: #e5e7eb;
    line-height: 1.2;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ai-model-btn.active .ai-model-title {
    color: #fde68a;
}
.ai-model-sub {
    font-size: 0.65rem;
    color: #6b7280;
    font-family: monospace;
    line-height: 1.1;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* —— Lora 列表缩略图（大图模式） —— */
.lora-thumb-wrap {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    border-radius: 6px;
    background: #0f172a;
    overflow: hidden;
    position: relative;
}
.lora-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}
.lora-item:hover .lora-thumb {
    transform: scale(1.05);
}

/* —— Lora 列表：五列网格布局（桌面）—— */
#aiGenLoraList {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
}
@media (max-width: 768px) {
    #aiGenLoraList {
        grid-template-columns: repeat(3, 1fr);
        gap: 8px;
    }
}
@media (max-width: 480px) {
    #aiGenLoraList {
        grid-template-columns: repeat(2, 1fr);
        gap: 6px;
    }
}

/* —— Lora 卡片（纵向布局，类似模型卡片）—— */
.lora-item {
    background: #111827;
    border: 1px solid #374151;
    border-radius: 8px;
    padding: 8px;
    transition: all 0.2s;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: stretch;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
}
.lora-item:hover {
    border-color: #6b7280;
    background: #1e293b;
}
.lora-item.selected {
    background: rgba(251, 191, 36, 0.1);
    border-color: #fbbf24;
    box-shadow: 0 0 10px rgba(251, 191, 36, 0.15);
}
.lora-item.selected:hover {
    background: rgba(251, 191, 36, 0.14);
}
/* range 内部不触发卡片 cursor */
.lora-item input[type="range"] {
    cursor: pointer;
}
/* Lora 卡片标题区 */
.lora-item-title {
    font-size: 0.8rem;
    font-weight: 600;
    color: #e5e7eb;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: center;
}
.lora-item.selected .lora-item-title {
    color: #fde68a;
}
/* Lora 卡片描述 */
.lora-item-desc {
    font-size: 0.6rem;
    color: #9ca3af;
    line-height: 1.3;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
/* Lora 权重区域 */
.lora-weight-area {
    padding-top: 4px;
    border-top: 1px solid #1f2937;
}

/* —— Lora range 滑块加厚易拖动 + 推荐区间染色 —— */
/* CSS 变量 --rec-min / --rec-max 由 JS 按 Lora 推荐区间计算百分比 */
.lora-weight-slider {
    height: 22px;
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    padding: 0;
    margin: 0;
}
/* WebKit（Chrome/Edge/Safari）轨道：三段渐变 —— 灰色、金色推荐区、灰色 */
.lora-weight-slider::-webkit-slider-runnable-track {
    height: 6px;
    background: linear-gradient(
        to right,
        #374151 0%,
        #374151 var(--rec-min, 0%),
        #fbbf24 var(--rec-min, 0%),
        #fbbf24 var(--rec-max, 100%),
        #374151 var(--rec-max, 100%),
        #374151 100%
    );
    border-radius: 3px;
}
/* Firefox 轨道 */
.lora-weight-slider::-moz-range-track {
    height: 6px;
    background: linear-gradient(
        to right,
        #374151 0%,
        #374151 var(--rec-min, 0%),
        #fbbf24 var(--rec-min, 0%),
        #fbbf24 var(--rec-max, 100%),
        #374151 var(--rec-max, 100%),
        #374151 100%
    );
    border-radius: 3px;
    border: none;
}
/* 圆形滑块头 */
.lora-weight-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    background: #fff;
    border: 2px solid #fbbf24;
    border-radius: 50%;
    cursor: pointer;
    margin-top: -6px;
    box-shadow: 0 0 6px rgba(251, 191, 36, 0.6);
    transition: transform 0.1s;
}
.lora-weight-slider::-moz-range-thumb {
    width: 18px;
    height: 18px;
    background: #fff;
    border: 2px solid #fbbf24;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 0 6px rgba(251, 191, 36, 0.6);
}
.lora-weight-slider::-webkit-slider-thumb:hover {
    transform: scale(1.15);
}
.lora-weight-slider:active::-webkit-slider-thumb {
    transform: scale(1.25);
}
#aiGenerateBtn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(245, 158, 11, 0.5);
}
#aiGenerateBtn:disabled {
    background: #4b5563 !important;
    cursor: not-allowed;
    box-shadow: none;
    transform: none;
}

/* 移动端 AI 生图按钮适配 */
@media (max-width: 767px) {
    .ai-size-btn {
        flex: 1;
        min-width: 70px;
        padding: 6px 8px;
    }
    .ai-model-btn {
        flex: 1 1 calc(50% - 4px);
        min-width: 0;
        max-width: none;
        padding: 6px;
        gap: 5px;
    }
    .ai-model-title { font-size: 0.78rem; }
    .ai-model-sub { font-size: 0.6rem; }
    .lora-thumb-wrap { width: 44px; height: 44px; }
}

/* 超小屏幕（< 420px，比如 iPhone SE 横向有限） */
@media (max-width: 420px) {
    .ai-model-btn {
        padding: 5px;
    }
    .ai-model-title { font-size: 0.72rem; }
}


/* ========================================= */
/* 🎴 Lora 折叠头（v3.5.10 起，醒目卡片风） */
/* ========================================= */
.ai-lora-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 14px;
    background: linear-gradient(135deg, #2e1065 0%, #4338ca 100%);
    border: 1px solid #6366f1;
    border-radius: 10px 10px 0 0;
    cursor: pointer;
    transition: all 0.2s;
    user-select: none;
    -webkit-user-select: none;
    box-shadow: 0 0 14px rgba(99, 102, 241, 0.18);
    position: relative;
    z-index: 1;
}
.ai-lora-header:hover {
    background: linear-gradient(135deg, #3b1598 0%, #5b4ddc 100%);
    box-shadow: 0 0 18px rgba(99, 102, 241, 0.3);
}
.ai-lora-header-left {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
}
.ai-lora-icon {
    font-size: 1.1rem;
}
.ai-lora-title {
    font-size: 0.9rem;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.5px;
}
.ai-lora-summary-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 0.72rem;
    font-weight: bold;
    background: rgba(255, 255, 255, 0.18);
    color: #e0e7ff;
    margin-left: 4px;
    white-space: nowrap;
    transition: all 0.2s;
}
.ai-lora-summary-badge.has-selection {
    background: #fbbf24;
    color: #1f1300;
    box-shadow: 0 0 10px rgba(251, 191, 36, 0.5);
}
.ai-lora-toggle-icon {
    font-size: 0.75rem;
    color: #c7d2fe;
    white-space: nowrap;
    margin-left: 8px;
}

/* 折叠起来时圆角改回去 */
.ai-lora-header.collapsed {
    border-radius: 10px;
}

@media (max-width: 480px) {
    .ai-lora-header { padding: 9px 12px; }
    .ai-lora-title { font-size: 0.82rem; }
    .ai-lora-summary-badge { font-size: 0.68rem; padding: 2px 8px; }
    .ai-lora-toggle-icon { font-size: 0.7rem; }
}


/* ========================================= */
/* ✅ 选中状态 (点击后的固定样式) */
/* ========================================= */
.pay-package-item.active {
    background: rgba(16, 185, 129, 0.2) !important; /* 更明显的绿色背景 */
    border-color: #10b981 !important;                /* 高亮绿色边框 */
    transform: translateY(-2px) scale(1.02);         /* 浮起并微微放大 */
    box-shadow: 0 4px 20px rgba(16, 185, 129, 0.25); /* 绿色光晕 */
    z-index: 10; /* 保证浮起时不被遮挡 */
}


/* 保证选中时的文字颜色也亮起来 */
.pay-package-item.active .pkg-title { color: white; }
.pay-package-item.active .pkg-desc { color: #6ee7b7; }

/* ========================================= */
/* 🏅 2.0版：赛博文字头衔样式 */
/* ========================================= */

.badge-grid {
    display: grid;
    /* 改为每行 3 个，更宽的展示空间 */
    grid-template-columns: repeat(3, 1fr); 
    gap: 12px;
    background: #111827;
    padding: 20px;
    border-radius: 12px;
    border: 1px solid #374151;
    margin-top: 10px;
    max-height: 300px;
    overflow-y: auto;
    box-sizing: border-box;
}

.badge-item {
    /* 长方形铭牌 */
    padding: 10px 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0.9rem;
    font-weight: bold;
    color: var(--text-sub);
    background: transparent;
    border: 1px solid #4b5563;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    letter-spacing: 1px;
    position: relative;
    overflow: hidden;
    /* 🛡️ 防溢出：长徽章名允许换行/缩窄 */
    min-width: 0;
    text-align: center;
    word-break: break-word;
    overflow-wrap: anywhere;
    line-height: 1.2;
    box-sizing: border-box;
}

/* 鼠标悬停 */
.badge-item:hover {
    border-color: #6b7280;
    color: #f3f4f6;
    background: #2d3748;
    transform: translateY(-2px);
}

/* ✅ 选中状态 (高亮铭牌) */
.badge-item.active {
    color: #000; /* 文字变黑 */
    background: linear-gradient(135deg, #fbbf24 0%, #d97706 100%); /* 金色渐变背景 */
    border-color: #fbbf24;
    box-shadow: 0 4px 12px rgba(251, 191, 36, 0.4); /* 金色光晕 */
    transform: scale(1.05);
    z-index: 10;
}

/* 增加一点科技感的装饰线 */
.badge-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 100%;
    background: transparent;
    transition: background 0.2s;
}

.badge-item.active::before {
    background: white; /* 选中时左侧亮条 */
}

/* 📱 移动端：徽章网格缩紧，防止 4 字徽章名撑爆格子 */
@media (max-width: 600px) {
    .badge-grid {
        padding: 10px;
        gap: 6px;
    }
    .badge-item {
        padding: 8px 2px;
        font-size: 0.7rem;
        letter-spacing: 0;
    }
    .badge-item.active {
        transform: scale(1.02);
    }
    /* 个人中心弹窗：内边距收缩 + 防横向溢出 */
    .profile-modal-inner {
        padding: 16px !important;
        border-radius: 12px !important;
    }
    .profile-modal-inner input,
    .profile-modal-inner button {
        max-width: 100%;
    }
}

/* ========================================= */
/* 🎨 个人中心弹窗 · 返回按钮                  */
/* ========================================= */
.profile-close-btn {
    position: absolute;
    top: 12px;
    right: 12px;
    background: #374151;
    color: #d1d5db;
    border: 1px solid #4b5563;
    border-radius: 8px;
    padding: 6px 12px;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, transform 0.1s;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}
.profile-close-btn:hover {
    background: #4b5563;
    border-color: #6b7280;
    color: #fff;
}
.profile-close-btn:active {
    transform: scale(0.95);
}
@media (max-width: 600px) {
    .profile-close-btn {
        top: 10px;
        right: 10px;
        padding: 5px 10px;
        font-size: 0.75rem;
    }
}

/* ========================================= */
/* 🔘 开关样式 (Switch Toggle) */
/* ========================================= */
.switch {
  position: relative;
  display: inline-block;
  width: 46px;
  height: 24px;
}

.switch input { 
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: #374151; /* 默认关闭颜色 */
  transition: .4s;
  border-radius: 24px;
  border: 1px solid #4b5563;
}

.slider:before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 2px;
  bottom: 2px;
  background-color: white;
  transition: .4s;
  border-radius: 50%;
}

/* 选中状态：变绿 */
input:checked + .slider {
  background-color: #10b981;
  border-color: #059669;
}

input:checked + .slider:before {
  transform: translateX(22px);
}

/* ========================================= */
/* 🛠️ Prompt 编辑器 (赛博积木风) */
/* ========================================= */
.prompt-editor-container {
    background: #111827; /* 深色底 */
    border: 1px solid #374151;
    border-radius: 8px;
    padding: 10px;
    margin-top: 10px;
}

.tag-wall {
    background: #0f172a; /* 更深的底，突出标签 */
    border: 1px solid #1f2937;
    border-radius: 6px;
    padding: 10px;
    min-height: 80px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-content: flex-start;
    margin-bottom: 5px;
}

.tag-chip {
    background: transparent; 
    border: 1px solid #4b5563;
    border-radius: 4px;
    padding: 4px 8px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: all 0.15s;
    user-select: none;
    position: relative;
    min-width: 40px;
    /* 🛡️ 长标签自动换行，防止溢出 */
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
    box-sizing: border-box;
}
/* 确保文字颜色不会太亮 */
.tag-chip .en, .tag-chip .cn {
    color: var(--text-sub); /* 字体使用浅灰色 */
}

/* 悬停浮起 */
.tag-chip:hover {
    background: #374151 !important; /* 悬停时忽略背景色 */
    border-color: #9ca3af !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 6px rgba(0,0,0,0.3);
    z-index: 10;
}

/* 激活状态 (JS 会注入颜色) */
.tag-chip.active {
    /* 默认 active 状态只用 CSS 效果，颜色由 JS 注入的 style 负责 */
    box-shadow: 0 0 5px rgba(255,255,255,0.1); 
}

/* 禁用状态 (变灰+删除线) */
.tag-chip.disabled {
    opacity: 0.5;
    filter: grayscale(1);
    background: #000 !important;
    border-style: dashed;
    border-color: #333 !important;
}
.tag-chip.disabled .en { text-decoration: line-through; color: #666; }

/* 字体排版 */
.tag-chip .en {
    font-family: 'Consolas', monospace;
    font-size: 0.85rem;
    color: #e2e8f0;
    font-weight: 600;
    text-align: center;
}

.tag-chip .cn {
    font-size: 0.7rem; /* 中文小一点 */
    color: #94a3b8;
    margin-top: 2px;
    font-weight: normal;
}

/* 右上角删除小按钮 */
.tag-del-btn {
    position: absolute;
    top: -5px;
    right: -5px;
    width: 14px;
    height: 14px;
    background: #ef4444;
    color: white;
    border-radius: 50%;
    font-size: 10px;
    line-height: 14px;
    text-align: center;
    display: none; /* 默认隐藏 */
    z-index: 20;
    box-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

.tag-chip:hover .tag-del-btn {
    display: block; /* 悬停卡片时显示 */
}
.tag-del-btn:hover {
    background: #b91c1c;
    transform: scale(1.2);
}

/* ========================================= */
/* 📝 最终组合 Prompt · 标题栏 & 复制按钮       */
/* ========================================= */
.final-prompt-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    flex-wrap: wrap;
}
.final-prompt-title {
    font-size: 1.1rem;
    font-weight: bold;
    color: #fff;
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
    line-height: 1.3;
}
.final-prompt-hint {
    font-size: 0.7rem;
    font-weight: normal;
    color: #6b7280;
    white-space: nowrap;
}
.final-prompt-copy-btn {
    width: auto !important;
    height: auto !important;
    border-radius: 6px;
    background: #10b981;
    border: 1px solid #059669;
    padding: 6px 12px;
    color: #fff;
    font-size: 0.9rem;
    white-space: nowrap;
    flex-shrink: 0;
    transition: background 0.15s, transform 0.1s;
}
.final-prompt-copy-btn:hover {
    background: #059669;
}
.final-prompt-copy-btn:active {
    transform: scale(0.96);
}

/* 移动端：标题 + 按钮更紧凑，按钮铺满右侧，文字缩小 */
@media (max-width: 600px) {
    .final-prompt-header {
        gap: 8px;
        margin-bottom: 10px;
        align-items: center;
    }
    .final-prompt-title {
        font-size: 0.95rem;
        flex: 1 1 auto;
        min-width: 0;
    }
    .final-prompt-hint {
        font-size: 0.62rem;
        color: #6b7280;
        display: block; /* 小屏换到下一行，不挤标题 */
        margin-top: 2px;
    }
    .final-prompt-copy-btn {
        padding: 6px 10px;
        font-size: 0.8rem;
        flex-shrink: 0;
    }
}


/* ========================================= */
/* 🆕 Prompt 批量编辑工具 列表样式修正 */
/* ========================================= */

/* 1. 列表容器样式 */
.scroll-list {
    /* 确保内部元素能正常垂直堆叠 */
    display: flex;
    flex-direction: column;
}

/* 2. 单个列表行样式 */
.ungrouped-item-row {
    /* 启用 Grid 布局，使其能够按照 JS 中定义的 grid-template-columns 分栏 */
    display: grid;
    /* 默认的行间距和底部分隔线 */
    padding: 8px 10px;
    border-bottom: 1px solid #1f2937;
    cursor: pointer;
    align-items: center; /* 垂直居中内容 */
    transition: background-color 0.15s, border-left 0.15s;
}

.ungrouped-item-row:hover {
    background-color: rgba(255, 255, 255, 0.05);
}

/* 3. 选中状态的视觉反馈 */
.ungrouped-item-row.selected {
    background-color: rgba(16, 185, 129, 0.15); /* 绿色强调色 */
    border-left: 3px solid #10b981;
    padding-left: 7px; /* 补偿 border 宽度，保持内容对齐 */
}

/* 4. 详情展开区域的样式修正 */
.prompt-detail-view {
    /* 确保它作为列表行容器的兄弟元素，可以正常显示 */
    margin: 0;
    padding: 10px 15px 15px;
}

/* 5. 确保输入框和按钮的统一外观（如果之前没定义） */
.input-modern {
    background: #111;
    border: 1px solid #4b5563;
    color: white;
    padding: 8px;
    border-radius: 6px;
    outline: none;
    width: 100%;
    box-sizing: border-box;
}

.form-group label {
    display: block;
    margin-bottom: 5px;
    font-size: 0.9rem;
    color: #9ca3af;
}
/* ========================================= */
/* 💳 支付二维码区域样式 */
/* ========================================= */
#payment-section {
    width: 100%;
    max-width: 380px;
    margin: 20px auto 0;
    padding: 20px;
    text-align: center;
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid #4b5563;
    border-radius: 12px;
    box-sizing: border-box;
}

#pay-status {
    color: #fbbf24;
    font-weight: bold;
    font-size: 1rem;
    margin-bottom: 15px;
}

#qrcode {
    width: 180px;
    height: 180px;
    margin: 0 auto 15px;
    background: white;
    padding: 10px;
    border-radius: 8px;
    display: inline-block;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

#qrcode img {
    width: 100%;
    height: 100%;
    display: block;
}

/* ============================================ */
/* 两级导航栏样式 */
/* ============================================ */
.navbar-wrapper { 
    width: 100%; 
    max-width: 1200px; 
    margin-bottom: 20px; 
    box-shadow: var(--navbar-shadow, 0 4px 6px -1px rgba(0,0,0,0.3)); 
    border-radius: 12px; 
    position: relative;
    z-index: 100;
    /* ⚠️ 不能用 overflow:hidden，否则下拉菜单会被裁切。
       改由内层 navbar-top 和 navbar-tabs 各自带圆角。 */
}
.navbar-wrapper .navbar-top {
    border-radius: 12px 12px 0 0;
}
.navbar-wrapper .navbar-tabs {
    border-radius: 0 0 12px 12px;
    overflow-x: auto;  /* 标签栏允许横向滚动（它原本就要这样） */
}
/* 如果 navbar-wrapper 里只有 navbar-top（没有 tabs 的页面），让它四角圆 */
.navbar-wrapper .navbar-top:last-child {
    border-radius: 12px;
}

/* 🌙/☀️ 主题切换按钮 */
.theme-toggle {
    background: none;
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 8px;
    cursor: pointer;
    font-size: 1.1rem;
    padding: 4px 8px;
    line-height: 1;
    transition: all 0.2s;
    color: var(--text-sub);
    display: flex;
    align-items: center;
    justify-content: center;
}
.theme-toggle:hover {
    background: rgba(255,255,255,0.08);
    border-color: rgba(255,255,255,0.25);
}
[data-theme="light"] .theme-toggle {
    border-color: rgba(0,0,0,0.12);
    color: #64748b;
}
[data-theme="light"] .theme-toggle:hover {
    background: rgba(0,0,0,0.04);
    border-color: rgba(0,0,0,0.2);
}

/* 顶部栏 - 用户信息栏 */
.navbar-top { 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    background: var(--navbar-top-bg, #374151); 
    padding: 12px 20px; 
}

/* ========== Logo 响应式瘦身（v3.3.4） ========== */
/* 小屏下逐步隐藏次要元素：logo-sub → logo-pro → 只剩主名 */
@media (max-width: 600px) {
    .navbar-logo .logo-sub { display: none !important; }
    .navbar-logo .logo-slogan { display: none !important; }
}
@media (max-width: 400px) {
    .navbar-logo .logo-pro { display: none !important; }
}

.navbar-logo { 
    font-weight: 800; 
    font-size: 1.3rem; 
    color: white; 
    display: flex; 
    align-items: center; 
    gap: 10px; 
}
.navbar-logo .logo-sub { color: #9ca3af; font-weight: 400; font-size: 0.75rem; }
.navbar-logo a { display: inline; }
.navbar-logo .logo-slogan {
    font-size: 0.75rem;
    font-weight: 400;
    color: #6b7280;
    border-left: 1px solid #4b5563;
    padding-left: 10px;
    margin-left: 2px;
    letter-spacing: 0.05em;
}
[data-theme="light"] .logo-slogan { color: #94a3b8 !important; border-left-color: rgba(180,200,240,0.4) !important; }

.user-info-compact { 
    display: flex; 
    gap: 15px; 
    align-items: center; 
    font-size: 0.9rem; 
}

.username { 
    color: white; 
    font-weight: 600; 
    cursor: pointer; 
}

.username:hover { 
    text-decoration: underline; 
}

.user-id { 
    color: #9ca3af; 
    font-size: 0.8rem; 
}

.points-badge { 
    display: inline-flex; 
    gap: 5px; 
    align-items: center; 
    background: rgba(59, 130, 246, 0.08);
    padding: 6px 12px; 
    border-radius: 20px; 
    border: 1px solid rgba(59, 130, 246, 0.3);
    transition: all 0.2s ease;
}
.points-badge:hover {
    background: rgba(59, 130, 246, 0.15);
    border-color: rgba(59, 130, 246, 0.5);
}

.points-badge .icon {
    color: #60a5fa;
    font-size: 0.95rem;
    line-height: 1;
    text-shadow: 0 0 6px rgba(96, 165, 250, 0.6);
}

.points-badge .label { 
    color: #9ca3af; 
    font-size: 0.75rem; 
}

.points-badge .value { 
    color: #93c5fd;
    font-weight: 700; 
    font-size: 0.95rem;
    letter-spacing: 0.3px;
}

/* ============================================ */
/* 💎 黄金像素徽章（付费币，用于 AI 生图） */
/* C 站风格：金色闪电 + 数字，呼应蓝色普通点 */
/* ============================================ */
.gold-badge {
    display: inline-flex;
    gap: 5px;
    align-items: center;
    background: rgba(251, 191, 36, 0.08);
    padding: 6px 12px;
    border-radius: 20px;
    border: 1px solid rgba(251, 191, 36, 0.35);
    position: relative;
    overflow: hidden;
    transition: all 0.2s ease;
}
.gold-badge:hover {
    background: rgba(251, 191, 36, 0.18);
    border-color: rgba(251, 191, 36, 0.6);
}

.gold-badge::before {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(251, 191, 36, 0.25), transparent);
    animation: gold-shimmer 4s ease-in-out infinite;
    pointer-events: none;
}

@keyframes gold-shimmer {
    0%   { left: -100%; }
    50%  { left: 150%; }
    100% { left: 150%; }
}

.gold-badge .label {
    color: #fde68a;
    font-size: 0.75rem;
    position: relative;
    z-index: 1;
}

.gold-badge .value {
    color: #fbbf24;
    font-weight: 700;
    font-size: 0.95rem;
    text-shadow: 0 0 6px rgba(251, 191, 36, 0.5);
    letter-spacing: 0.3px;
    position: relative;
    z-index: 1;
}

.gold-badge .icon {
    color: #fbbf24;
    font-size: 0.95rem;
    line-height: 1;
    text-shadow: 0 0 8px rgba(251, 191, 36, 0.7);
    position: relative;
    z-index: 1;
}

/* 双币徽章组合容器 */
.dual-balance {
    display: flex;
    gap: 6px;
    align-items: center;
}

/* 移动端适配 */
@media (max-width: 767px) {
    .gold-badge {
        padding: 4px 8px;
        gap: 4px;
    }
    .gold-badge .label {
        display: none;
    }
}

.navbar-tabs { 
    display: flex; 
    gap: 5px; 
    background: var(--navbar-tabs-bg, #1f2937); 
    padding: 0 15px; 
    align-items: center; 
    overflow-x: auto; 
    scrollbar-width: none; 
}

.navbar-tabs::-webkit-scrollbar { 
    display: none; 
}

.nav-tab { 
    padding: 12px 20px; 
    cursor: pointer; 
    transition: all 0.2s; 
    white-space: nowrap; 
    font-size: 0.9rem; 
    font-weight: 500; 
    color: var(--text-sub); 
    border-radius: 8px 8px 0 0; 
    text-decoration: none; 
    display: flex; 
    align-items: center; 
    gap: 6px; 
}

/* 手机端短文字 / 桌面端长文字 */
.tab-short { display: none; }
.tab-full  { display: inline; }

.nav-tab:hover { 
    background: rgba(251, 191, 36, 0.1); 
    color: var(--text-main); 
}

.nav-tab.active { 
    background: var(--accent-char); 
    color: #000; 
    font-weight: 600; 
}

/* 菜单按钮 */
.menu-btn { 
    padding: 8px 14px; 
    border: none; 
    border-radius: 6px; 
    cursor: pointer; 
    font-size: 0.85rem; 
    font-weight: 600; 
    color: white; 
    background: #4b5563; 
    transition: 0.2s; 
}

.menu-btn:hover { 
    opacity: 0.9; 
    transform: translateY(-1px); 
}

/* "更多"菜单里的签到项：默认隐藏（桌面端用导航栏按钮），移动端才显示 */
.dropdown-content .menu-checkin-mobile {
    display: none;
}
@media (max-width: 768px) {
    .dropdown-content .menu-checkin-mobile {
        display: block;
    }
}

/* ==========================================================
   🎨 导航栏统一按钮系统 v3.2（黑金极简风）
   ==========================================================
   设计原则：
   1. 所有按钮统一 32px 高度、8px 圆角、一致留白
   2. 只有"充值"按钮是主视觉焦点（金色渐变）
   3. 其他按钮（签到/更多/登录）用低饱和的边框风
   4. 不允许 inline style 覆盖（全靠 class）
   ========================================================== */

/* 统一按钮基础样式（覆盖旧版 .btn-small） */
.navbar-top .btn-small,
.navbar-top .menu-btn {
    height: 32px;
    padding: 0 14px;
    border-radius: 8px;
    font-size: 0.82rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    white-space: nowrap;
    border: 1px solid transparent;
    cursor: pointer;
    transition: all 0.2s ease;
    line-height: 1;
    background: transparent;
    color: #d1d5db;
}

/* 次要按钮：签到 / 更多（透明底 + 细边框） */
.navbar-top .btn-small.btn-secondary,
.navbar-top .menu-btn {
    background: rgba(55, 65, 81, 0.5);
    border-color: #4b5563;
    color: #d1d5db;
}
.navbar-top .btn-small.btn-secondary:hover,
.navbar-top .menu-btn:hover {
    background: #4b5563;
    border-color: #6b7280;
    color: #fff;
    transform: translateY(-1px);
    opacity: 1;
}

/* "更多"菜单按钮单独强化（让 ⋮ 更明显 + 确保可点击） */
.navbar-top .menu-btn {
    width: 36px;
    min-width: 36px;
    padding: 4px 0;
    justify-content: center;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: 2px;
    line-height: 1;
    color: #e5e7eb;
    cursor: pointer;
    pointer-events: auto;
    position: relative;
    z-index: 101;
}
.navbar-top .menu-btn:active,
.navbar-top .dropdown-menu .menu-btn.active {
    background: #4b5563;
    color: #fbbf24;
}
/* 菜单打开时按钮高亮 */
.navbar-top .dropdown-menu:has(.dropdown-content.show) .menu-btn {
    background: #4b5563;
    color: #fbbf24;
    border-color: #fbbf24;
}

/* 签到按钮的"已签到"状态 */
.navbar-top .btn-small#checkInBtn.checked-in {
    background: rgba(16, 185, 129, 0.1);
    border-color: #10b981;
    color: #34d399;
    cursor: default;
}
.navbar-top .btn-small#checkInBtn.checked-in:hover {
    transform: none;
    background: rgba(16, 185, 129, 0.12);
}

/* 主按钮：充值（唯一的金色渐变） */
.navbar-top .btn-small.btn-pay,
#loggedBar .btn-small.btn-pay {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    color: #fff !important;
    border-color: transparent;
    box-shadow: 0 2px 8px rgba(245, 158, 11, 0.3);
    font-weight: 700;
}
.navbar-top .btn-small.btn-pay:hover {
    background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
    box-shadow: 0 4px 14px rgba(245, 158, 11, 0.5);
    transform: translateY(-1px);
}

/* 登录按钮：低调紫色 */
.navbar-top .btn-small.btn-login {
    background: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);
    color: #fff !important;
    border-color: transparent;
    box-shadow: 0 2px 8px rgba(99, 102, 241, 0.3);
    font-weight: 700;
}
.navbar-top .btn-small.btn-login:hover {
    background: linear-gradient(135deg, #818cf8 0%, #6366f1 100%);
    transform: translateY(-1px);
}

/* 徽章紧凑化（导航栏场景） */
.navbar-top .points-badge,
.navbar-top .gold-badge {
    height: 32px;
    padding: 0 12px;
    border-radius: 16px;
    font-size: 0.82rem;
    gap: 5px;
}
.navbar-top .points-badge .value,
.navbar-top .gold-badge .value {
    font-size: 0.9rem;
}
.navbar-top .points-badge .icon,
.navbar-top .gold-badge .icon {
    font-size: 0.9rem;
}

/* 用户名紧凑 */
.navbar-top .username {
    cursor: pointer;
    padding: 4px 10px;
    border-radius: 6px;
    transition: background 0.2s;
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.85rem;
}
.navbar-top .username:hover {
    background: rgba(251, 191, 36, 0.1);
}

/* ==========================================================
   👤 用户头像 + 昵称组合（v3.3 新增）
   ========================================================== */
.user-avatar-wrap {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 2px 8px 2px 2px;
    border-radius: 20px;
    transition: all 0.2s ease;
    background: rgba(31, 41, 55, 0.4);
    border: 1px solid transparent;
}
.user-avatar-wrap:hover {
    background: rgba(251, 191, 36, 0.1);
    border-color: rgba(251, 191, 36, 0.3);
    transform: translateY(-1px);
}

/* 首字母头像 */
.user-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    font-size: 0.85rem;
    letter-spacing: 0.5px;
    flex-shrink: 0;
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    box-shadow: 0 0 0 2px rgba(255,255,255,0.05);
    text-transform: uppercase;
    user-select: none;
}

/* 头像颜色变种（按用户ID哈希选择） */
.user-avatar.avatar-0 { background: linear-gradient(135deg, #6366f1, #8b5cf6); }
.user-avatar.avatar-1 { background: linear-gradient(135deg, #ec4899, #f43f5e); }
.user-avatar.avatar-2 { background: linear-gradient(135deg, #10b981, #14b8a6); }
.user-avatar.avatar-3 { background: linear-gradient(135deg, #f59e0b, #ef4444); }
.user-avatar.avatar-4 { background: linear-gradient(135deg, #3b82f6, #06b6d4); }
.user-avatar.avatar-5 { background: linear-gradient(135deg, #a855f7, #d946ef); }
.user-avatar.avatar-6 { background: linear-gradient(135deg, #f97316, #fbbf24); }
.user-avatar.avatar-7 { background: linear-gradient(135deg, #14b8a6, #22d3ee); }

/* 大头像颜色变种（个人中心） */
.user-avatar-large.avatar-0 { background: linear-gradient(135deg, #6366f1, #8b5cf6); }
.user-avatar-large.avatar-1 { background: linear-gradient(135deg, #ec4899, #f43f5e); }
.user-avatar-large.avatar-2 { background: linear-gradient(135deg, #10b981, #14b8a6); }
.user-avatar-large.avatar-3 { background: linear-gradient(135deg, #f59e0b, #ef4444); }
.user-avatar-large.avatar-4 { background: linear-gradient(135deg, #3b82f6, #06b6d4); }
.user-avatar-large.avatar-5 { background: linear-gradient(135deg, #a855f7, #d946ef); }
.user-avatar-large.avatar-6 { background: linear-gradient(135deg, #f97316, #fbbf24); }
.user-avatar-large.avatar-7 { background: linear-gradient(135deg, #14b8a6, #22d3ee); }

/* 图片头像：容器透明背景，img 用 object-fit 填满圆形 */
.user-avatar.avatar-img,
.user-avatar-large.avatar-img {
    background: #374151 !important;
    overflow: hidden;
    padding: 0;
}
.user-avatar.avatar-img img,
.user-avatar-large.avatar-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* 评论区行内小头像（8 色 + 图片） */
.avatar-inline.avatar-0 { background: linear-gradient(135deg, #6366f1, #8b5cf6); }
.avatar-inline.avatar-1 { background: linear-gradient(135deg, #ec4899, #f43f5e); }
.avatar-inline.avatar-2 { background: linear-gradient(135deg, #10b981, #14b8a6); }
.avatar-inline.avatar-3 { background: linear-gradient(135deg, #f59e0b, #ef4444); }
.avatar-inline.avatar-4 { background: linear-gradient(135deg, #3b82f6, #06b6d4); }
.avatar-inline.avatar-5 { background: linear-gradient(135deg, #a855f7, #d946ef); }
.avatar-inline.avatar-6 { background: linear-gradient(135deg, #f97316, #fbbf24); }
.avatar-inline.avatar-7 { background: linear-gradient(135deg, #14b8a6, #22d3ee); }



/* 头像里的紧凑昵称 */
.user-avatar-wrap .avatar-nickname {
    font-size: 0.82rem;
    color: #e5e7eb;
    max-width: 100px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-right: 2px;
}

/* 个人中心里的大头像 */
.user-avatar-large {
    width: 64px;
    height: 64px;
    font-size: 1.8rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    box-shadow: 0 4px 14px rgba(99, 102, 241, 0.3);
    flex-shrink: 0;
    text-transform: uppercase;
    user-select: none;
}

/* ==========================================================
   📅 图标化签到按钮（v3.3）
   ========================================================== */
.navbar-top .btn-small.btn-icon {
    width: 32px;
    min-width: 32px;
    padding: 0;
    justify-content: center;
    font-size: 1rem;
    position: relative;
}
.navbar-top .btn-small.btn-icon.btn-pay {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
}
/* 签到未完成的黄色脉动点 */
.navbar-top #checkInBtn.btn-icon:not(.checked-in)::after {
    content: '';
    position: absolute;
    top: 4px; right: 4px;
    width: 7px; height: 7px;
    background: #fbbf24;
    border-radius: 50%;
    box-shadow: 0 0 0 2px #374151, 0 0 8px rgba(251,191,36,0.6);
    animation: gold-pulse 2s ease-in-out infinite;
}
.navbar-top #checkInBtn.btn-icon.checked-in::after {
    content: '✓';
    position: absolute;
    top: -3px; right: -3px;
    width: 14px; height: 14px;
    line-height: 14px;
    background: #10b981;
    color: #fff;
    border-radius: 50%;
    font-size: 0.65rem;
    font-weight: bold;
    box-shadow: 0 0 0 2px #374151;
}

/* user-info-compact 间距统一 */
.navbar-top .user-info-compact {
    gap: 8px;
}

/* ========== 📱 移动端适配 ========== */
@media (max-width: 768px) {
    .navbar-top .user-info-compact {
        gap: 6px;
    }
    /* 移动端：签到按钮隐藏（收进"更多"菜单） */
    .navbar-top #checkInBtn {
        display: none !important;
    }
    /* 徽章压扁，只显数字 */
    .navbar-top .points-badge,
    .navbar-top .gold-badge {
        height: 30px;
        padding: 0 8px;
        font-size: 0.75rem;
    }
    .navbar-top .points-badge .label,
    .navbar-top .gold-badge .label {
        display: none !important;
    }
    .navbar-top .btn-small,
    .navbar-top .menu-btn {
        height: 30px;
        padding: 0 10px;
        font-size: 0.75rem;
    }
    /* 移动端：头像外层间距更紧凑 + 隐藏昵称文字（只剩头像图标） */
    .navbar-top .user-avatar-wrap {
        padding: 2px;
        gap: 0;
        background: transparent;
    }
    .navbar-top .user-avatar-wrap .avatar-nickname {
        display: none;
    }
    .navbar-top .user-avatar {
        width: 30px;
        height: 30px;
        font-size: 0.8rem;
    }
    /* 移动端：充值按钮变图标（保留"⚡"但隐藏"充值"文字） */
    .navbar-top .btn-small.btn-pay .btn-label {
        display: none;
    }
    .navbar-top .btn-small.btn-pay {
        width: 30px;
        min-width: 30px;
        padding: 0;
        justify-content: center;
    }
    /* 隐藏用户ID */
    .navbar-top .user-id {
        display: none !important;
    }
    /* 用户名更紧凑（兼容老结构） */
    .navbar-top .username {
        max-width: 70px;
        font-size: 0.78rem;
        padding: 3px 8px;
    }
}

@media (max-width: 480px) {
    .navbar-top .user-info-compact {
        gap: 4px;
    }
    .navbar-top .username {
        max-width: 55px;
        font-size: 0.72rem;
    }
    .navbar-top .btn-small,
    .navbar-top .menu-btn {
        height: 28px;
        padding: 0 8px;
        font-size: 0.72rem;
    }
    .navbar-top .points-badge,
    .navbar-top .gold-badge {
        height: 28px;
        padding: 0 8px;
        gap: 3px;
    }
    .navbar-top .points-badge .value,
    .navbar-top .gold-badge .value {
        font-size: 0.78rem;
    }
    .navbar-top .points-badge .icon,
    .navbar-top .gold-badge .icon {
        font-size: 0.8rem;
    }
    .navbar-top .user-avatar {
        width: 28px;
        height: 28px;
        font-size: 0.75rem;
    }
    .navbar-top .btn-small.btn-pay {
        width: 28px;
        min-width: 28px;
    }
    /* 头像外层减小（移动端已经是纯图标，不需要外层 wrap 留白） */
    .navbar-top .user-avatar-wrap {
        padding: 0;
    }
}

/* 极窄屏（<380px，常见机型内容区 240-280px）：终极压缩不换行 */
@media (max-width: 380px) {
    .navbar-top {
        padding: 8px 8px;
        gap: 3px;
    }
    .navbar-top .user-info-compact {
        gap: 3px;
    }
    .navbar-top .points-badge,
    .navbar-top .gold-badge {
        height: 26px;
        padding: 0 6px;
        border-radius: 13px;
    }
    .navbar-top .points-badge .value,
    .navbar-top .gold-badge .value {
        font-size: 0.72rem;
    }
    .navbar-top .points-badge .icon,
    .navbar-top .gold-badge .icon {
        font-size: 0.72rem;
    }
    .navbar-top .btn-small,
    .navbar-top .menu-btn {
        height: 26px;
        padding: 0 6px;
    }
    .navbar-top .btn-small.btn-pay {
        width: 26px;
        min-width: 26px;
    }
    .navbar-top .user-avatar {
        width: 26px;
        height: 26px;
        font-size: 0.7rem;
    }
    .navbar-logo {
        font-size: 0.88rem !important;
    }
}

/* ============================================ */
/* 响应式 - 移动端适配 */
/* ============================================ */

/* 平板端 (768px - 968px) */
@media (max-width: 968px) {
    .navbar-wrapper {
        max-width: 100%;
    }
    
    .navbar-logo {
        font-size: 1.1rem;
    }
    
    .server-id-tag {
        display: none; /* 隐藏域名标识 */
    }
    
    .user-info-compact {
        gap: 8px;
        font-size: 0.85rem;
    }
    
    .username {
        max-width: 80px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    
    .user-id {
        display: none; /* 隐藏ID显示 */
    }
    
    .points-badge {
        padding: 4px 8px;
        gap: 4px;
    }
    
    .points-badge .label {
        display: none; /* 只显示数字 */
    }
    
    .btn-small {
        padding: 6px 12px;
        font-size: 0.8rem;
    }
}

/* 移动端 (< 768px) */
@media (max-width: 768px) {
    body {
        padding: 10px;
    }
    
    .navbar-wrapper {
        margin-bottom: 15px;
    }
    
    /* 顶部栏 - 移动端布局（v3.3.4 禁止换行，防止右侧登录区跑到第二行） */
    .navbar-top {
        padding: 10px 15px;
        flex-wrap: nowrap;
        gap: 6px;
    }
    
    .navbar-logo {
        font-size: 1.05rem;
        flex: 0 1 auto;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    
    .navbar-logo a {
        font-size: 1rem !important;
    }
    
    /* 隐藏次要信息 */
    .server-id-tag {
        display: none !important;
    }
    
    /* 用户信息区 - 紧凑布局（不换行） */
    .user-info-compact {
        gap: 5px;
        font-size: 0.85rem;
        flex-wrap: nowrap;
        flex: 0 0 auto;
    }
    
    .username {
        max-width: 70px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    
    .user-id {
        display: none !important;
    }
    
    .points-badge {
        padding: 5px 10px;
        font-size: 0.8rem;
    }
    
    .points-badge .label {
        display: none; /* 移动端只显示数字 */
    }
    
    .points-badge .value {
        font-size: 1rem;
    }
    
    /* 按钮 - 移动端尺寸 */
    .btn-small {
        padding: 7px 12px;
        font-size: 0.8rem;
        white-space: nowrap;
    }
    
    .menu-btn {
        padding: 7px 12px;
        font-size: 0.8rem;
    }
    
    /* 功能标签栏 - 横向滚动 */
    .navbar-tabs {
        padding: 0 12px;
        gap: 5px;
        overflow-x: auto;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    
    .navbar-tabs::-webkit-scrollbar {
        display: none;
    }
    
    .nav-tab {
        padding: 10px 15px;
        font-size: 0.85rem;
        flex-shrink: 0; /* 防止标签被压缩 */
    }

    /* 手机端：短文字替换长文字，5个tab均分一行 */
    .tab-full  { display: none !important; }
    .tab-short { display: inline !important; }
    .navbar-tabs {
        justify-content: center;
    }
    .nav-tab {
        flex: 1;
        justify-content: center;
        text-align: center;
        padding: 10px 0;
    }
}

/* 小屏手机 (< 480px) */
@media (max-width: 480px) {
    body {
        padding: 5px;
    }
    
    .navbar-wrapper {
        border-radius: 8px;
    }
    
    .navbar-top {
        padding: 8px 10px;
        gap: 4px;
        flex-wrap: nowrap;
    }
    
    .navbar-logo {
        font-size: 0.95rem;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    
    /* 用户信息更紧凑 */
    .user-info-compact {
        gap: 4px;
        flex-wrap: nowrap;
    }
    
    .username {
        max-width: 50px;
        font-size: 0.75rem;
    }
    
    .points-badge {
        padding: 3px 6px;
    }
    
    .points-badge .value {
        font-size: 0.85rem;
    }
    
    /* 按钮更小 */
    .btn-small {
        padding: 5px 8px;
        font-size: 0.7rem;
    }
    
    .menu-btn {
        padding: 5px 8px;
        font-size: 0.7rem;
    }
    
    /* 标签栏 */
    .navbar-tabs {
        padding: 0 8px;
    }
    
    .nav-tab {
        padding: 6px 0;
        font-size: 0.75rem;
        flex: 1;
        justify-content: center;
        text-align: center;
    }
    
    /* 下拉菜单 */
    .dropdown-content {
        min-width: 120px;
        right: -10px;
    }
    
    .dropdown-content button {
        padding: 8px 12px;
        font-size: 0.8rem;
    }
}

/* ═══════════════════════════════════════════════════════════ */
/* 任务14：📬 邮件系统（公告/补偿/奖励）                        */
/* ═══════════════════════════════════════════════════════════ */

/* 顶栏邮箱按钮红点徽章 */
.mail-btn {
    position: relative;
    overflow: visible;
}
.mail-badge {
    position: absolute;
    top: 2px;
    right: 2px;
    min-width: 16px;
    height: 16px;
    padding: 0 5px;
    background: linear-gradient(135deg, #ef4444, #dc2626);
    color: #fff;
    border-radius: 10px;
    font-size: 0.7rem;
    font-weight: bold;
    line-height: 16px;
    text-align: center;
    box-shadow: 0 1px 4px rgba(239, 68, 68, 0.5);
    border: none;
    animation: mail-badge-pulse 2s ease-in-out infinite;
    pointer-events: none;
}

@keyframes mail-badge-pulse {
    0%, 100% { transform: scale(1); box-shadow: 0 2px 6px rgba(239, 68, 68, 0.5); }
    50%      { transform: scale(1.15); box-shadow: 0 3px 10px rgba(239, 68, 68, 0.8); }
}

/* 邮件卡片 */
.mail-card {
    background: #1f2937;
    border: 1px solid #374151;
    border-radius: 10px;
    padding: 12px 14px;
    margin-bottom: 10px;
    transition: all 0.2s ease;
}
.mail-card.unread {
    border-left: 3px solid #fbbf24;
    background: linear-gradient(90deg, #1f2937 0%, #2a2a2a 100%);
}
.mail-card.read {
    opacity: 0.75;
}
.mail-card:hover {
    border-color: #6b7280;
    transform: translateY(-1px);
}

.mail-card-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}
.mail-icon {
    font-size: 1.2rem;
}
.mail-title {
    font-weight: bold;
    color: #e5e7eb;
    font-size: 0.95rem;
    flex: 1;
    min-width: 0;
    word-break: break-all;
}
.mail-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    background: #fbbf24;
    border-radius: 50%;
    box-shadow: 0 0 6px #fbbf24;
}
.mail-date {
    font-size: 0.7rem;
    color: #6b7280;
}

.mail-body {
    color: #d1d5db;
    font-size: 0.85rem;
    line-height: 1.5;
    margin-bottom: 10px;
    white-space: pre-wrap;
    padding: 6px 10px;
    background: #111827;
    border-radius: 6px;
    border-left: 2px solid #374151;
}

.mail-footer {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.mail-reward {
    background: linear-gradient(135deg, #7c2d12, #b45309);
    color: #fde68a;
    padding: 3px 10px;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: bold;
    border: 1px solid #fbbf24;
}
.mail-claimed {
    color: #10b981;
    font-size: 0.75rem;
    font-weight: bold;
}

.mail-btn-claim, .mail-btn-read, .mail-btn-del {
    background: #374151;
    color: #e5e7eb;
    border: 1px solid #4b5563;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 0.75rem;
    cursor: pointer;
    transition: all 0.15s ease;
}
.mail-btn-claim {
    background: linear-gradient(135deg, #d97706, #f59e0b);
    color: #fff;
    border-color: #fbbf24;
    font-weight: bold;
}
.mail-btn-claim:hover {
    background: linear-gradient(135deg, #f59e0b, #fbbf24);
    box-shadow: 0 2px 8px rgba(251, 191, 36, 0.4);
}
.mail-btn-read:hover {
    background: #4b5563;
    border-color: #6b7280;
}
.mail-btn-del:hover {
    background: #7f1d1d;
    border-color: #ef4444;
    color: #fff;
}
