/* ═══════════════════════════════════════════
   PWA / 钱包浏览器 全屏适配
   ═══════════════════════════════════════════ */
:root {
    --sat: env(safe-area-inset-top, 0px);
    --sab: env(safe-area-inset-bottom, 0px);
    --sal: env(safe-area-inset-left, 0px);
    --sar: env(safe-area-inset-right, 0px);
}
/* =========================================
   DEFI PRO - 合并精简版样式表
   原始: main.css + modules.css → 合并为一个
   ========================================= */

/* ===== 1. 全局重置 ===== */
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; outline: none; }
/* ✅ 新版 */
html, body { 
    height: 100%; 
    margin: 0; 
    padding: 0; 
    overflow-x: hidden; 
    background-color: #0b0f19;    /* 改成和主题一致，避免白边 */
    overscroll-behavior: none;     /* 禁止橡皮筋拉动 */
}
body {
    max-width: 480px; 
    margin: 0 auto; 
    background-color: #0b0f19;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: #fff; 
    padding-bottom: calc(80px + var(--sab));  /* 底部导航 + 安全区 */
    padding-top: var(--sat);                   /* 刘海屏顶部安全区 */
    position: relative;
    min-height: 100dvh;                        /* 动态视口高度 */
    -webkit-overflow-scrolling: touch;
}
.hidden { display: none; }

/* ✅ 新版 navbar */
.navbar {
    display: flex; 
    justify-content: space-between; 
    align-items: center;
    padding: 15px 20px;
    padding-top: calc(var(--sat) + 10px);   /* ← 新增：刘海下方留空 */
    background: rgba(11, 15, 25, 0.95);
    backdrop-filter: blur(10px);
    position: sticky; 
    top: 0; 
    z-index: 100;
    border-bottom: 1px solid #1f2937;
}
.logo-tri {
    width: 0; height: 0;
    border-left: 8px solid transparent; border-right: 8px solid transparent;
    border-bottom: 14px solid #00e0c6;
    margin-right: 8px; filter: drop-shadow(0 0 8px rgba(0,224,198,0.6));
}
.brand { display: flex; align-items: center; }
.brand-text { font-family:'DIN Alternate', sans-serif; font-size:18px; font-weight:bold; letter-spacing:1px; }
.nav-right { display: flex; gap: 8px; }
.nav-btn {
    background: #151e32; border: 1px solid #2d3748;
    padding: 6px 14px; border-radius: 20px;
    font-size: 11px; color: #cbd5e1;
    display: flex; align-items: center; gap: 4px;
    cursor: pointer; transition: 0.2s;
}
.nav-btn:active { transform: scale(0.95); }

/* 网络状态圆点 */
.dot-bsc, .dot-eth {
    width: 7px; height: 7px; border-radius: 50%;
    display: inline-block; margin-right: 8px;
    vertical-align: middle; transition: all 0.3s ease;
}
.dot-bsc { background: #eab308; box-shadow: 0 0 5px rgba(234, 179, 8, 0.8); }
.dot-eth { background: #4d6ffa; box-shadow: 0 0 5px rgba(71, 108, 253, 0.95); }

/* 下拉菜单 */
.dropdown { position: relative; }
.dropdown-content {
    display: none; position: absolute; top: 110%; right: 0;
    background-color: #1e293b; min-width: 140px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.5);
    border: 1px solid #334155; border-radius: 8px; z-index: 200; overflow: hidden;
}
.show-dropdown { display: block; animation: fadeIn 0.2s; }
.dd-item {
    padding: 12px; font-size: 12px; color: #94a3b8;
    display: flex; gap: 8px; cursor: pointer; border-bottom: 1px solid #334155;
}
.dd-item:last-child { border-bottom: none; }
.dd-item.active { color: #00e0c6; background: rgba(0,224,198,0.05); }

/* ===== 3. VIP 卡片 ===== */
.vip-card {
    margin: 15px; padding: 15px 20px;
    background: #0f172a; border: 1px solid rgba(255,255,255,0.05);
    border-radius: 16px; box-shadow: 0 10px 30px -10px rgba(0,0,0,0.5);
    position: relative; overflow: hidden;
}
.vip-header-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.vip-badge {
    font-family: "Times New Roman", serif; font-size: 14px;
    color: #94a3b8; font-weight: normal; letter-spacing: 0.5px; text-shadow: none;
}
.vip-link { font-size: 11px; color: #64748b; cursor: pointer; display: flex; align-items: center; }
.total-assets { text-align: center; margin-bottom: 15px; }
.asset-label { font-family: "Times New Roman", serif; font-size: 13px; color: #94a3b8; letter-spacing: 0.5px; margin-bottom: 5px; }
.total-assets h2 {
    font-family: "Times New Roman", serif; font-weight: bold; font-size: 38px;
    margin: 0 0 15px; color: #fff; text-shadow: 0 0 10px rgba(255,255,255,0.1);
}
.wallet-pill {
    display: inline-block; padding: 8px 30px; min-width: 140px;
    background: rgba(0,224,198,0.05); border: 1px solid #00e0c6; border-radius: 25px;
    color: #00e0c6; font-size: 12px; font-weight: 600; cursor: pointer; transition: all 0.2s;
}
.vip-footer { margin-top: 15px; border-top: 1px solid rgba(255,255,255,0.05); padding-top: 10px; }
.progress-track { width: 100%; height: 8px; background: #1e293b; border-radius: 4px; overflow: hidden; margin-top: 8px; }
.progress-fill { height: 100%; background: #00e0c6; width: 0%; transition: width 1s ease-out; box-shadow: 0 0 10px #00e0c6; border-radius: 4px; }
.progress-fill.force-red { background: #ef4444 !important; box-shadow: 0 0 8px #ef4444 !important; }
#vip-next-hint { font-size: 11px; color: #eab308; text-align: center; margin-bottom: 5px; font-weight: 500; }

/* ===== 4. 公告栏 ===== */
.notice-container { padding: 0 15px; margin-bottom: 12px; }
.notice-bar {
    position: relative; height: 40px;
    background: linear-gradient(90deg, rgba(15, 23, 42, 0.9) 0%, rgba(30, 41, 59, 0.8) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-left: 3px solid #fbbf24; border-radius: 6px;
    display: flex; align-items: center; justify-content: space-between;
    padding: 0 12px; overflow: hidden; white-space: nowrap;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}
#sys-notice-wrapper { flex: 1; height: 100%; position: relative; overflow: hidden; min-width: 0; }
#sys-notice {
    height: 100%; display: flex; align-items: center;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, monospace;
    font-size: 12px; color: #94a3b8; letter-spacing: 0.3px;
    opacity: 0; transform: translateY(12px);
    transition: all 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
}
#sys-notice.show-up { opacity: 1; transform: translateY(0); }

.n-badge {
    padding: 3px 8px; border-radius: 4px; font-size: 10px; font-weight: 800;
    font-family: 'DIN Alternate', sans-serif; text-transform: uppercase;
    letter-spacing: 0.5px; margin-right: 8px; flex-shrink: 0;
    border: 1px solid transparent; backdrop-filter: blur(4px);
    display: inline-flex; align-items: center; gap: 4px;
}
.n-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1; display: block; }
.n-badge.blue { background: rgba(59,130,246,0.1); color: #60a5fa; border-color: rgba(59,130,246,0.3); text-shadow: 0 0 8px rgba(59,130,246,0.5); }
.n-badge.green { background: rgba(16,185,129,0.1); color: #34d399; border-color: rgba(16,185,129,0.3); text-shadow: 0 0 8px rgba(16,185,129,0.5); }
.n-badge.gold { background: rgba(245,158,11,0.1); color: #fbbf24; border-color: rgba(245,158,11,0.3); text-shadow: 0 0 8px rgba(245,158,11,0.5); }
.n-badge.red { background: rgba(239,68,68,0.1); color: #f87171; border-color: rgba(239,68,68,0.3); text-shadow: 0 0 8px rgba(239,68,68,0.5); box-shadow: 0 0 10px rgba(239,68,68,0.5); }
.n-badge.cyan { background: rgba(6,182,212,0.1); color: #22d3ee; border-color: rgba(6,182,212,0.3); text-shadow: 0 0 8px rgba(6,182,212,0.5); }
.n-badge.purple { background: rgba(168,85,247,0.1); color: #c084fc; border-color: rgba(168,85,247,0.3); text-shadow: 0 0 8px rgba(168,85,247,0.5); }
.n-badge.orange { background: rgba(249,115,22,0.1); color: #fb923c; border-color: rgba(249,115,22,0.3); text-shadow: 0 0 8px rgba(249,115,22,0.5); }
.n-badge.pink { background: rgba(236,72,153,0.1); color: #f472b6; border-color: rgba(236,72,153,0.3); text-shadow: 0 0 8px rgba(236,72,153,0.5); }
.highlight-num { color: #f1f5f9; font-weight: 600; font-family: 'DIN Alternate', monospace; }
.highlight-gold { color: #facc15; text-shadow: 0 0 5px rgba(250,204,21,0.3); }
.highlight-green { color: #4ade80; }
.notice-more { color: #475569; font-size: 14px; margin-left: 8px; opacity: 0.6; flex-shrink: 0; }

/* IEO 模式公告栏 */
.notice-bar.ieo-mode {
    background: linear-gradient(90deg, rgba(245,158,11,0.2) 0%, rgba(15,23,42,0.9) 100%) !important;
    border-left: 3px solid #f59e0b !important;
    border-color: rgba(245,158,11,0.4) !important;
    box-shadow: 0 0 15px rgba(245,158,11,0.3) !important;
    animation: ieo-notice-pulse-gold 2s infinite ease-in-out;
}
.n-text.ieo-shimmer {
    background: linear-gradient(to right, #fff 20%, #facc15 40%, #fff 50%, #facc15 60%, #fff 80%);
    background-size: 200% auto;
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: lightning-sweep 3s linear infinite;
    font-weight: 900 !important; letter-spacing: 0.5px;
    filter: drop-shadow(0 0 5px rgba(250,204,21,0.4));
}

/* 旧版滚动兼容 */
.notice-scroller { display: inline-block; padding-left: 100%; animation: marquee-scroll 25s linear infinite; }

/* ===== 5. 功能切换 Tab ===== */
.action-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; padding: 0 15px; margin-bottom: 20px; }
.action-btn {
    background: #111827 !important; border: 1px solid #374151 !important;
    color: #94a3b8 !important; border-radius: 10px !important;
    padding: 12px 5px !important; text-align: center;
    box-shadow: none !important; font-weight: normal !important;
    cursor: pointer; transition: all 0.3s ease; overflow: hidden;
}
.action-btn.active, .action-btn:hover {
    background: rgba(0,224,198,0.1) !important;
    border: 1px solid #00e0c6 !important;
    color: #00e0c6 !important;
    text-shadow: 0 0 8px rgba(0,224,198,0.6) !important;
    box-shadow: 0 0 15px rgba(0,224,198,0.2) !important;
    font-weight: bold !important; transform: translateY(-2px);
}
.act-title { font-weight: 900; font-size: 13px; margin-bottom: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.act-sub { font-size: 9px; opacity: 0.8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ===== 6. 折叠介绍卡片 (Info Card) ===== */
.info-card {
    margin: 15px 15px 10px; border-radius: 12px; overflow: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer; position: relative;
    border: 1px solid rgba(255,255,255,0.08);
    border-left: 4px solid transparent !important;
    background: linear-gradient(145deg, rgba(30,41,59,0.8) 0%, rgba(15,23,42,0.8) 100%);
    backdrop-filter: blur(10px);
}
.info-card:hover { filter: brightness(1.2); transform: translateX(2px); }
.ic-header {
    height: 56px; box-sizing: border-box; padding: 0 20px;
    display: flex; justify-content: space-between; align-items: center;
}
.ic-left { display: flex; flex-direction: column; justify-content: center; }
.ic-title {
    font-size: 15px; font-weight: 800; line-height: 1;
    color: #f1f5f9 !important; display: flex; align-items: center; gap: 8px;
    letter-spacing: 0.5px; text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}
.ic-title i { font-size: 18px; margin-top: -2px; }
.ic-arrow { color: #64748b; font-size: 20px; transition: transform 0.3s ease; opacity: 0.7; margin-left: 10px; }
.ic-body {
    max-height: 0; overflow: hidden; transition: max-height 0.4s ease-out;
    background: rgba(0,0,0,0.3); border-top: 1px solid rgba(255,255,255,0.03);
}
.ic-tags-row { padding: 15px 15px 10px; display: flex; gap: 8px; flex-wrap: wrap; }
.ic-tags-row span {
     font-weight: 600; color: #cbd5e1;
    background: rgba(255,255,255,0.1); padding: 4px 8px; border-radius: 4px;
    border: 1px solid rgba(255,255,255,0.05);
}
.ic-desc-content { padding: 0 15px 15px; }
.ic-row { font-size: 12px; color: #94a3b8; line-height: 1.6; margin-bottom: 8px; text-align: justify; }
.ic-row:last-child { margin-bottom: 0; }
.ic-row b { color: #fff; font-weight: 600; margin-right: 4px; }
.ic-row em { color: #00e0c6; font-style: normal; font-weight: bold; }

/* 展开状态 */
.info-card.open { box-shadow: 0 4px 20px rgba(0,0,0,0.4); background: rgba(15,23,42,0.95); }
.info-card.open .ic-arrow { transform: rotate(180deg); color: #fff; opacity: 1; }
.info-card.open .ic-body { max-height: 500px; }

/* 挖矿 - 青色 */
.mining-card {
    background: linear-gradient(90deg, rgba(0,224,198,0.15) 0%, rgba(15,23,42,0.9) 100%) !important;
    border-left-color: #00e0c6 !important;
    border-top: 1px solid rgba(0,224,198,0.1) !important;
    border-bottom: 1px solid rgba(0,224,198,0.1) !important;
    border-right: 1px solid rgba(0,224,198,0.1) !important;
}
.mining-card .ic-title i { color: #00e0c6 !important; text-shadow: 0 0 10px rgba(0,224,198,0.4); }
.mining-card:hover, .mining-card.open { box-shadow: 0 0 20px rgba(0,224,198,0.15) !important; border-color: rgba(0,224,198,0.3) !important; }

/* 质押 - 紫色 */
.staking-card {
    background: linear-gradient(90deg, rgba(168,85,247,0.15) 0%, rgba(15,23,42,0.9) 100%) !important;
    border-left-color: #a855f7 !important;
    border-top: 1px solid rgba(168,85,247,0.1) !important;
    border-bottom: 1px solid rgba(168,85,247,0.1) !important;
    border-right: 1px solid rgba(168,85,247,0.1) !important;
}
.staking-card .ic-title i { color: #a855f7 !important; text-shadow: 0 0 10px rgba(168,85,247,0.4); }
.staking-card:hover, .staking-card.open { box-shadow: 0 0 20px rgba(168,85,247,0.15) !important; border-color: rgba(168,85,247,0.3) !important; }

/* IEO 折叠卡片 - 金色 */
.info-card.ieo-card {
    padding: 0 !important;
    background: linear-gradient(90deg, rgba(234,179,8,0.15) 0%, rgba(15,23,42,0.9) 100%) !important;
    border-left: 4px solid #eab308 !important;
    border-top: 1px solid rgba(234,179,8,0.1) !important;
    border-bottom: 1px solid rgba(234,179,8,0.1) !important;
    border-right: 1px solid rgba(234,179,8,0.1) !important;
}
.info-card.ieo-card:hover, .info-card.ieo-card.open {
    box-shadow: 0 0 20px rgba(234,179,8,0.15) !important;
    border-color: rgba(234,179,8,0.5) !important;
}

/* ===== 7. 挖矿面板 ===== */
#sub-mining { animation: fadeIn 0.3s; }
.mining-section {
    margin: 0 15px 15px; background: #111827;
    border-radius: 16px; padding: 15px 15px 10px !important;
    border: 1px solid #374151; position: relative; margin-top: 5px !important;
}
.status-tag {
    position: absolute; top: 12px; right: 15px;
    background: rgba(0,224,198,0.1); color: #00e0c6;
    font-size: 9px; padding: 2px 6px; border-radius: 4px;
    border: 1px solid rgba(0,224,198,0.2);
}
.mining-flex { display: flex; align-items: center; gap: 20px; margin-bottom: 10px !important; }
.circle-box {
    width: 90px !important; height: 90px !important;
    display: flex; justify-content: center; align-items: center; position: relative;
}
.tech-ring {
    width: 90px !important; height: 90px !important; border-radius: 50%;
    border: 3px solid #374151;
    display: flex; align-items: center; justify-content: center;
    font-size: 10px; color: #6b7280; position: relative; z-index: 1;
}
.tech-ring::after {
    content: ""; position: absolute;
    top: 5px; left: 5px; right: 5px; bottom: 5px;
    border-radius: 50%; border: 3px solid transparent;
    border-top-color: #00e0c6; border-right-color: rgba(0,224,198,0.3);
    opacity: 0; transition: opacity 0.3s; pointer-events: none;
}
.mining-active::after { opacity: 1; animation: spin 1.5s linear infinite; }
.mining-active { color: #00e0c6; text-shadow: 0 0 5px rgba(0,224,198,0.5); border-color: rgba(0,0,0,0.5); }
#mining-status-text { font-size: 12px !important; }
.stats-list { flex: 1; }
.stat-row {
    display: flex; justify-content: space-between; font-size: 12px;
    margin-bottom: 8px !important; padding-bottom: 8px !important;
    border-bottom: 1px solid rgba(255,255,255,0.05);
}
.log-container {
    height: 80px !important; background: #000; border-radius: 6px; padding: 8px;
    overflow: hidden; position: relative; border: 1px solid #334155; margin-top: 5px !important;
}
.log-item {
    font-family: 'Courier New', monospace; font-size: 10px; color: #00e0c6;
    white-space: nowrap; line-height: 1.6; animation: slideInLeft 0.3s;
}
.start-btn-container { margin: 10px 15px 15px !important; }
.btn-main {
    width: 100%; padding: 12px !important;
    border: none; border-radius: 12px !important;
    background: #00e0c6 !important; color: #000 !important;
    font-weight: 600 !important; font-size: 14px !important;
    box-shadow: 0 0 20px rgba(0,224,198,0.3);
    cursor: pointer; transition: 0.2s;
}
.btn-main:active { transform: scale(0.98); }
.btn-main:disabled { background: #374151 !important; color: #9ca3af !important; box-shadow: none; cursor: not-allowed; }

/* ===== 8. 质押面板 ===== */
#sub-staking { animation: fadeIn 0.3s; }
.stake-grid-container { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 0 15px; margin-bottom: 15px; }
.stake-option {
    background: #111827; border: 1px solid #374151; border-radius: 10px;
    padding: 15px 10px; text-align: center; cursor: pointer;
}
.stake-option.active { border-color: #00e0c6; background: rgba(0,224,198,0.05); }
.s-days { font-size: 18px; font-weight: bold; color: #fff; margin-bottom: 4px; }
.s-rate { font-size: 11px; color: #00e0c6; }
.stake-input-group { padding: 0 15px; }
.stake-input-group input {
    width: 100%; background: #111827; border: 1px solid #374151;
    border-radius: 8px; padding: 14px; color: #fff; font-size: 14px;
}
.stake-record-box { margin: 25px 15px; background: #111827; border-radius: 12px; padding: 15px; border: 1px solid #374151; }
.sr-title { font-size: 14px; font-weight: bold; margin-bottom: 10px; color: #fff; border-left: 3px solid #00e0c6; padding-left: 8px; }
.sr-header { display: flex; justify-content: space-between; font-size: 10px; color: #64748b; padding-bottom: 8px; border-bottom: 1px solid #374151; }
.sr-empty { text-align: center; color: #475569; font-size: 12px; padding: 20px 0; }
.sr-item { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,0.05); }
.sr-amount { color: #fff; font-weight: bold; font-size: 13px; }
.sr-time { font-size: 10px; color: #6b7280; }
.sr-profit { color: #00e0c6; font-size: 12px; }

/* ===== 9. IEO 面板 ===== */
#sub-ieo { animation: fadeIn 0.3s; }

/* IEO 英雄标题 */
.ieo-hero-header {
    padding: 10px 15px 20px !important;
    background: radial-gradient(circle at top right, rgba(0,224,198,0.05), transparent 70%) !important;
    text-align: left !important; margin-top: 10px !important;
}
.hero-title {
    font-family: 'DIN Alternate', 'Roboto', sans-serif !important;
    font-size: 26px !important; font-weight: 900 !important; margin: 0 0 6px 0 !important;
    background: linear-gradient(90deg, #fff 0%, #00e0c6 100%) !important;
    -webkit-background-clip: text !important; background-clip: text !important;
    -webkit-text-fill-color: transparent !important; color: transparent !important;
    filter: drop-shadow(0 0 15px rgba(0,224,198,0.3)) !important;
    display: flex !important; align-items: center !important; gap: 8px !important;
}
.hero-title .rocket-icon {
    -webkit-text-fill-color: initial !important; color: #fff !important;
    filter: drop-shadow(0 0 0 transparent) !important; font-size: 22px !important;
    animation: rocket-float 3s ease-in-out infinite !important;
}
.hero-subtitle {
    font-size: 11px !important; color: #94a3b8 !important; margin: 0 !important;
    font-weight: 500 !important; letter-spacing: 1px !important; opacity: 0.8 !important;
}

/* IEO 项目卡片 */
.ieo-card {
    background: #111827; border: 1px solid #374151; border-radius: 12px;
    padding: 15px; margin: 0 15px 15px; position: relative; overflow: hidden; transition: all 0.3s;
}
.ieo-card.disabled {
    opacity: 1 !important; filter: none !important;
    border-color: #374151 !important;
}
div.ieo-card.locking {
    border: 1px solid #eab308 !important;
    animation: breathing-inner 3s infinite ease-in-out !important; z-index: 10;
}
.ieo-icon.grayscale {
    filter: grayscale(100%) !important; opacity: 0.5;
    box-shadow: none !important; background: #374151 !important;
}

/* IEO 头部布局 */
.ieo-top-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; }
.ieo-head-left { flex: 1; }
.ieo-head { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 12px; }
.ieo-icon {
    width: 36px; height: 36px; border-radius: 50%; color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-weight: 800; margin-right: 10px; font-size: 14px;
}
.ieo-info { flex: 1; }
.ieo-title { color: #fff; font-weight: 700; font-size: 15px; display: flex; align-items: center; gap: 6px; }
.ieo-rate { color: #94a3b8; font-size: 10px; margin-top: 2px; }

/* IEO 徽章 */
.ieo-badge { font-size: 9px; padding: 1px 5px; border-radius: 4px; text-transform: uppercase; }
.ieo-badge.gray { background: #374151; color: #9ca3af; }
.ieo-badge.green { background: rgba(34,197,94,0.2); color: #22c55e; border: 1px solid rgba(34,197,94,0.4); }
.ieo-badge.red { background: rgba(239,68,68,0.2); color: #ef4444; border: 1px solid rgba(239,68,68,0.4); }
.ieo-badge.gold { background: rgba(234,179,8,0.2); color: #eab308; border: 1px solid rgba(234,179,8,0.4); }

/* IEO 右上角大框 */
.ieo-big-box {
    width: 130px; background: rgba(15,23,42,0.6); border: 1px dashed #475569;
    border-radius: 8px; padding: 8px; text-align: center;
    display: flex; flex-direction: column; justify-content: center;
    height: 65px; position: relative;
}
.ieo-big-box.active { border-color: #00e0c6; background: rgba(0,224,198,0.05); animation: boxPulse 2s infinite; }
.ibb-label { font-size: 9px; color: #94a3b8; margin-bottom: 2px; }
.ibb-val { font-size: 16px; font-weight: 800; color: #fff; font-family: monospace; letter-spacing: -0.5px; }
.ibb-percent { font-size: 10px; font-weight: bold; color: #22c55e; margin-top: 2px; }
.ibb-increase-text { font-size: 18px; font-weight: 900; color: #00e0c6; text-shadow: 0 0 10px rgba(0,224,198,0.3); }

/* IEO 红框 */
.ieo-redbox {
    border: 1px dashed #334155; background: rgba(0,0,0,0.3);
    border-radius: 6px; padding: 6px 10px; min-width: 90px; text-align: right;
}
.pb-label { font-size: 9px; color: #94a3b8; }
.pb-val { font-size: 14px; font-weight: 800; color: #fff; margin: 2px 0; }
.pb-sub { font-size: 9px; color: #64748b; }
.pb-rate { font-size: 10px; font-weight: bold; }

/* 焦虑进度条 */
.panic-bar-box { height: 6px; background: #1f2937; border-radius: 3px; overflow: hidden; margin-bottom: 4px; }
.panic-bar { height: 100%; transition: width 0.5s, background-color 0.5s; }
.panic-text { display: flex; justify-content: space-between; font-size: 9px; color: #64748b; margin-bottom: 12px; }
.progress-fill.red-alert { background: #ef4444 !important; box-shadow: 0 0 10px #ef4444 !important; animation: pulse-red 1s infinite; }

/* IEO 按钮 */
.ieo-action-row { display: flex; gap: 8px; align-items: flex-start; }
.ieo-input-box { flex: 1; }
.ieo-input-box input {
    width: 100%; background: #000; border: 1px solid #333;
    color: #fff; padding: 10px; border-radius: 6px; font-size: 13px;
}
.token-preview { font-size: 9px; color: #00e0c6; margin-top: 4px; padding-left: 2px; }
.btn-ieo {
    width: 75px; height: 38px; border-radius: 6px;
    font-weight: bold; font-size: 12px; border: none; cursor: pointer; transition: 0.2s;
}
.btn-ieo.live { background: #00e0c6; color: #000; box-shadow: 0 0 10px rgba(0,224,198,0.2); }
.btn-ieo.disabled {
    pointer-events: auto !important; cursor: pointer !important;
    background: #374151 !important; color: #94a3b8 !important;
    opacity: 1 !important; box-shadow: none !important;
}
.btn-ieo.locked {
    background: #0f172a !important; border: 1px solid #FCD34D !important;
    color: #FCD34D !important;
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace !important;
    font-weight: 900 !important; font-size: 16px !important;
    cursor: default !important; letter-spacing: 2px;
    text-shadow: 0 0 5px rgba(252,211,77,0.5);
    box-shadow: inset 0 0 15px rgba(252,211,77,0.1) !important;
    height: 42px !important;
}
.btn-ieo.claim {
    animation: none !important;
    background: linear-gradient(135deg, #FCD34D 0%, #F59E0B 100%) !important;
    color: #000 !important; font-weight: 800 !important;
    border: none !important; box-shadow: 0 4px 15px rgba(245,158,11,0.4) !important;
    letter-spacing: 1px;
}
.btn-ieo.claim:hover {
    background: linear-gradient(135deg, #FDE68A 0%, #FBBF24 100%) !important;
    box-shadow: 0 6px 20px rgba(245,158,11,0.6) !important; transform: translateY(-1px);
}
.btn-ieo.withdraw {
    background: linear-gradient(90deg, #8b5cf6, #ec4899); color: #fff;
    animation: pulse 2s infinite;
}

/* IEO 资产卡片 */
.ieo-banner { padding: 15px; background: linear-gradient(90deg, #111827 0%, #0f172a 100%); margin-bottom: 15px; border-bottom: 1px solid #1f2937; }
.assets-panel { margin: 0 15px; }
.ap-header { font-size:12px; color:#cbd5e1; margin-bottom:10px; display:flex; align-items:center; gap:6px; }
.ieo-asset-card { background:#1e293b; padding:12px; border-radius:8px; margin-bottom:8px; border:1px solid #334155; }
.ac-top { display:flex; justify-content:space-between; margin-bottom:8px; border-bottom:1px solid rgba(255,255,255,0.05); padding-bottom:5px; }
.ac-symbol { font-weight:bold; color:#fff; }
.ac-status { font-size:10px; color:#94a3b8; }
.ac-row { display:flex; justify-content:space-between; font-size:11px; margin-bottom:4px; }
.ac-val { color:#fff; font-family:monospace; }
.btn-withdraw { width:100%; margin-top:5px; padding:6px; background:#334155; color:#fff; border:none; border-radius:4px; font-size:10px; cursor:pointer; }
.ieo-assets-panel summary span { color: #00e0c6 !important; text-shadow: 0 0 10px rgba(0,224,198,0.3); }
.ieo-assets-panel i.ri-pie-chart-2-fill { color: #00e0c6 !important; }

/* IEO 红点 & Toast */
.ieo-dot {
    display: none; width: 8px; height: 8px; background: #ef4444; border-radius: 50%;
    position: absolute; top: 2px; right: 2px;
    animation: dot-pulse 1.5s infinite; box-shadow: 0 0 6px rgba(239,68,68,0.6);
}
.ieo-dot.active { display: block; }
.ieo-toast {
    position: fixed; bottom: 80px; left: 50%;
    transform: translateX(-50%) translateY(20px);
    background: linear-gradient(135deg, #1e293b, #0f172a);
    border: 1px solid rgba(234,179,8,0.4); border-radius: 12px;
    padding: 12px 20px; color: #fbbf24; font-size: 13px; font-weight: 600;
    z-index: 9999; opacity: 0; pointer-events: none; white-space: nowrap;
    box-shadow: 0 4px 20px rgba(0,0,0,0.5);
    transition: opacity 0.4s ease, transform 0.4s ease;
}
.ieo-toast.show { opacity: 1; pointer-events: auto; transform: translateX(-50%) translateY(0); }

/* ===== 10. 兑换中心 ===== */
#view-exchange { animation: fadeIn 0.3s; }
.ex-header {
    padding: 30px 20px; background: linear-gradient(180deg, #0f172a 0%, #0b0f19 100%);
    text-align: right; border-bottom: 1px solid #1f2937;
}

.ex-label { font-size: 12px; color: #94a3b8; font-weight: bold; }
.ex-val {
    font-size: 40px; color: #00e0c6; font-family: monospace; font-weight: bold;
    text-shadow: 0 0 20px rgba(0,224,198,0.3); margin-top: 5px;
}
.ex-box {
    margin: 15px; background: #1e293b; border-radius: 12px; padding: 20px;
    border: 1px solid #334155; box-shadow: 0 4px 15px rgba(0,0,0,0.3);
}
.ex-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; font-size: 12px; }
.tag-rate { background: rgba(0,224,198,0.1); color: #00e0c6; padding: 2px 6px; border-radius: 4px; font-size: 10px; }
.ex-input-group { position: relative; margin: 15px 0; }
.ex-input-group input {
    width: 100%; background: #0b0f19; border: 1px solid #374151;
    padding: 15px; color: #fff; font-size: 16px; border-radius: 8px;
}
.ex-input-group .unit { position: absolute; right: 32px; top: 15px; color: #94a3b8; font-weight: bold; }
.ex-history { margin: 0 15px 15px; }
.ex-h-title { display: flex; justify-content: space-between; font-size: 12px; color: #94a3b8; margin-bottom: 10px; }
.ex-item {
    display: flex; justify-content: space-between; padding: 12px;
    background: #111827; border-bottom: 1px solid #1f2937; align-items: center;
}
.ex-item:first-child { border-top-left-radius: 8px; border-top-right-radius: 8px; }
.ex-item:last-child { border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; border-bottom: none; }

/* 实时交易跑马灯 */
.live-feed-box { margin: 0 15px 15px; background: #0b0f19; border: 1px solid #1f2937; border-radius: 8px; overflow: hidden; }
.lf-title { padding: 8px 12px; background: #111827; font-size: 11px; color: #94a3b8; border-bottom: 1px solid #1f2937; display: flex; align-items: center; gap: 6px; }
.dot-green { width: 6px; height: 6px; background: #00e0c6; border-radius: 50%; box-shadow: 0 0 5px #00e0c6; animation: pulse 1s infinite; }
.lf-list { height: 140px; overflow: hidden; position: relative; }
.lf-item {
    padding: 8px 12px; border-bottom: 1px solid rgba(255,255,255,0.05);
    font-size: 10px; display: flex; justify-content: space-between;
    color: #cbd5e1; animation: slideUp 0.5s ease-out;
}
.lf-action { color: #fff; font-weight: bold; margin-right: 4px; }

/* ===== 11. 个人中心 ===== */
#view-mine { animation: fadeIn 0.3s; background: #0b0f19 !important; min-height: 100vh; padding-bottom: 100px; }
.mine-header {
    background: linear-gradient(180deg, #111827 0%, #0f172a 100%);
    padding: 20px; padding-top: 30px; border-bottom: 1px solid #1f2937;
}
.user-info-row { display: flex; align-items: center; gap: 15px; margin-bottom: 20px; }
.avatar-circle {
    width: 50px; height: 50px; background: #1e293b; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 24px; color: #94a3b8; border: 2px solid #334155;
}
.user-details { flex: 1; }
.u-addr-box { font-size: 16px; font-weight: bold; color: #fff; display: flex; align-items: center; gap: 8px; }
.u-addr-box i { font-size: 14px; color: #64748b; cursor: pointer; }
.u-vip-tag {
    display: inline-block; background: #eab308; color: #000;
    font-size: 10px; font-weight: bold; padding: 1px 6px; border-radius: 4px; margin-top: 4px;
}
.credit-score {
    font-size: 10px; color: #00e0c6; background: rgba(0,224,198,0.1);
    padding: 4px 8px; border-radius: 20px; border: 1px solid rgba(0,224,198,0.3); cursor: pointer;
}
.mine-assets-card {
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
    border-radius: 12px; padding: 20px; border: 1px solid #334155;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}
.ma-row { display: flex; justify-content: space-between; color: #94a3b8; font-size: 11px; margin-bottom: 5px; }
.mine-assets-card h2 { font-size: 32px; color: #fff; margin: 0 0 15px; font-family: monospace; letter-spacing: -1px; }
.ma-actions { display: flex; gap: 10px; }
.ma-btn {
    flex: 1; text-align: center; padding: 10px; border-radius: 8px;
    font-size: 13px; font-weight: bold; background: #334155; color: #fff;
    cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ma-btn.primary { background: #00e0c6; color: #000; }

/* 折叠资产面板 */
.ma-top-row {
    display: flex; justify-content: space-between; align-items: center;
    color: #94a3b8; font-size: 11px; margin-bottom: 5px; cursor: pointer;
}
.ma-toggle { font-size: 11px; color: #00e0c6; display: flex; align-items: center; gap: 4px; }
.ma-toggle i { transition: transform 0.3s; }
.ma-toggle.open i { transform: rotate(180deg); }
#asset-details-grid {
    display: none; grid-template-columns: 1fr 1fr; gap: 10px;
    margin-bottom: 20px; padding-top: 15px;
    border-top: 1px solid rgba(255,255,255,0.05);
}
.ad-item { background: rgba(0,0,0,0.2); padding: 8px; border-radius: 6px; }
.ad-label { font-size: 10px; color: #64748b; margin-bottom: 2px; }
.ad-val { font-size: 12px; color: #fff; font-weight: bold; font-family: monospace; }

/* 金刚区工具栏 */
.tool-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; padding: 20px 15px; background: #0b0f19; }
.tool-item { display: flex; flex-direction: column; align-items: center; gap: 8px; cursor: pointer; }
.tool-item span {
    font-size: 11px; color: #cbd5e1;
    display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden; text-overflow: ellipsis; word-break: break-word;
    text-align: center; min-height: 2.6em; line-height: 1.3;
}
.t-icon {
    width: 45px; height: 45px; border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    font-size: 20px; color: #fff; box-shadow: 0 4px 6px rgba(0,0,0,0.2); transition: transform 0.2s;
}
.tool-item:active .t-icon { transform: scale(0.9); }
.t-icon.blue { background: linear-gradient(135deg, #3b82f6, #2563eb); }
.t-icon.gold { background: linear-gradient(135deg, #eab308, #ca8a04); }
.t-icon.red { background: linear-gradient(135deg, #ef4444, #b91c1c); }
.t-icon.purple { background: linear-gradient(135deg, #a855f7, #7e22ce); }

/* 菜单列表 */
.menu-list { padding: 0 15px; }
.menu-item {
    display: flex; justify-content: space-between; align-items: center;
    padding: 16px 0; border-bottom: 1px solid #1f2937; cursor: pointer; color: #fff;
}
.m-left {
    display: flex; align-items: center; gap: 10px; font-size: 13px;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; flex: 1;
}
.m-left i { font-size: 18px; }
.m-right { display: flex; align-items: center; gap: 5px; color: #64748b; font-size: 12px; }
.ver-tag { background: #334155; padding: 1px 5px; border-radius: 4px; font-size: 10px; max-width: 85px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.btn-logout {
    width: 100%; padding: 15px; background: #1f2937;
    color: #ef4444; border: 1px solid #374151; border-radius: 8px; font-weight: bold; cursor: pointer;
}

/* FAQ */
.faq-box { margin: 0 15px 100px; }
.faq-item { background: #111827; border: 1px solid #374151; border-radius: 8px; margin-bottom: 10px; overflow: hidden; transition: all 0.3s; }
.faq-q {
    padding: 15px; font-size: 12px; color: #fff;
    display: flex; justify-content: space-between; align-items: center;
    cursor: pointer; font-weight: 500;
}
.faq-q i:first-child { color: #00e0c6; margin-right: 8px; }
.faq-a {
    padding: 0 15px 15px; font-size: 11px; color: #94a3b8; line-height: 1.6;
    display: none; border-top: 1px solid rgba(255,255,255,0.05); margin-top: -5px; padding-top: 10px;
}
.faq-item.open .faq-a { display: block; }
.faq-item.open .faq-q { color: #00e0c6; }
.faq-item.open i { transform: rotate(180deg); }
.faq-q i.ri-arrow-down-s-line { transition: transform 0.3s; }


/* ===== 12. 底部导航 ===== */
/* ✅ 新版 bottom-nav */
.bottom-nav {
    position: fixed; 
    bottom: 0; 
    left: 50%; 
    transform: translateX(-50%);
    width: 100%; 
    max-width: 480px;
    background: rgba(11,15,25,0.95); 
    backdrop-filter: blur(10px);
    border-top: 1px solid #1f2937;
    display: flex; 
    justify-content: space-around;
    padding: 10px 0;
    padding-bottom: calc(10px + var(--sab));  /* ← 新增：Home 指示条避让 */
    z-index: 99;
}
.nav-item {
    text-align: center; color: #64748b; font-size: 10px; cursor: pointer;
    transition: 0.2s; white-space: nowrap; overflow: visible; text-overflow: ellipsis;
    max-width: 80px;
    padding: 6px 16px;    /* ✅ 只加这一行：左右+16px 上下+6px 扩大触控区 */
}
.nav-item.active { color: #00e0c6; transform: translateY(-2px); }
.nav-item i { font-size: 20px; display: block; margin-bottom: 2px; }
.nav-mid {
    background: #00e0c6; color: #000;
    width: 45px; height: 45px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    margin-top: -25px; border: 4px solid #0b0f19;
    box-shadow: 0 0 15px rgba(0,224,198,0.4);
}

/* ===== 13. 弹窗系统 ===== */
.modal-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.8); z-index: 999;
    display: none; justify-content: center; align-items: center;
    animation: fadeIn 0.2s;
}
.modal-content {
    background: #1e293b; width: 90%; max-width: 400px;
    padding: 25px 20px; border-radius: 12px; color: #fff;
    border: 1px solid #334155; box-shadow: 0 10px 40px rgba(0,0,0,0.6);
    position: relative !important;
}
.modal-box {
    background: #1e1e1e; width: 90%; max-width: 400px;
    border-radius: 16px; border: 1px solid #333;
    box-shadow: 0 10px 40px rgba(0,0,0,0.5);
    overflow: hidden; animation: popIn 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.modal-header { padding: 20px; text-align: center; border-bottom: 1px solid #2a2a2a; }
.modal-icon { font-size: 40px; margin-bottom: 10px; display: block; }
.modal-title { color: #fff; font-size: 18px; font-weight: 600; margin: 0; }
.modal-body { padding: 20px; color: #a0a0a0; font-size: 14px; line-height: 1.6; background: #161616; max-height: 70vh; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.highlight-box { background: #252525; border-radius: 8px; padding: 12px; margin: 15px 0; border: 1px solid #333; }
.row { display: flex; justify-content: space-between; margin-bottom: 5px; }
.red-text { color: #ff4d4d; font-weight: bold; }
.green-text { color: #00c087; }
.modal-footer { padding: 15px; display: flex; gap: 10px; background: #1e1e1e; }
.btn-modal { flex: 1; padding: 12px; border-radius: 8px; border: none; font-weight: 600; cursor: pointer; }
.btn-cancel { background: #2a2a2a; color: #888; }
.btn-confirm { background: #eab308; color: #000; }
.btn-danger { background: #ff4b4b; color: white; width: 100%; padding: 12px; margin-top: 20px; border-radius: 8px; }

/* 关闭按钮 */
.modal-close-btn {
    position: absolute !important; top: 15px !important; right: 15px !important; z-index: 100;
    width: 32px !important; height: 32px !important;
    background: rgba(255,255,255,0.1) !important;
    border: 1px solid rgba(255,255,255,0.1) !important; border-radius: 50% !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    padding: 0 !important; cursor: pointer; transition: all 0.2s;
    outline: none !important; box-shadow: none !important;
}
.modal-close-btn:active { transform: scale(0.9); background: rgba(255,255,255,0.2) !important; }
.modal-close-btn svg { width: 16px !important; height: 16px !important; color: #cbd5e1 !important; stroke-width: 2.5; }
.btn-close { width: 100%; padding: 10px; background: #334155; color: #fff; border: none; border-radius: 6px; cursor: pointer; margin-top: 10px; }

/* VIP 表格弹窗 */
.vip-table { width: 100%; border-collapse: collapse; font-size: 11px; margin: 15px 0; }
.vip-table th, .vip-table td { border-bottom: 1px solid #334155; padding: 10px 5px; text-align: center; }
.vip-table th { color: #00e0c6; }
.scrollable-content { max-height: 70vh; overflow-y: auto; }
.wp-section { margin-bottom: 20px; }
.wp-section h4 { color: #00e0c6; margin-bottom: 8px; border-left: 3px solid #00e0c6; padding-left: 8px; }
.wp-section p { font-size: 12px; color: #94a3b8; line-height: 1.6; }

/* 白皮书弹窗 */
.whitepaper-mask, .modal-mask { position: fixed; inset: 0; width: 100vw; height: 100vh; overflow: hidden; }
.whitepaper-modal, .whitepaper-container, .modal-whitepaper {
    box-sizing: border-box; width: 100%; max-width: 92vw; margin: 0 auto;
    left: 50%; transform: translateX(-50%); border-radius: 14px;
}
.whitepaper-content { max-height: 70vh; overflow-y: auto; -webkit-overflow-scrolling: touch; }
@media (max-width: 768px) {
    .whitepaper-modal, .whitepaper-container, .modal-whitepaper { max-width: 94vw; padding: 16px; }
}

/* ===== 14. 客服聊天 ===== */
.chat-window {
    width: 90%; max-width: 380px; height: 500px;
    background: #111827; border-radius: 12px;
    display: flex; flex-direction: column; overflow: hidden;
    box-shadow: 0 10px 40px rgba(0,0,0,0.8); border: 1px solid #334155;
}
.chat-header {
    background: #1e293b; padding: 15px;
    display: flex; justify-content: space-between; align-items: center;
    border-bottom: 1px solid #334155;
}
.chat-avatar img { width: 36px; height: 36px; border-radius: 50%; }
.chat-body { flex: 1; padding: 15px; overflow-y: auto; background: #0b0f19; }
.msg-row { display: flex; margin-bottom: 10px; }
.msg-row.left { justify-content: flex-start; }
.msg-row.right { justify-content: flex-end; }
.msg-bubble { max-width: 80%; padding: 10px 14px; border-radius: 12px; font-size: 13px; line-height: 1.4; }
.left .msg-bubble { background: #1e293b; color: #fff; border-top-left-radius: 2px; }
.right .msg-bubble { background: #00e0c6; color: #000; border-top-right-radius: 2px; }
.chat-footer { padding: 15px; background: #1e293b; border-top: 1px solid #334155; }
.quick-questions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.quick-questions span {
    background: rgba(255,255,255,0.1); color: #cbd5e1;
    font-size: 11px; padding: 4px 8px; border-radius: 12px; cursor: pointer; transition: 0.2s;
}
.quick-questions span:hover { background: #00e0c6; color: #000; }
.input-area {
    background: #0b0f19; padding: 10px; border-radius: 20px;
    display: flex; justify-content: space-between; align-items: center; border: 1px solid #334155;
}

.rule-tag.highlight { color: #fff; border-color: #475569; background: #1e293b; }
.rule-tag.gold { color: #000; background: #facc15; border-color: #facc15; font-weight: bold; box-shadow: 0 0 5px rgba(250,204,21,0.4); }
.rule-item { margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px dashed #334155; }
.rule-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }

/* ===== 16. 签到 & 卡券 ===== */
.voucher-ticket.gold { border-left-color: #eab308; background: linear-gradient(90deg, rgba(234,179,8,0.1), transparent); }
.voucher-ticket.red { border-left-color: #ef4444; opacity: 0.6; }
.voucher-ticket.gray { border-left-color: #64748b; opacity: 0.5; }
.vt-val { font-size: 18px; font-weight: 900; color: #fff; }
.vt-type { font-size: 10px; color: #94a3b8; }
.vt-status { font-size: 11px; font-weight: bold; color: #eab308; text-align: right; }
.vt-cond { font-size: 9px; color: #64748b; }

/* 邀请 */
.invite-box { background: #000; padding: 15px; border-radius: 8px; margin: 15px 0; border: 1px dashed #334155; word-break: break-all; color: #00e0c6; font-size: 13px; font-family: monospace; }
.invite-stats { display: flex; gap: 10px; margin-bottom: 15px; }
.is-card { flex: 1; background: #1e293b; padding: 10px; border-radius: 6px; text-align: center; }
.is-val { color: #fff; font-weight: bold; font-size: 16px; }
.is-lbl { color: #94a3b8; font-size: 10px; }

/* ===== 17. 管理面板 ===== */
.panel-header-row {
    display: flex; justify-content: space-between; align-items: center;
    border-bottom: 1px dashed #333; padding-bottom: 15px; margin-bottom: 15px;
}
.whitelist-control-area {
    display: flex; align-items: center; gap: 15px;
    background: #1e293b; padding: 10px 25px;
    border-radius: 8px; border: 1px solid #334155;
    box-shadow: 0 4px 6px rgba(0,0,0,0.3);
}
#target-user-display { font-size: 16px; font-weight: bold; color: #00e0c6; font-family: monospace; letter-spacing: 1px; }
.switch-label-text { font-size: 15px; font-weight: bold; color: #f11010; }
.switch-box { position: relative; display: inline-block; width: 50px; height: 26px; }
.switch-box input { opacity: 0; width: 0; height: 0; }
.slider {
    position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0;
    background-color: #475569; transition: .4s; border-radius: 30px;
}
.slider:before {
    position: absolute; content: ""; height: 20px; width: 20px;
    left: 3px; bottom: 3px; background-color: white;
    transition: .4s; border-radius: 50%;
}
input:checked + .slider { background-color: #00e0c6; }
input:checked + .slider:before { transform: translateX(24px); }
.user-hint { font-size: 12px; color: #94a3b8; }

/* ===== 18. 伙伴墙 ===== */
.partner-section { padding: 0 15px 20px; }
.partner-title {
    font-size: 12px; color: #64748b; margin-bottom: 15px;
    font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; text-align: center;
}
.partner-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.p-card {
    background: #111827; border: 1px solid #1f2937; border-radius: 8px;
    padding: 15px 10px; display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: 15px;
    cursor: pointer; transition: all 0.2s ease; position: relative;
    overflow: hidden; height: 60px;
}
.p-card:hover { border-color: #00e0c6; background: rgba(0,224,198,0.03); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.p-card:hover .p-card-name { color: #fff; }
.p-card-icon { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.p-card-icon svg { width: 100%; height: 100%; }
.p-card-icon i { font-size: 24px; }
.p-card-name {
    font-size: 11px; font-weight: 600; color: #94a3b8; text-align: center;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    transition: color 0.2s; width: 100%;
}

/* ===== 19. 禁用状态 (签到/抽奖通用) ===== */
.disabled {
    background: #3a3a3a !important; color: #808080 !important;
    cursor: not-allowed !important; pointer-events: none !important;
    box-shadow: none !important; border-color: #555 !important; opacity: 0.8;
}

/* ===== 20. 多语言适配 ===== */
html[data-lang="es"] .tool-item span,
html[data-lang="pt"] .tool-item span,
html[data-lang="fr"] .tool-item span,
html[data-lang="de"] .tool-item span { font-size: 10px !important; }

html[data-lang="es"] .m-left,
html[data-lang="pt"] .m-left,
html[data-lang="fr"] .m-left,
html[data-lang="de"] .m-left { font-size: 12px !important; }

html[data-lang="es"] .nav-item,
html[data-lang="pt"] .nav-item,
html[data-lang="fr"] .nav-item,
html[data-lang="de"] .nav-item { font-size: 9px !important; }

html[data-lang="es"] .act-title,
html[data-lang="pt"] .act-title,
html[data-lang="fr"] .act-title,
html[data-lang="de"] .act-title { font-size: 11px !important; }

html[data-lang="es"] .mining-section h3,
html[data-lang="pt"] .mining-section h3,
html[data-lang="fr"] .mining-section h3,
html[data-lang="de"] .mining-section h3 { font-size: 13px !important; }

.footer-links, .ft-links { font-size: 10px !important; }
.footer-links a, .ft-link {
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    max-width: 85px; display: inline-block; vertical-align: middle;
}

/* ===== 21. 动画关键帧 ===== */
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes spin { 100% { transform: rotate(360deg); } }
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { transform: translateY(-3px); } }
@keyframes slideUp { from { transform: translateY(20px); opacity: 0; } }
@keyframes slideInLeft { from { transform: translateX(-10px); opacity: 0; } }
@keyframes slideDown { from { opacity: 0; transform: translateY(-10px); } }
@keyframes popIn { from { transform: scale(0.8); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@keyframes marquee-scroll { 0% { transform: translateX(0); } }
@keyframes boxPulse { 0% { box-shadow: 0 0 0 rgba(0,224,198,0); } }
@keyframes rocket-float { 0% { transform: translateY(0); } }
@keyframes dot-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }
@keyframes pulse-red { 0%, 100% { opacity: 1; } 50% { opacity: 0.8; } }
@keyframes spinBlur { 0% { background: #ec4899; } }

@keyframes breathing-inner {
    0% { border-color: rgba(234,179,8,0.3); background-color: #111827; box-shadow: inset 0 0 0 rgba(234,179,8,0); }
    50% { border-color: rgba(234,179,8,1); background-color: rgba(234,179,8,0.05); box-shadow: inset 0 0 30px rgba(234,179,8,0.4); }
    100% { border-color: rgba(234,179,8,0.3); background-color: #111827; box-shadow: inset 0 0 0 rgba(234,179,8,0); }
}

@keyframes ieo-notice-pulse-gold {
    0% { box-shadow: 0 0 5px rgba(245,158,11,0.2); }
    50% { box-shadow: 0 0 25px rgba(245,158,11,0.6); border-color: rgba(245,158,11,0.9); }
    100% { box-shadow: 0 0 5px rgba(245,158,11,0.2); }
}

@keyframes lightning-sweep { to { background-position: 200% center; } }

/* ═══════════════════════════════════════════════
   LUCKY BOX — Premium Dark Theme
   ═══════════════════════════════════════════════ */

/* Modal 容器 */
.lb-modal {
    width: 94%;
    max-width: 420px;
    max-height: min(88vh, calc(100dvh - 40px));
    background: #0f172a;
    border-radius: 20px;
    border: 1px solid #1e293b;
    box-shadow: 0 25px 80px rgba(0,0,0,.8);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
}

/* ── 顶部栏 ── */
.lb-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 20px;
    background: linear-gradient(180deg, #111827 0%, #0f172a 100%);
    border-bottom: 1px solid #1e293b;
    flex-shrink: 0;
}
.lb-header-left {
    display: flex;
    align-items: center;
    gap: 12px;
}
.lb-logo {
    font-size: 28px;
    filter: drop-shadow(0 0 10px rgba(245,158,11,.3));
}
.lb-title {
    font-family: 'Orbitron', 'DIN Alternate', sans-serif;
    font-size: 17px;
    font-weight: 900;
    letter-spacing: 3px;
    background: linear-gradient(90deg, #fff 30%, #fbbf24 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.lb-subtitle {
    font-size: 11px;
    margin-top: 2px;
}
.lb-close {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.08);
    color: #94a3b8;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: .2s;
}
.lb-close:active { transform: scale(.9); background: rgba(255,255,255,.12); }




/* ── 可滚动主体 ── */
.lb-body {
    flex: 1;
    min-height: 0;     
    overflow-y: auto;
    overflow-x: hidden;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;   
}

/* ── 盒子选择行 ── */
.lb-tier-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    padding: 0 12px;            /* ← 新增：从底部块合并 */
}
.lb-tier-card {
    background: #111827;
    border: 1.5px solid #1e293b;
    border-radius: 12px;
    padding: 12px 4px;
    text-align: center;
    cursor: pointer;
    transition: all .25s ease;
    position: relative;
}
.lb-tier-card:active { transform: scale(.96); }
.lb-tier-card.lb-selected {
    border-color: #f59e0b;
    background: rgba(245,158,11,.06);
    box-shadow: 0 0 20px rgba(245,158,11,.12);
}
.lb-tier-icon {
    font-size: 26px;
    margin-bottom: 6px;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,.5));
}
.lb-tier-card.lb-selected .lb-tier-name { color: #fbbf24; }


/* 购买按钮行 */
.lb-buy-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
.lb-open-btn {
    background: linear-gradient(135deg, #1e293b 0%, #111827 100%);
    border: 1.5px solid #334155;
    color: #e2e8f0;
    font-weight: 700;
    font-size: 12px;
    padding: 14px 6px;
    border-radius: 12px;
    cursor: pointer;
    transition: all .2s;
    text-align: center;
    line-height: 1.35;
    position: relative;
    overflow: hidden;
}
.lb-open-btn:hover {
    border-color: #f59e0b;
    background: rgba(245,158,11,.08);
    color: #fff;
}
.lb-open-btn:active { transform: scale(.96); }
.lb-open-btn:disabled {
    opacity: .4;
    cursor: not-allowed;
    transform: none;
}
.lb-open-btn small {
    font-size: 10px;
    color: #94a3b8;
    font-weight: 500;
}
.lb-open-btn em {
    font-style: normal;
    color: #22c55e;
    font-weight: 700;
}

/* ── 保底进度 ── */

.lb-guarantee-label-text {
    font-size: 11px;
    color: #94a3b8;
}
.lb-guarantee-count {
    font-size: 12px;
    font-weight: 700;
    color: #fbbf24;
    font-family: monospace;
}
.lb-guarantee-bar {
    height: 4px;
    background: #1e293b;
    border-radius: 2px;
    overflow: hidden;
}
.lb-guarantee-fill {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #f59e0b, #fbbf24);
    border-radius: 2px;
    transition: width .5s ease;
    box-shadow: 0 0 8px rgba(245,158,11,.4);
}

/* ── 折叠区块通用 ── */
.lb-section-card {
    background: #111827;
    border: 1px solid #1e293b;
    border-radius: 12px;
    overflow: hidden;
}
.lb-section-header {
    padding: 14px 16px;
    font-size: 12px;
    font-weight: 600;
    color: #cbd5e1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}
.lb-collapse-arrow {
    font-size: 16px;
    color: #64748b;
    transition: transform .3s;
}
.lb-collapse .lb-section-body {
    max-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-top: 1px solid transparent;
    overflow: hidden;
    transition: max-height .4s ease, padding .4s ease;
}
.lb-collapse.open .lb-section-body {
    max-height: 3000px !important;
    padding: 0 16px 14px !important;
    border-top-color: rgba(255,255,255,.04);
    overflow: visible !important;
}
.lb-collapse.open .lb-collapse-arrow {
    transform: rotate(180deg);
    color: #fbbf24;
}
/* Section body scrollbar */
.lb-section-body::-webkit-scrollbar { width: 4px; }
.lb-section-body::-webkit-scrollbar-track { background: rgba(255,255,255,0.02); border-radius: 2px; }
.lb-section-body::-webkit-scrollbar-thumb { background: rgba(0,224,198,0.18); border-radius: 2px; }
.lb-section-body::-webkit-scrollbar-thumb:hover { background: rgba(0,224,198,0.35); }

/* Bottom fade hint */
.lb-section-card.lb-collapse.open {
    position: relative;
}
.lb-section-card.lb-collapse.open::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 28px;
    background: linear-gradient(transparent, rgba(10,14,26,0.95));
    pointer-events: none;
    border-radius: 0 0 12px 12px;
    z-index: 1;
}
/* 概率表 */
#lb-odds-table table {
    width: 100%;
    border-collapse: collapse;
}
#lb-odds-table th {
    text-align: left;
    padding: 8px 4px;
    color: #64748b;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .5px;
    border-bottom: 1px solid rgba(255,255,255,.06);
}
#lb-odds-table td {
    padding: 6px 4px;
    font-size: 12px;
    border-bottom: 1px solid rgba(255,255,255,.03);
}

/* 历史记录 */
.lb-history-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255,255,255,.04);
    font-size: 12px;
    color: #e2e8f0;
}
.lb-history-row:last-child { border-bottom: none; }

/* ═══ 结果展示层 ═══ */
.lb-reveal {
    position: absolute;
    inset: 0;
    background: rgba(5,8,15,.95);
    backdrop-filter: blur(20px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}
.lb-reveal-content {
    text-align: center;
    padding: 30px;
    width: 100%;
    max-width: 320px;
}
.lb-reveal-box {
    font-size: 64px;
    margin-bottom: 20px;
    display: inline-block;
    filter: drop-shadow(0 8px 20px rgba(245,158,11,.3));
}
.lb-reveal-tag {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    color: #64748b;
    text-transform: uppercase;
    margin-bottom: 8px;
}
.lb-reveal-amount {
    font-family: 'Barlow Condensed', 'DIN Alternate', monospace;
    font-size: 58px;
    font-weight: 800;
    color: #fbbf24;
    line-height: 1;
    text-shadow: 0 0 40px rgba(251,191,36,.3);
    margin-bottom: 4px;
    letter-spacing: -1px;
}
.lb-reveal-unit {
    font-size: 14px;
    font-weight: 600;
    color: #94a3b8;
    letter-spacing: 2px;
    margin-bottom: 28px;
}
.lb-reveal-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

/* 结果按钮 */
.lb-btn-collect {
    width: 100%;
    max-width: 260px;
    background: linear-gradient(135deg, #111827, #1e293b);
    border: 1.5px solid #334155;
    color: #e2e8f0;
    padding: 14px 24px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: .2s;
}
.lb-btn-collect:hover {
    border-color: #00e0c6;
    color: #00e0c6;
    box-shadow: 0 0 15px rgba(0,224,198,.15);
}
.lb-btn-double {
    width: 100%;
    max-width: 260px;
    background: linear-gradient(135deg, #f59e0b, #d97706);
    border: none;
    color: #000;
    padding: 14px 24px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    transition: .2s;
    position: relative;
    overflow: hidden;
}
.lb-btn-double::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 200%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.15), transparent);
    animation: lbShimmer 2s infinite;
}
@keyframes lbShimmer {
    0% { left: -100%; }
    100% { left: 100%; }
}
.lb-btn-double:active { transform: scale(.97); }
.lb-btn-double small {
    font-size: 10px;
    color: rgba(0,0,0,.5);
    font-weight: 600;
}

/* 批量结果网格 */
.lb-batch-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: center;
    margin-bottom: 20px;
}
.lb-batch-item {
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.06);
    padding: 5px 10px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
}

/* 翻倍面板 */
.lb-double-panel { width: 100%; max-width: 280px; }
.lb-double-info {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: #e2e8f0;
    margin-bottom: 14px;
    padding: 10px;
    background: rgba(255,255,255,.03);
    border-radius: 8px;
}
.lb-double-btns {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 12px;
}
.lb-double-bar {
    height: 4px;
    background: rgba(255,255,255,.08);
    border-radius: 2px;
    overflow: hidden;
}
.lb-double-fill {
    height: 100%;
    border-radius: 2px;
    transition: width .3s;
}
.lb-double-spinning {
    font-size: 28px;
    color: #fbbf24;
    animation: lbShake .1s infinite alternate;
    padding: 30px;
}

/* ═══ 盒子动画 ═══ */
.lb-box-visual { transition: all .3s; display: inline-block; }
.lb-shaking { animation: lbShake .12s infinite alternate; }
.lb-opened { animation: lbOpen .6s ease forwards; }

@keyframes lbShake {
    0% { transform: translateX(-2px) rotate(-1.5deg); }
    100% { transform: translateX(2px) rotate(1.5deg); }
}
@keyframes lbOpen {
    0% { transform: scale(1); }
    30% { transform: scale(1.2) rotate(5deg); }
    50% { transform: scale(0.85); opacity: .4; }
    100% { transform: scale(1); opacity: 1; }
}

/* ═══ 彩纸 ═══ */
#lb-confetti {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    z-index: 0;
}
.lb-confetti-piece {
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 1px;
    animation: lbFall linear forwards;
}
@keyframes lbFall {
    0% { top: -10px; opacity: 1; transform: rotateZ(0deg); }
    100% { top: 110%; opacity: 0; transform: rotateZ(720deg) translateX(60px); }
}

/* ═══ 滚动条美化 ═══ */
.lb-body::-webkit-scrollbar { width: 3px; }
.lb-body::-webkit-scrollbar-track { background: transparent; }
.lb-body::-webkit-scrollbar-thumb { background: #334155; border-radius: 3px; }
/* ═══ 播报栏 — 垂直翻滚 ═══ */
.lb-ticker {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 16px;
    height: 32px;
    background: rgba(0,0,0,.3);
    border-bottom: 1px solid rgba(255,255,255,.04);
    overflow: hidden;
    position: relative;
    flex-shrink: 0;
}
.lb-ticker-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 6px #22c55e;
    animation: dot-pulse 1.5s infinite;
    flex-shrink: 0;
}
#lb-ticker-list {
    flex: 1;
    height: 28px;
    overflow: hidden;
    position: relative;
}
.lb-ticker-inner {
    /* transition 由 JS 动态控制 */
}
.lb-ticker-line {
    height: 28px;
    line-height: 28px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 11px;
    color: #94a3b8;
}
.lb-ticker-line b {
    color: #fbbf24;
    font-weight: 700;
}

/* ── 播报栏切换（独立一行） ── */
.lb-ticker-toggle-bar {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 22px;
    background: rgba(0,0,0,.2);
    border-bottom: 1px solid rgba(255,255,255,.03);
    cursor: pointer;
    flex-shrink: 0;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}
.lb-ticker-toggle-arrow {
    font-size: 11px;
    color: #475569;
    transition: transform .3s, color .2s;
}
.lb-ticker-toggle-bar:active .lb-ticker-toggle-arrow {
    color: #fbbf24;
}
.lb-ticker-toggle-bar.collapsed .lb-ticker-toggle-arrow {
    transform: rotate(180deg);
}

/* 播报栏折叠态 */
.lb-ticker.collapsed {
    height: 0 !important;
    padding: 0 !important;
    border: none !important;
    overflow: hidden;
    transition: height .3s ease, padding .3s ease;
}
/* ── 卡片容器 ── */
.lb-tier-card {
    background: #0c1222 !important;
    border: 1.5px solid #1e293b;
    border-radius: 14px;
    padding: 16px 4px 10px !important;
    text-align: center;
    cursor: pointer;
    transition: all .3s ease;
    position: relative;
    overflow: hidden;
     min-width: 0; 
}
.lb-tier-card:active { transform: scale(.96); }

/* 各等级选中 */
.lb-tier-card[data-tier="bronze"].lb-selected  { border-color: rgba(160,98,45,0.65);   background: rgba(160,98,45,0.06) !important;   box-shadow: 0 0 20px rgba(160,98,45,0.12); }
.lb-tier-card[data-tier="gold"].lb-selected    { border-color: rgba(245,158,11,0.6);   background: rgba(245,158,11,0.06) !important;  box-shadow: 0 0 20px rgba(245,158,11,0.12); }
.lb-tier-card[data-tier="diamond"].lb-selected { border-color: rgba(192,132,252,0.6);  background: rgba(192,132,252,0.06) !important;  box-shadow: 0 0 20px rgba(192,132,252,0.15); }
/* 选中名字高亮 */
.lb-tier-card[data-tier="bronze"].lb-selected  .lb-tier-name { color: #f59e0b; }
.lb-tier-card[data-tier="gold"].lb-selected    .lb-tier-name { color: #fbbf24; }
.lb-tier-card[data-tier="diamond"].lb-selected .lb-tier-name { color: #d8b4fe; }
/* ── 盲盒本体 ── */
.lb-box-icon {
    width: 52px;
    height: 42px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 900;
    color: rgba(255,255,255,0.9);
    position: relative;
    margin: 0 auto 10px;
    transition: all 0.3s ease;
}

/* 盒盖 */
.lb-box-icon::before {
    content: '';
    position: absolute;
    top: -8px;
    left: -6px;
    right: -6px;
    height: 16px;
    border-radius: 8px 8px 3px 3px;
    background: inherit;
    filter: brightness(1.4);
    box-shadow: 0 -2px 6px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.15);
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* 反光条 */
.lb-box-icon::after {
    content: '';
    position: absolute;
    top: 5px; left: 7px;
    width: 6px; height: 50%;
    background: linear-gradient(180deg, rgba(255,255,255,0.22), transparent);
    border-radius: 3px;
    pointer-events: none;
}

/* 选中盒盖弹起 */
.lb-tier-card.lb-selected .lb-box-icon::before {
    transform: translateY(-6px) rotate(-5deg);
}

/* 选中？号呼吸 */
.lb-tier-card.lb-selected .lb-box-icon {
    animation: qPulse 2s ease-in-out infinite;
}
@keyframes qPulse {
    0%, 100% { text-shadow: 0 0 8px rgba(255,255,255,0.2); transform: scale(1); }
    50%      { text-shadow: 0 0 18px rgba(255,255,255,0.5); transform: scale(1.05); }
}

/* ── 四个等级颜色 ── */
.lb-box-bronze {
    background: linear-gradient(145deg, #b45309, #78350f);
    box-shadow: 0 5px 15px rgba(180,83,9,0.35), inset 0 1px 0 rgba(255,255,255,0.1);
}

.lb-box-gold {
    background: linear-gradient(145deg, #fbbf24, #b45309);
    box-shadow: 0 5px 15px rgba(251,191,36,0.35), inset 0 1px 0 rgba(255,255,255,0.15);
}
.lb-box-diamond {
    background: linear-gradient(145deg, #c084fc, #7c3aed);
    box-shadow: 0 5px 15px rgba(192,132,252,0.4), inset 0 1px 0 rgba(255,255,255,0.2);
}

/* ── 价格文字 ── */
.lb-tier-name {
    font-size: 9px !important;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: #64748b;
    margin-bottom: 2px;
    transition: color 0.3s;
}
.lb-tier-price {
    font-family: 'Barlow Condensed', 'DIN Alternate', sans-serif;
    font-size: 15px !important;
    font-weight: 800;
    color: #94a3b8;
    letter-spacing: 0.5px;
    transition: color .3s, text-shadow .3s;
}
.lb-tier-card.lb-selected .lb-tier-price { color: #fff; text-shadow: 0 0 15px rgba(255,255,255,.2); }

/* ── 奖池表滚动 ── */
#lb-odds-table {
    max-height: none;
    overflow: visible;
    padding-right: 2px;
}
#lb-odds-table::-webkit-scrollbar { width: 3px; }
#lb-odds-table::-webkit-scrollbar-thumb { background: rgba(255,255,255,.12); border-radius: 3px; }
/* ═══ Action Card（合并 name + buttons + guarantee）═══ */
.lb-action-card {
    background: #111827;
    border: 1px solid #1e293b;
    border-radius: 14px;
    padding: 16px;
}
.lb-action-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 14px;
}
.lb-action-name {
    font-family: 'Orbitron', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #f1f5f9;
    letter-spacing: 1.5px;
    text-shadow: 0 0 20px rgba(255,255,255,.06);
}
.lb-action-max {
    font-size: 11px;
    color: #475569;
}

/* 保底行（从独立卡片 → 融入 action card） */
.lb-guarantee-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 14px;
    margin-bottom: 6px;
}

/* ── 主按钮 = 跟随等级主色 ── */
.lb-buy-1 {
    border-color: transparent;
    color: #fff;
    font-weight: 800;
}
.lb-buy-1 small { color: rgba(255,255,255,.6); }
.lb-buy-1:active { transform: scale(.96); }

.lb-action-card[data-tier="bronze"] .lb-buy-1 {
    background: linear-gradient(135deg, #a0622d, #6b3a1a);
    box-shadow: 0 4px 15px rgba(160,98,45,.3);
}

.lb-action-card[data-tier="gold"] .lb-buy-1 {
    background: linear-gradient(135deg, #ffd700, #b8860b);
    color: #000;
    box-shadow: 0 4px 15px rgba(255,215,0,.35);
}
.lb-action-card[data-tier="gold"] .lb-buy-1 small { color: rgba(0,0,0,.5); }
.lb-action-card[data-tier="diamond"] .lb-buy-1 {
    background: linear-gradient(135deg, #c084fc, #7c3aed);
    box-shadow: 0 4px 15px rgba(192,132,252,.3);
}

/* ── 保底进度条 = 跟随等级主色 ── */
.lb-action-card[data-tier="bronze"] .lb-guarantee-fill  { background: linear-gradient(90deg,#b45309,#d97706); box-shadow:0 0 8px rgba(180,83,9,.4); }
.lb-action-card[data-tier="gold"] .lb-guarantee-fill    { background: linear-gradient(90deg,#f59e0b,#fbbf24); box-shadow:0 0 8px rgba(245,158,11,.4); }
.lb-action-card[data-tier="diamond"] .lb-guarantee-fill { background: linear-gradient(90deg,#7c3aed,#c084fc); box-shadow:0 0 8px rgba(192,132,252,.4); }

.lb-action-card[data-tier="bronze"] .lb-guarantee-count  { color: #d97706; }
.lb-action-card[data-tier="gold"] .lb-guarantee-count    { color: #fbbf24; }
.lb-action-card[data-tier="diamond"] .lb-guarantee-count { color: #d8b4fe; }
/* ═══ Lucky Box 余额 + 提现按钮 ═══ */
.lb-bal-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.lb-bal-amount {
    color: #fbbf24;
    font-size: 12px;
}
.lb-withdraw-btn {
    display: inline-flex;
    align-items: center;
    padding: 3px 12px;
    background: rgba(0, 224, 198, 0.1);
    border: 1px solid rgba(0, 224, 198, 0.4);
    border-radius: 20px;
    color: #00e0c6;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
}
.lb-withdraw-btn:active {
    transform: scale(0.95);
    background: rgba(0, 224, 198, 0.2);
}
/* ═══════════════════════════════════════
   🎁 礼盒造型
   ═══════════════════════════════════════ */

/* --- 颜色变量 --- */
.lb-giftbox[data-tier="bronze"]  { --box: #a0622d; --box-dark: #6b3a1a; --ribbon: #d4a04a; --ribbon-dark: #a67c35; --glow: rgba(160,98,45,.35); }
.lb-giftbox[data-tier="gold"]    { --box: #ffd700; --box-dark: #b8860b; --ribbon: #ff4757; --ribbon-dark: #c0392b; --glow: rgba(255,215,0,.45); }
.lb-giftbox[data-tier="diamond"] { --box: #c084fc; --box-dark: #7c3aed; --ribbon: #f0abfc; --ribbon-dark: #a855f7; --glow: rgba(192,132,252,.45); }


/* --- 盒子容器 --- */
.lb-giftbox {
    position: relative;
    width: 64px;
    height: 64px;
    margin: 0 auto 6px;
    filter: drop-shadow(0 4px 12px var(--glow));
    transition: transform .3s, filter .3s;
}

.lb-tier-card:hover .lb-giftbox {
    transform: translateY(-4px) scale(1.05);
    filter: drop-shadow(0 8px 20px var(--glow));
}

.lb-tier-card.lb-selected .lb-giftbox {
    transform: translateY(-3px) scale(1.08);
    filter: drop-shadow(0 8px 24px var(--glow));
}

/* --- 盒身（下半部分）--- */
.lb-giftbox-body {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 54px;
    height: 38px;
    background: linear-gradient(135deg, var(--box) 0%, var(--box-dark) 100%);
    border-radius: 4px 4px 8px 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

/* 盒身竖条丝带 → 隐藏 */
.lb-giftbox-body::before {
    display: none;
}

/* 盒身横条丝带 → 隐藏 */
.lb-giftbox-body::after {
    display: none;
}

/* 问号 */
.lb-giftbox-q {
    position: relative;
    z-index: 2;
    font-size: 22px;
    font-weight: 800;
    color: #fff;
    text-shadow: 0 2px 6px rgba(0,0,0,.4);
    animation: lb-q-float 2s ease-in-out infinite;
}

@keyframes lb-q-float {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-3px); }
}

/* --- 盒盖（上半部分）--- */
.lb-giftbox-lid {
    position: absolute;
    top: 6px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 18px;
    background: linear-gradient(135deg, var(--box) 0%, var(--box-dark) 100%);
    border-radius: 6px 6px 2px 2px;
    z-index: 3;
    transition: transform .3s ease;
    /* 盖子边缘高光 */
    box-shadow:
        inset 0 2px 0 rgba(255,255,255,.25),
        0 2px 4px rgba(0,0,0,.2);
}

/* 盖子上的横丝带 */
.lb-giftbox-lid::after {
    content: '';
    position: absolute;
    left: 0; right: 0;
    top: 50%;
    height: 8px;
    transform: translateY(-50%);
    background: linear-gradient(90deg, var(--ribbon) 0%, var(--ribbon-dark) 100%);
    border-radius: 2px;
    opacity: .85;
}

/* 选中时盒盖微微掀开 */
.lb-tier-card.lb-selected .lb-giftbox-lid {
    transform: translateX(-50%) translateY(-4px) rotate(-8deg);
}

/* --- 蝴蝶结 --- */
.lb-giftbox-bow {
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 20px;
    height: 12px;
    z-index: 4;
}

/* 左瓣 */
.lb-giftbox-bow::before {
    content: '';
    position: absolute;
    left: -2px;
    top: 2px;
    width: 14px;
    height: 10px;
    background: var(--ribbon);
    border-radius: 50% 50% 50% 0;
    transform: rotate(-20deg);
    box-shadow: inset -1px -1px 2px rgba(0,0,0,.15);
}

/* 右瓣 */
.lb-giftbox-bow::after {
    content: '';
    position: absolute;
    right: -2px;
    top: 2px;
    width: 14px;
    height: 10px;
    background: var(--ribbon);
    border-radius: 50% 50% 0 50%;
    transform: rotate(20deg);
    box-shadow: inset 1px -1px 2px rgba(0,0,0,.15);
}

/* --- 选中时蝴蝶结弹跳 --- */
.lb-tier-card.lb-selected .lb-giftbox-bow {
    animation: lb-bow-bounce .5s ease;
}

@keyframes lb-bow-bounce {
    0%, 100% { transform: translateX(-50%) scale(1); }
    50%      { transform: translateX(-50%) scale(1.3); }
}

/* ═══ 卡片底部文字（保持原有或微调）═══ */
.lb-tier-label {
    font-family: 'Orbitron', 'DIN Alternate', sans-serif;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2.5px;
    color: #64748b;
    text-align: center;
    text-transform: uppercase;
}
.lb-tier-card.lb-selected .lb-tier-label { color: #cbd5e1; text-shadow: 0 0 12px rgba(255,255,255,.15); }


.lb-tier-card.lb-selected .lb-tier-label { color: #fff; }
.lb-tier-card.lb-selected .lb-tier-price { color: #fbbf24; }

/* ═══ 开箱动画区同步改造 ═══ */

/* 中间大盒子（结果展示前） */
.lb-box-visual {
    width: 120px;
    height: 120px;
    margin: 0 auto;
    position: relative;
}

.lb-box-visual .lb-giftbox {
    width: 120px;
    height: 120px;
}

.lb-box-visual .lb-giftbox-body {
    width: 100px;
    height: 72px;
    border-radius: 6px 6px 12px 12px;
}

.lb-box-visual .lb-giftbox-body::before { width: 18px; }
.lb-box-visual .lb-giftbox-body::after  { height: 14px; }

.lb-box-visual .lb-giftbox-lid {
    width: 110px;
    height: 32px;
    border-radius: 10px 10px 3px 3px;
}

.lb-box-visual .lb-giftbox-lid::after { height: 14px; }

.lb-box-visual .lb-giftbox-bow {
    width: 36px;
    height: 20px;
    top: -16px;
}

.lb-box-visual .lb-giftbox-bow::before,
.lb-box-visual .lb-giftbox-bow::after {
    width: 24px;
    height: 16px;
}

.lb-box-visual .lb-giftbox-q {
    font-size: 40px;
}

/* 抖动 */
.lb-box-visual.lb-shaking {
    animation: lb-shake .4s infinite;
}

.lb-box-visual.lb-shaking .lb-giftbox-lid {
    animation: lb-lid-rattle .3s infinite alternate;
}

@keyframes lb-shake {
    0%, 100% { transform: translateX(0); }
    25%      { transform: translateX(-4px) rotate(-2deg); }
    75%      { transform: translateX(4px) rotate(2deg); }
}

@keyframes lb-lid-rattle {
    0%   { transform: translateX(-50%) translateY(0) rotate(0); }
    100% { transform: translateX(-50%) translateY(-6px) rotate(-12deg); }
}

/* 开启后盖子飞走 */
.lb-box-visual.lb-opened .lb-giftbox-lid {
    animation: lb-lid-fly .6s forwards;
}

@keyframes lb-lid-fly {
    0%   { transform: translateX(-50%) translateY(0) rotate(0); opacity: 1; }
    100% { transform: translateX(-20%) translateY(-60px) rotate(-35deg); opacity: 0; }
}

.lb-box-visual.lb-opened .lb-giftbox-bow {
    animation: lb-lid-fly .6s forwards;
}
/* ═══════════════════════════════════════════
   Lucky Box — 字体精修层
   字体分工：
   Orbitron       → 标题、等级名、徽章
   Barlow Cond.   → 按钮、折叠标题、副标题
   JetBrains Mono → 数字、金额、概率、价格
   ═══════════════════════════════════════════ */

/* 等级名 BRONZE / SILVER / GOLD / DIAMOND */
.lb-tier-label {
    font-family: 'Orbitron', 'DIN Alternate', sans-serif !important;
}

/* 等级价格 5USDT / 10USDT */
.lb-tier-price {
    font-family: 'JetBrains Mono', 'Barlow Condensed', monospace !important;
}

/* Action 区域标题 BRONZE BOX */
.lb-action-name {
    font-family: 'Orbitron', 'DIN Alternate', sans-serif !important;
    letter-spacing: 2.5px !important;
}

/* Max 500 USDT */
.lb-action-max {
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 11px !important;
}

/* 购买按钮文字 Open 1 / Open 10 / Open 50 */
.lb-open-btn {
    font-family: 'Barlow Condensed', sans-serif !important;
}
.lb-open-btn small {
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 10px !important;
}
.lb-open-btn em {
    font-family: 'JetBrains Mono', monospace !important;
    font-weight: 800 !important;
}

/* 保底进度文字 */
.lb-guarantee-label-text {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.3px !important;
}
.lb-guarantee-count {
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

/* 折叠标题 Prize Pool & Odds / My History */
.lb-section-header {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.8px !important;
}

/* 概率表 — 修正选择器（JS 渲染 div>span，非 table>td） */
#lb-odds-table > div > span:first-child {
    font-family: 'JetBrains Mono', monospace !important;
    font-weight: 700 !important;
}
#lb-odds-table > div > span:last-child {
    font-family: 'JetBrains Mono', monospace !important;
    font-weight: 600 !important;
}

/* JACKPOT / RARE 内嵌标签 */
#lb-odds-table > div > span:first-child > span {
    font-family: 'Orbitron', sans-serif !important;
    font-size: 8px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
}

/* 播报栏 */
.lb-ticker-line {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.3px !important;
}
.lb-ticker-line b {
    font-family: 'JetBrains Mono', monospace !important;
    font-weight: 800 !important;
}

/* 历史记录行 */
.lb-history-row {
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 11px !important;
}

/* 开箱结果金额 */
.lb-reveal-amount {
    font-family: 'Orbitron', 'Barlow Condensed', monospace !important;
    letter-spacing: -1px !important;
}
.lb-reveal-unit {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-size: 14px !important;
    letter-spacing: 3px !important;
}
.lb-reveal-tag {
    font-family: 'Orbitron', sans-serif !important;
    letter-spacing: 4px !important;
}

/* 余额显示 */
.lb-bal-amount {
    font-family: 'JetBrains Mono', monospace !important;
}

/* 副标题 No Lucky Box balance */
.lb-subtitle {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.5px !important;
}
/* ═══════════════════════════════════════════
   Lucky Box — Purchase Confirm Modal
   ═══════════════════════════════════════════ */
.lb-confirm-mask {
    position: fixed;
    inset: 0;
    z-index: 10001;
    background: rgba(0, 0, 0, .72);
    backdrop-filter: blur(6px);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: fadeIn .2s;
}

.lb-confirm-card {
    background: linear-gradient(160deg, #151c2e 0%, #0f172a 100%);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 20px;
    width: 310px;
    padding: 30px 24px 24px;
    text-align: center;
    box-shadow: 0 25px 70px rgba(0, 0, 0, .6);
    animation: popIn .25s cubic-bezier(.175, .885, .32, 1.275);
}

.lb-confirm-icon {
    font-size: 42px;
    margin-bottom: 6px;
    filter: drop-shadow(0 4px 12px rgba(245, 158, 11, .3));
}

.lb-confirm-title {
    font-family: 'Orbitron', sans-serif;
    font-size: 16px;
    font-weight: 800;
    color: #f1f5f9;
    letter-spacing: 2px;
    margin-bottom: 18px;
}

.lb-confirm-cost-box {
    background: rgba(255, 255, 255, .03);
    border: 1px solid rgba(255, 255, 255, .06);
    border-radius: 14px;
    padding: 16px;
    margin-bottom: 22px;
}

.lb-confirm-cost-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 11px;
    color: #64748b;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.lb-confirm-cost-val {
    font-family: 'Orbitron', monospace;
    font-size: 30px;
    font-weight: 900;
    color: #fbbf24;
    line-height: 1.1;
    text-shadow: 0 0 25px rgba(251, 191, 36, .2);
}
.lb-confirm-cost-val small {
    font-size: 13px;
    font-weight: 600;
    color: #94a3b8;
}

.lb-confirm-btns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.lb-confirm-cancel,
.lb-confirm-ok {
    height: 46px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all .15s;
    border: none;
}
.lb-confirm-cancel:active,
.lb-confirm-ok:active {
    transform: scale(.96);
}

.lb-confirm-cancel {
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .1) !important;
    color: #94a3b8;
}
.lb-confirm-cancel:hover {
    background: rgba(255, 255, 255, .1);
    color: #cbd5e1;
}

/* 链上支付按钮 - 普通扁平黄色 */
.lb-confirm-ok {
    background: #f59e0b; /* 普通的纯黄色/橘黄色 */
    color: #ffffff;
    font-weight: bold;
    border: none;
    box-shadow: none; /* 移除所有发光和阴影 */
    text-shadow: none; /* 移除文字阴影 */
    transition: background-color 0.2s ease;
}

.lb-confirm-ok:hover {
    background: #fbbf24; /* 鼠标悬浮时稍微变亮 */
}

.lb-confirm-ok:active {
    background: #d97706; /* 鼠标按下时稍微变暗 */
    transform: translateY(1px); /* 极简的按下反馈 */
}

/* ═══════════════════════════════════════════
   Lucky Box — Mobile Compact (≤480px)
   ═══════════════════════════════════════════ */
@media (max-width: 480px) {

    /* ── ① 弹窗占满更多屏幕 ── */
    .lb-modal {
        max-height: min(95vh, calc(100dvh - 20px)) !important;
        border-radius: 14px !important;
        width: 96% !important;
    }

    /* ── ② 标题栏压缩 ── */
    .lb-header {
        padding: 10px 14px !important;
    }
    .lb-logo {
        font-size: 22px !important;
    }
    .lb-title {
        font-size: 14px !important;
        letter-spacing: 2px !important;
    }
    .lb-subtitle {
        font-size: 10px !important;
    }
    .lb-close {
        width: 28px !important;
        height: 28px !important;
    }

    /* ── ③ 播报栏压缩 ── */
    .lb-ticker {
        height: 24px !important;
        padding: 0 10px !important;
    }
    #lb-ticker-list,
    .lb-ticker-line {
        height: 24px !important;
        line-height: 24px !important;
    }
    .lb-ticker-line {
        font-size: 10px !important;
    }
    .lb-ticker-toggle-bar {
        height: 16px !important;
    }
    .lb-ticker-toggle-arrow {
        font-size: 9px !important;
    }

    /* ── ④ 主体间距压缩 ── */
    .lb-body {
        padding: 8px !important;
        gap: 6px !important;
    }

    /* ── ⑤ 余额栏 ── */
    .lb-bal-amount {
        font-size: 11px !important;
    }
    .lb-withdraw-btn {
        font-size: 10px !important;
        padding: 2px 8px !important;
    }

    /* ── ⑥ 礼盒卡片 — 核心压缩（省 ~55px） ── */
    .lb-tier-row {
        gap: 5px !important;
        padding: 0 2px !important;
    }
      .lb-tier-card {
        padding: 10px 2px 6px !important;

        border-radius: 10px !important;
    }
.lb-giftbox {
        width: 68px !important;
        height: 68px !important;
        margin: 0 auto 6px !important;
    }
    .lb-giftbox-body {
        width: 56px !important;
        height: 40px !important;
        border-radius: 3px 3px 7px 7px !important;
    }
    .lb-giftbox-body::before {
        width: 7px !important;
    }
    .lb-giftbox-body::after {
        height: 6px !important;
    }
    .lb-giftbox-q {
        font-size: 18px !important;
    }
    .lb-giftbox-lid {
        width: 62px !important;
        height: 18px !important;
        top: 5px !important;
        border-radius: 5px 5px 2px 2px !important;
    }
    .lb-giftbox-lid::after {
        height: 6px !important;
    }
    .lb-giftbox-bow {
        width: 16px !important;
        height: 10px !important;
        top: -6px !important;
    }
    .lb-giftbox-bow::before,
    .lb-giftbox-bow::after {
        width: 12px !important;
        height: 8px !important;
    }


    .lb-tier-card.lb-selected .lb-giftbox-lid {
        transform: translateX(-50%) translateY(-3px) rotate(-6deg) !important;
    }
    .lb-tier-card.lb-selected .lb-giftbox {
        transform: translateY(-2px) scale(1.05) !important;
    }
    .lb-tier-card:hover .lb-giftbox {
        transform: translateY(-2px) scale(1.03) !important;
    }

    .lb-tier-label,
    .lb-tier-name {
        font-size: 7px !important;
        letter-spacing: 1px !important;
        margin-top: 1px !important;
    }
    .lb-tier-price {
        font-size: 11px !important;
    }

    /* ── ⑦ Action 卡片压缩（省 ~30px） ── */
    .lb-action-card {
        padding: 10px !important;
        border-radius: 10px !important;
    }
    .lb-action-header {
        margin-bottom: 6px !important;
    }
    .lb-action-name {
        font-size: 11px !important;
        letter-spacing: 1px !important;
    }
    .lb-action-max {
        font-size: 9px !important;
    }

    .lb-buy-row {
        gap: 5px !important;
    }
    .lb-open-btn {
        padding: 9px 3px !important;
        border-radius: 8px !important;
        font-size: 11px !important;
        line-height: 1.25 !important;
    }
    .lb-open-btn small {
        font-size: 9px !important;
    }

    .lb-guarantee-line {
        margin-top: 6px !important;
        margin-bottom: 3px !important;
    }
    .lb-guarantee-bar {
        height: 3px !important;
    }
    .lb-guarantee-label-text {
        font-size: 10px !important;
    }
    .lb-guarantee-count {
        font-size: 11px !important;
    }

    /* ── ⑧ 折叠区标题 ── */
    .lb-section-header {
        padding: 9px 12px !important;
        font-size: 11px !important;
    }

/* ── ⑨ 概率表/历史 ── */
    .lb-collapse.open .lb-section-body {
        max-height: 260px !important;
    }
    #lb-odds-table > div {
        padding: 7px 2px !important;
    }
    #lb-odds-table > div > span:first-child {
        font-size: 11px !important;
    }
    #lb-odds-table > div > span:last-child {
        font-size: 10px !important;
    }

    .lb-history-row {
        padding: 7px 0 !important;
        font-size: 10px !important;
    }

    /* ── ⑩ 确认弹窗 ── */
    .lb-confirm-card {
        width: 280px !important;
        padding: 22px 16px 16px !important;
    }
    .lb-confirm-icon {
        font-size: 34px !important;
        margin-bottom: 4px !important;
    }
    .lb-confirm-title {
        font-size: 13px !important;
        margin-bottom: 14px !important;
    }
    .lb-confirm-cost-box {
        padding: 12px !important;
        margin-bottom: 16px !important;
    }
    .lb-confirm-cost-val {
        font-size: 24px !important;
    }
    .lb-confirm-cancel,
    .lb-confirm-ok {
        height: 40px !important;
        font-size: 13px !important;
    }
}
/* Max 金额 → 取消强制颜色，由 JS 动态控制 */
.lb-action-max {
    font-weight: 700 !important;
    font-size: 13px !important;
}

/* 保底提示文字 → 加亮 */
.lb-guarantee-line {
    color: #cbd5e1 !important;
}
.lb-guarantee-label-text {
    color: #94a3b8 !important;
    font-size: 11px !important;
}
.lb-guarantee-count {
    color: #fbbf24 !important;
    font-weight: 800 !important;
    font-size: 14px !important;
}

/* 数字变化闪光动画 */
@keyframes lbNumPulse {
    0% { color: #fbbf24; transform: scale(1); }
    30% { color: #fff; transform: scale(1.2); text-shadow: 0 0 12px rgba(251,191,36,0.8); }
    100% { color: #fbbf24; transform: scale(1); }
}
.lb-num-flash {
    display: inline-block;
    animation: lbNumPulse 0.4s ease-out;
}
/* =========================================
   盲盒专属字体与颜色精修层 (绝对不影响其他页面)
   ========================================= */
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=JetBrains+Mono:wght@400;700;800&family=Barlow+Condensed:wght@400;600;700&display=swap');

/* 盲盒弹窗全局字体基础 */
#luckbox-modal {
    font-family: 'Barlow Condensed', sans-serif;
}

/* 顶部标题 LUCKY BOX */
#luckbox-modal .modal-header h2,
#luckbox-modal .lb-header-title {
    font-family: 'Orbitron', sans-serif !important;
    color: #00e0c6 !important;
    letter-spacing: 1px;
}

/* 宝箱名称 (如: 青铜宝箱) */
#lb-detail-name {
    font-family: 'Orbitron', sans-serif !important;
    color: #00e0c6 !important;
    font-weight: 800 !important;
    letter-spacing: 1px;
}

/* 最高可开出金额 */
#lb-detail-max {
    font-family: 'JetBrains Mono', monospace !important;
    color: #e2e8f0 !important;
}

/* 开启按钮内的文字和数字 */
.lb-open-btn {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-weight: 700 !important;
}
.lb-open-btn small {
    font-family: 'JetBrains Mono', monospace !important;
}
/* 按钮内的折扣标签 */
.lb-open-btn small span {
    background: rgba(0,224,198,0.2) !important;
    color: #00e0c6 !important;
}

/* 进度条文字 (再开 X 箱即可保底) */
#lb-guarantee-label b {
    color: #00e0c6 !important;
    font-family: 'JetBrains Mono', monospace !important;
}
#lb-guarantee-text {
    font-family: 'JetBrains Mono', monospace !important;
    color: #eab308 !important; /* 保持保底数字的金色醒目 */
}

/* 跑马灯高亮 */
.lb-ticker-line b {
    color: #00e0c6 !important;
    font-family: 'JetBrains Mono', monospace !important;
}

/* 盲盒记录里的正收益高亮 */
.lb-history-row span[style*="color:#00e0c6"] {
    font-family: 'JetBrains Mono', monospace !important;
}


/* ═══ Payment Options (Confirm Modal) ═══ */
.lb-pay-options { display: flex; flex-direction: column; gap: 8px; margin: 14px 0; }
.lb-pay-opt {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 12px; border-radius: 10px; cursor: pointer;
    border: 1px solid rgba(255,255,255,0.06);
    background: rgba(30,41,59,0.5);
    transition: all 0.2s;
}
.lb-pay-opt:hover { background: rgba(30,41,59,0.9); }
.lb-pay-opt.lb-pay-selected {
    border-color: rgba(0,224,198,0.4);
    background: rgba(0,224,198,0.06);
    box-shadow: 0 0 12px rgba(0,224,198,0.08);
}
.lb-pay-opt.lb-pay-disabled {
    opacity: 0.35; pointer-events: none;
}
.lb-pay-radio {
    width: 18px; height: 18px; border-radius: 50%; flex-shrink: 0;
    border: 2px solid #475569; display: flex;
    align-items: center; justify-content: center;
    transition: all 0.2s;
}
.lb-pay-selected .lb-pay-radio {
    border-color: #00e0c6;
    background: #00e0c6;
    box-shadow: 0 0 8px rgba(0,224,198,0.4);
}
.lb-pay-selected .lb-pay-radio::after {
    content: ''; width: 6px; height: 6px;
    background: #000; border-radius: 50%;
}
.lb-pay-info { flex: 1; min-width: 0; }
.lb-pay-label { font-size: 12px; font-weight: 700; color: #e2e8f0; }
.lb-pay-detail { font-size: 10px; color: #64748b; margin-top: 1px; }

/* 去掉 Lucky Box 关闭按钮的圆圈 */
.lb-close {
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 4px !important;
}
/* ═══ 提现结果弹窗 ═══ */
.lb-wd-modal {
  position: fixed; inset: 0; z-index: 100002;
  display: flex; align-items: center; justify-content: center;
}
.lb-wd-modal-bg {
  position: absolute; inset: 0;
  background: rgba(0,0,0,.7);
  backdrop-filter: blur(6px);
}
.lb-wd-modal-box {
  position: relative; z-index: 1;
  background: linear-gradient(160deg, #151c2e 0%, #0f172a 100%);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  padding: 32px 24px 24px;
  text-align: center;
  min-width: 280px; max-width: 340px;
  animation: popIn .25s cubic-bezier(.175,.885,.32,1.275);
  box-shadow: 0 25px 70px rgba(0,0,0,.6);
}
#lb-wd-modal-icon { font-size: 48px; margin-bottom: 12px; }
#lb-wd-modal-title { font-size: 18px; font-weight: 800; margin-bottom: 8px; font-family: 'Orbitron', sans-serif; }
#lb-wd-modal-msg { font-size: 13px; color: #94a3b8; line-height: 1.7; margin-bottom: 22px; font-family: 'Barlow Condensed', sans-serif; }
#lb-wd-modal-btn {
  background: linear-gradient(135deg, #00e0c6, #009887);
  color: #000; border: none; border-radius: 10px;
  padding: 12px 48px; font-size: 15px; font-weight: 700;
  cursor: pointer; font-family: 'Barlow Condensed', sans-serif;
  transition: all .15s;
}
#lb-wd-modal-btn:active { transform: scale(.96); }
.lb-wd-modal-box.success #lb-wd-modal-title { color: #00e0c6; }
.lb-wd-modal-box.fail #lb-wd-modal-title { color: #ef4444; }
/* ═══ 批量开箱 — 快速翻牌动画 ═══ */
@keyframes lb-flash-pop {
    0%   { transform: scale(1.4); opacity: 1; }
    100% { transform: scale(1);   opacity: 1; }
}
@keyframes lb-big-hit {
    0%   { transform: scale(1); }
    30%  { transform: scale(1.15); }
    100% { transform: scale(1); }
}

/* 大奖震屏 */
.lb-screen-shaking {
    animation: lb-screen-shake 0.4s ease-out;
}
@keyframes lb-screen-shake {
    0%, 100% { transform: translate(0); }
    10%  { transform: translate(-3px, 2px); }
    30%  { transform: translate(3px, -2px); }
    50%  { transform: translate(-2px, 3px); }
    70%  { transform: translate(2px, -1px); }
    90%  { transform: translate(-1px, 1px); }
}

/* ═══════════════════════════════════════════
   UNF Ecosystem Info Section
   ═══════════════════════════════════════════ */
#unf-info-section {
    padding: 30px 15px 40px;
    border-top: 1px solid #1e293b;
    margin-top: 20px;
}

/* ── Hero ── */
.unf-hero {
    text-align: center;
    padding: 30px 0 25px;
}
.unf-logo-ring {
    width: 72px; height: 72px; margin: 0 auto 14px;
    border-radius: 50%;
    background: conic-gradient(from 0deg, #00e0c6, #3b82f6, #a855f7, #fbbf24, #00e0c6);
    padding: 3px;
    animation: unf-ring-spin 8s linear infinite;
}
.unf-logo-inner {
    width: 100%; height: 100%; border-radius: 50%;
    background: #0b0f19;
    display: flex; align-items: center; justify-content: center;
    font-family: 'Orbitron', 'DIN Alternate', sans-serif;
    font-size: 28px; font-weight: 900; color: #00e0c6;
    text-shadow: 0 0 20px rgba(0,224,198,0.4);
}
@keyframes unf-ring-spin { to { transform: rotate(360deg); } }
.unf-hero-text { margin-bottom: 8px; }
.unf-hero-title {
    font-family: 'Orbitron', sans-serif;
    font-size: 24px; font-weight: 900; color: #fff;
    letter-spacing: 4px;
}
.unf-hero-sub {
    font-size: 11px; color: #64748b; letter-spacing: 2px;
    font-family: 'Barlow Condensed', sans-serif;
    text-transform: uppercase; margin-top: 2px;
}
.unf-hero-tagline {
    font-size: 12px; color: #94a3b8; max-width: 320px;
    margin: 0 auto; line-height: 1.6;
}

/* ── Stats Dashboard ── */
.unf-stats-row {
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 8px; margin-bottom: 20px;
}
.unf-stat-card {
    background: #111827; border: 1px solid #1e293b;
    border-radius: 12px; padding: 14px 8px; text-align: center;
}
.unf-stat-label { font-size: 10px; color: #64748b; margin-bottom: 4px; letter-spacing: 0.5px; }
.unf-stat-val {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px; font-weight: 800; color: #00e0c6;
}
.unf-stat-card.burn .unf-stat-val { color: #ef4444; }
.unf-stat-card.circ .unf-stat-val { color: #fbbf24; }

/* ── Earn Box ── */
.unf-earn-box {
    display: flex; align-items: center; gap: 12px;
    background: linear-gradient(135deg, rgba(0,224,198,0.06), rgba(0,224,198,0.02));
    border: 1px solid rgba(0,224,198,0.15);
    border-radius: 12px; padding: 14px 16px; margin-bottom: 24px;
}
.unf-earn-icon { font-size: 28px; flex-shrink: 0; }
.unf-earn-title { font-size: 13px; font-weight: 700; color: #e2e8f0; margin-bottom: 2px; }
.unf-earn-desc { font-size: 11px; color: #94a3b8; line-height: 1.5; }

/* ── Section Title ── */
.unf-section-title {
    font-size: 14px; font-weight: 800; color: #e2e8f0;
    letter-spacing: 0.5px; margin-bottom: 12px; padding-left: 2px;
    border-left: 3px solid #00e0c6; padding-left: 10px;
}

/* ── Scenario Grid ── */
.unf-scene-grid {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 8px; margin-bottom: 24px;
}
.unf-scene-card {
    background: #111827; border: 1px solid #1e293b;
    border-radius: 10px; padding: 14px 12px;
    position: relative; transition: all 0.2s;
    border-top: 2px solid var(--sc);
}
.unf-scene-card:active { transform: scale(0.98); }
.unf-sc-icon { font-size: 22px; margin-bottom: 6px; }
.unf-sc-name { font-size: 12px; font-weight: 700; color: #e2e8f0; margin-bottom: 3px; }
.unf-sc-desc { font-size: 10px; color: #64748b; line-height: 1.5; }
.unf-scene-card.soon { opacity: 0.7; }
.unf-soon-tag {
    position: absolute; top: 8px; right: 8px;
    font-size: 8px; font-weight: 800; color: #f97316;
    background: rgba(249,115,22,0.12); border: 1px solid rgba(249,115,22,0.3);
    padding: 1px 6px; border-radius: 4px; letter-spacing: 0.5px;
}

/* ── Timeline ── */
.unf-timeline { padding-left: 20px; margin-bottom: 24px; position: relative; }
.unf-timeline::before {
    content: ''; position: absolute; left: 7px; top: 8px; bottom: 8px;
    width: 2px; background: #1e293b;
}
.unf-tl-item {
    position: relative; padding: 0 0 20px 20px;
}
.unf-tl-item:last-child { padding-bottom: 0; }
.unf-tl-dot {
    position: absolute; left: -16px; top: 4px;
    width: 10px; height: 10px; border-radius: 50%;
    background: #334155; border: 2px solid #1e293b;
}
.unf-tl-item.done .unf-tl-dot { background: #22c55e; border-color: #22c55e; box-shadow: 0 0 8px rgba(34,197,94,0.4); }
.unf-tl-item.active .unf-tl-dot { background: #00e0c6; border-color: #00e0c6; box-shadow: 0 0 8px rgba(0,224,198,0.4); animation: unf-dot-pulse 2s infinite; }
@keyframes unf-dot-pulse { 0%,100% { box-shadow: 0 0 4px rgba(0,224,198,0.3); } 50% { box-shadow: 0 0 12px rgba(0,224,198,0.6); } }
.unf-tl-date { font-size: 10px; color: #64748b; font-family: 'JetBrains Mono', monospace; }
.unf-tl-name { font-size: 13px; font-weight: 700; color: #e2e8f0; margin: 2px 0; }
.unf-tl-desc { font-size: 11px; color: #94a3b8; line-height: 1.5; }

/* ── Flywheel ── */
.unf-flywheel { text-align: center; margin-bottom: 24px; }
.unf-fw-ring {
    width: 220px; height: 220px; margin: 0 auto 12px;
    position: relative; border-radius: 50%;
    border: 2px dashed rgba(0,224,198,0.15);
    animation: unf-ring-spin 20s linear infinite;
}
.unf-fw-step {
    position: absolute; top: 50%; left: 50%;
    width: 56px; height: 56px; margin: -28px 0 0 -28px;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    font-size: 18px; border-radius: 50%;
    background: #111827; border: 1px solid var(--c);
    box-shadow: 0 0 10px color-mix(in srgb, var(--c) 20%, transparent);
    animation: unf-ring-spin 20s linear infinite reverse;
}
.unf-fw-step span {
    font-size: 8px; color: var(--c); font-weight: 700;
    letter-spacing: 0.5px; margin-top: 1px;
}
.unf-fw-step[style*="--i:0"] { transform: translate(0, -90px); }
.unf-fw-step[style*="--i:1"] { transform: translate(85px, -28px); }
.unf-fw-step[style*="--i:2"] { transform: translate(53px, 73px); }
.unf-fw-step[style*="--i:3"] { transform: translate(-53px, 73px); }
.unf-fw-step[style*="--i:4"] { transform: translate(-85px, -28px); }
.unf-fw-center {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    font-size: 28px; color: #00e0c6;
    text-shadow: 0 0 20px rgba(0,224,198,0.3);
    animation: unf-ring-spin 20s linear infinite reverse;
}
.unf-fw-note { font-size: 11px; color: #94a3b8; max-width: 300px; margin: 0 auto; line-height: 1.6; }

/* ── Compare Table ── */
.unf-compare {
    background: #111827; border: 1px solid #1e293b;
    border-radius: 12px; overflow: hidden; margin-bottom: 24px;
}
.unf-cmp-header, .unf-cmp-row {
    display: grid; grid-template-columns: 1.2fr 1fr 1fr;
    padding: 10px 12px; font-size: 11px; gap: 8px;
}
.unf-cmp-header {
    background: #0f172a; color: #64748b; font-weight: 700;
    border-bottom: 1px solid #1e293b; font-size: 10px;
}
.unf-cmp-row { border-bottom: 1px solid rgba(255,255,255,0.03); color: #94a3b8; }
.unf-cmp-row:last-child { border-bottom: none; }
.unf-cmp-row span:first-child { color: #cbd5e1; font-weight: 600; }
.unf-cmp-row .dim { color: #475569; }
.unf-cmp-row .hl { color: #00e0c6; font-weight: 600; }

/* ── Closing ── */
.unf-closing { text-align: center; padding: 20px 10px 30px; }
.unf-closing-line { font-size: 13px; color: #94a3b8; margin-bottom: 6px; }
.unf-closing-bold {
    font-size: 15px; font-weight: 800; color: #e2e8f0;
    margin-bottom: 20px; line-height: 1.5;
}
.unf-cta-btn {
    background: #00e0c6; color: #000; border: none;
    padding: 12px 36px; border-radius: 12px;
    font-size: 14px; font-weight: 700; cursor: pointer;
    box-shadow: 0 0 20px rgba(0,224,198,0.3);
    transition: all 0.2s;
}
.unf-cta-btn:active { transform: scale(0.97); }
/* 统计卡 2×2 */
.unf-stats-row {
    grid-template-columns: repeat(2, 1fr) !important;
}

/* 节点卡颜色 */
.unf-stat-card.node             { border-color: #3b82f6; }
.unf-stat-card.node .unf-stat-val { color: #3b82f6; }

/* 数字呼吸光效 */
.unf-counter {
    animation: unfPulse 3s ease-in-out infinite;
}
@keyframes unfPulse {
    0%, 100% { text-shadow: 0 0 0 transparent; }
    50%      { text-shadow: 0 0 8px rgba(0, 224, 198, 0.25); }
}

/* 走势图容器 */
#unf-price-spark {
    animation: fadeSlideIn 0.6s ease-out;
}
@keyframes fadeSlideIn {
    from { opacity: 0; transform: translateY(-50%) translateX(-10px); }
    to   { opacity: 1; transform: translateY(-50%) translateX(0); }
}
/* ═══════════════════════════════════════════
   UNF 实时跳动 — 动画层 v3.0
   ═══════════════════════════════════════════ */

/* ── 数字滚动过渡 ── */
.unf-num-roll {
    animation: unfNumRoll 0.3s ease-out;
}
@keyframes unfNumRoll {
    0%   { opacity: 0.35; transform: translateY(5px); }
    100% { opacity: 1;    transform: translateY(0); }
}

/* ── 统计卡片闪光 — 产出 / 流通 涨 ── */
.unf-stat-card.flash-up {
    animation: unfFlashUp 0.6s ease !important;
}
@keyframes unfFlashUp {
    0%, 100% { border-color: #1e293b; box-shadow: none; }
    35%      { border-color: rgba(0,224,198,0.55);
               box-shadow: 0 0 14px rgba(0,224,198,0.12); }
}

/* ── 统计卡片闪光 — 销毁 ── */
.unf-stat-card.flash-down {
    animation: unfFlashDown 0.6s ease !important;
}
@keyframes unfFlashDown {
    0%, 100% { border-color: #1e293b; box-shadow: none; }
    35%      { border-color: rgba(239,68,68,0.55);
               box-shadow: 0 0 14px rgba(239,68,68,0.12); }
}

/* ── 统计卡片闪光 — 节点 ── */
.unf-stat-card.flash-node {
    animation: unfFlashNode 0.6s ease !important;
}
@keyframes unfFlashNode {
    0%, 100% { border-color: #1e293b; box-shadow: none; }
    35%      { border-color: rgba(59,130,246,0.55);
               box-shadow: 0 0 14px rgba(59,130,246,0.12); }
}

/* ── 走势图 SVG 容器过渡（防闪烁）── */
.unf-spark-svg svg {
    transition: opacity 0.15s ease;
}

/* ── 价格文字基础过渡 ── */
.unf-live-price,
.unf-live-change {
    display: inline-block;          /* 让 transform 生效 */
    will-change: transform, opacity;
}
/* ═══════════════════════════════════════════════════════
   MINING RIG PANEL — Industrial Control System v2
   ═══════════════════════════════════════════════════════ */

.stake-grid-container {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 0 15px 10px;
}

/* ── Base Panel ── */
.rig-panel {
    position: relative;
    background: linear-gradient(180deg, #0c1120 0%, #070a14 100%);
    border: 1px solid rgba(255,255,255,0.05);
    border-radius: 14px;
    cursor: pointer;
    overflow: hidden;
    transition: all 0.35s cubic-bezier(.4,0,.2,1);
    display: flex;
    flex-direction: column;
    -webkit-tap-highlight-color: transparent;
}
.rig-panel:active { transform: scale(0.97); }

/* Tier idle borders */
.rig-panel.t-basic  { border-color: rgba(0,224,198,0.12); }
.rig-panel.t-pro    { border-color: rgba(59,130,246,0.12); }
.rig-panel.t-hyper  { border-color: rgba(168,85,247,0.12); }
.rig-panel.t-mega   { border-color: rgba(251,191,36,0.12); }

/* ── Active state ── */
.rig-active.t-basic  { border-color: rgba(0,224,198,0.55);  box-shadow: 0 0 28px rgba(0,224,198,0.12), inset 0 1px 0 rgba(0,224,198,0.08); }
.rig-active.t-pro    { border-color: rgba(59,130,246,0.55);  box-shadow: 0 0 28px rgba(59,130,246,0.12), inset 0 1px 0 rgba(59,130,246,0.08); }
.rig-active.t-hyper  { border-color: rgba(168,85,247,0.55);  box-shadow: 0 0 28px rgba(168,85,247,0.12), inset 0 1px 0 rgba(168,85,247,0.08); }
.rig-active.t-mega   { border-color: rgba(251,191,36,0.55);  box-shadow: 0 0 28px rgba(251,191,36,0.12), inset 0 1px 0 rgba(251,191,36,0.08); }

/* ── Header ── */
.rp-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 10px 0;
}
.rp-model {
    display: flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
}
.rp-model-icon {
    width: 22px; height: 22px;
    border-radius: 6px;
    display: flex; align-items: center; justify-content: center;
    font-size: 12px; flex-shrink: 0;
}
.t-basic .rp-model-icon  { background: rgba(0,224,198,0.1);  color: #00e0c6; }
.t-pro   .rp-model-icon  { background: rgba(59,130,246,0.1);  color: #3b82f6; }
.t-hyper .rp-model-icon  { background: rgba(168,85,247,0.1);  color: #a855f7; }
.t-mega  .rp-model-icon  { background: rgba(251,191,36,0.1);  color: #fbbf24; }

.rp-model-name {
    font-size: 10.5px; font-weight: 700; color: #e2e8f0;
    letter-spacing: 0.3px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.rp-tier-badge {
    font-size: 7.5px; font-weight: 800; letter-spacing: 1.2px;
    padding: 2px 5px; border-radius: 4px; line-height: 1; flex-shrink: 0;
}
.t-basic .rp-tier-badge  { background: rgba(0,224,198,0.1);  color: #00e0c6; border: 1px solid rgba(0,224,198,0.2); }
.t-pro   .rp-tier-badge  { background: rgba(59,130,246,0.1);  color: #3b82f6; border: 1px solid rgba(59,130,246,0.2); }
.t-hyper .rp-tier-badge  { background: rgba(168,85,247,0.1);  color: #a855f7; border: 1px solid rgba(168,85,247,0.2); }
.t-mega  .rp-tier-badge  { background: rgba(251,191,36,0.1);  color: #fbbf24; border: 1px solid rgba(251,191,36,0.2); }

/* ── Device Visual Area ── */
.rp-device {
    height: 74px;
    margin: 8px 10px;
    border-radius: 8px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.t-basic .rp-device  { background: radial-gradient(ellipse at center, rgba(0,224,198,0.06), transparent 70%); border: 1px solid rgba(0,224,198,0.07); }
.t-pro   .rp-device  { background: radial-gradient(ellipse at center, rgba(59,130,246,0.06), transparent 70%); border: 1px solid rgba(59,130,246,0.07); }
.t-hyper .rp-device  { background: radial-gradient(ellipse at center, rgba(168,85,247,0.06), transparent 70%); border: 1px solid rgba(168,85,247,0.07); }
.t-mega  .rp-device  { background: radial-gradient(ellipse at center, rgba(251,191,36,0.06), transparent 70%); border: 1px solid rgba(251,191,36,0.07); }

/* Model watermark */
.rv-label {
    position: absolute; bottom: 3px; right: 6px;
    font-size: 9px; font-weight: 800; letter-spacing: 1px; opacity: 0.2;
    font-family: 'JetBrains Mono', monospace;
}
.t-basic .rv-label  { color: #00e0c6; }
.t-pro   .rv-label  { color: #3b82f6; }
.t-hyper .rv-label  { color: #a855f7; }
.t-mega  .rv-label  { color: #fbbf24; }

/* --- Device: Chip Grid (basic) --- */
.rv-chipgrid {
    display: grid;
    grid-template-columns: repeat(4, 13px);
    grid-template-rows: repeat(3, 13px);
    gap: 3px;
}
.rv-chipgrid i {
    display: block; width: 13px; height: 13px;
    background: rgba(0,224,198,0.1);
    border: 1px solid rgba(0,224,198,0.22);
    border-radius: 2px;
}
.rv-chipgrid i:nth-child(3),
.rv-chipgrid i:nth-child(7),
.rv-chipgrid i:nth-child(11) {
    animation: rvChipPulse 3s ease-in-out infinite;
}
.rv-chipgrid i:nth-child(7)  { animation-delay: 0.8s; }
.rv-chipgrid i:nth-child(11) { animation-delay: 1.6s; }
@keyframes rvChipPulse {
    0%,100% { background: rgba(0,224,198,0.1); }
    50%     { background: rgba(0,224,198,0.4); box-shadow: 0 0 8px rgba(0,224,198,0.35); }
}

/* --- Device: Data Rails (pro) --- */
.rv-rails {
    width: 78%; height: 44px;
    display: flex; flex-direction: column; justify-content: space-between;
    position: relative;
}
.rv-rails span {
    display: block; height: 2px; border-radius: 1px;
    background: linear-gradient(90deg, transparent, rgba(59,130,246,0.28) 30%, rgba(59,130,246,0.28) 70%, transparent);
}
.rv-scan {
    position: absolute; top: 0; left: -30%;
    width: 30%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(59,130,246,0.18), transparent);
    animation: rvRailScan 2.5s ease-in-out infinite;
    pointer-events: none;
}
@keyframes rvRailScan { 0%{left:-30%} 100%{left:100%} }

/* --- Device: Hex Core (hyper) --- */
.rv-hex-wrap {
    position: relative; width: 54px; height: 54px;
}
.rv-hex {
    width: 38px; height: 38px;
    background: rgba(168,85,247,0.1);
    clip-path: polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%,-50%);
}
.rv-hex-core {
    width: 14px; height: 14px;
    background: rgba(168,85,247,0.35);
    border-radius: 50%;
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%,-50%);
    box-shadow: 0 0 14px rgba(168,85,247,0.4);
    animation: rvHexPulse 2.5s ease-in-out infinite;
}
@keyframes rvHexPulse {
    0%,100% { box-shadow: 0 0 8px rgba(168,85,247,0.2); transform: translate(-50%,-50%) scale(1); }
    50%     { box-shadow: 0 0 22px rgba(168,85,247,0.55); transform: translate(-50%,-50%) scale(1.2); }
}
.rv-orbit {
    width: 52px; height: 52px;
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%,-50%);
    border: 1px dashed rgba(168,85,247,0.15);
    border-radius: 50%;
    animation: rvOrbitSpin 8s linear infinite;
}
.rv-orbit::after {
    content: ''; position: absolute; top: -3px; left: 50%;
    width: 5px; height: 5px;
    background: #a855f7; border-radius: 50%;
    box-shadow: 0 0 6px rgba(168,85,247,0.7);
}
@keyframes rvOrbitSpin {
    0%{transform:translate(-50%,-50%) rotate(0)}
    100%{transform:translate(-50%,-50%) rotate(360deg)}
}

/* --- Device: Reactor (mega) --- */
.rv-reactor-wrap {
    position: relative; width: 54px; height: 54px;
}
.rv-diamond {
    width: 26px; height: 26px;
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%,-50%) rotate(45deg);
    background: linear-gradient(135deg, rgba(251,191,36,0.18), rgba(251,191,36,0.4));
    border: 1.5px solid rgba(251,191,36,0.5);
    box-shadow: 0 0 18px rgba(251,191,36,0.25);
    animation: rvDiamondGlow 3s ease-in-out infinite;
}
@keyframes rvDiamondGlow {
    0%,100% { box-shadow: 0 0 12px rgba(251,191,36,0.2); }
    50%     { box-shadow: 0 0 28px rgba(251,191,36,0.45); }
}
.rv-rpulse {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%,-50%);
    border: 1px solid rgba(251,191,36,0.25);
    border-radius: 50%;
    animation: rvReactorPulse 2.2s ease-out infinite;
    pointer-events: none;
}
.rv-rpulse.rp1 { width: 34px; height: 34px; }
.rv-rpulse.rp2 { width: 46px; height: 46px; animation-delay: 0.7s; }
@keyframes rvReactorPulse {
    0%  { opacity: 0.7; transform: translate(-50%,-50%) scale(0.8); }
    100%{ opacity: 0;   transform: translate(-50%,-50%) scale(1.4); }
}

/* ── Parameters Row ── */
.rp-params {
    display: flex; align-items: center;
    margin: 0 10px; padding: 6px 0;
    border-top: 1px solid rgba(255,255,255,0.04);
    border-bottom: 1px solid rgba(255,255,255,0.04);
}
.rp-param { flex: 1; text-align: center; }
.rp-param-label {
    display: block; font-size: 8px; color: #475569;
    text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 1px;
}
.rp-param-val {
    font-size: 11.5px; font-weight: 700; color: #cbd5e1;
    font-family: 'JetBrains Mono', monospace;
}
.rp-param-div { width: 1px; height: 22px; background: rgba(255,255,255,0.06); }

/* ── Revenue Display ── */
.rp-revenue { text-align: center; padding: 8px 10px 4px; }
.rp-revenue-label {
    display: block; font-size: 8px; color: #475569;
    text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px;
}
.rp-revenue-val {
    font-size: 22px; font-weight: 900;
    font-family: 'JetBrains Mono', monospace; letter-spacing: 0.5px;
}
.t-basic .rp-revenue-val  { color: #00e0c6; text-shadow: 0 0 14px rgba(0,224,198,0.3); }
.t-pro   .rp-revenue-val  { color: #3b82f6; text-shadow: 0 0 14px rgba(59,130,246,0.3); }
.t-hyper .rp-revenue-val  { color: #a855f7; text-shadow: 0 0 14px rgba(168,85,247,0.3); }
.t-mega  .rp-revenue-val  { color: #fbbf24; text-shadow: 0 0 14px rgba(251,191,36,0.3); }

/* ── Status Bar ── */
.rp-status {
    display: flex; align-items: center; justify-content: space-between;
    padding: 5px 10px 9px; font-size: 9px;
}
.rp-status-left { display: flex; align-items: center; gap: 4px; }
.rp-status-dot {
    width: 5px; height: 5px; border-radius: 50%;
    background: #334155; transition: all 0.3s;
}
.rig-active .rp-status-dot { animation: rvDotBlink 2s infinite; }
.rig-active.t-basic .rp-status-dot  { background: #00e0c6; box-shadow: 0 0 5px rgba(0,224,198,0.6); }
.rig-active.t-pro   .rp-status-dot  { background: #3b82f6; box-shadow: 0 0 5px rgba(59,130,246,0.6); }
.rig-active.t-hyper .rp-status-dot  { background: #a855f7; box-shadow: 0 0 5px rgba(168,85,247,0.6); }
.rig-active.t-mega  .rp-status-dot  { background: #fbbf24; box-shadow: 0 0 5px rgba(251,191,36,0.6); }
@keyframes rvDotBlink { 0%,100%{opacity:1} 50%{opacity:0.3} }

.rp-status-text {
    color: #475569; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.5px;
}
.rig-active .rp-status-text { color: #94a3b8; }

.rp-min-tag {
    color: #334155; font-family: 'JetBrains Mono', monospace;
    font-size: 9px; font-weight: 600;
}

/* ── Scan Line (active only) ── */
.rp-scanline {
    position: absolute; top: 0; left: 0;
    width: 100%; height: 1.5px;
    opacity: 0; pointer-events: none; z-index: 2;
}
.rig-active .rp-scanline { opacity: 1; animation: rvScanDown 3.5s ease-in-out infinite; }
.t-basic .rp-scanline  { background: linear-gradient(90deg, transparent, #00e0c6, transparent); }
.t-pro   .rp-scanline  { background: linear-gradient(90deg, transparent, #3b82f6, transparent); }
.t-hyper .rp-scanline  { background: linear-gradient(90deg, transparent, #a855f7, transparent); }
.t-mega  .rp-scanline  { background: linear-gradient(90deg, transparent, #fbbf24, transparent); }
@keyframes rvScanDown {
    0%{top:0;opacity:.5} 50%{top:100%;opacity:.2} 51%{opacity:0} 100%{top:0;opacity:0}
}

/* ── Bottom Glow (active only) ── */
.rp-glow {
    position: absolute; bottom: -8px; left: 15%; width: 70%; height: 30px;
    opacity: 0; pointer-events: none; filter: blur(14px); border-radius: 50%; z-index: 0;
}
.rig-active .rp-glow { opacity: 1; }
.t-basic .rp-glow  { background: rgba(0,224,198,0.18); }
.t-pro   .rp-glow  { background: rgba(59,130,246,0.18); }
.t-hyper .rp-glow  { background: rgba(168,85,247,0.18); }
.t-mega  .rp-glow  { background: rgba(251,191,36,0.18); }
/* ═══════════════════════════════════════════════════════
   PoA NODE CORE REACTOR — Mining Status Ring
   4 Layers: Orbit → Energy Arcs → Core → Feedback
   ═══════════════════════════════════════════════════════ */

/* ── Container ── */
.poa-reactor {
    width: 96px !important;
    height: 96px !important;
    position: relative;
    flex-shrink: 0;
    /* remove default tech-ring styles */
}
.poa-reactor .tech-ring { display: none; }

/* ═══ L1: Outer Orbit Track ═══
   Dark metallic ring · fine tick marks · segment dividers */
.rx-orbit {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 2.5px solid #1a2235;
    box-shadow: inset 0 0 6px rgba(0,0,0,0.5);
    background: repeating-conic-gradient(
        from 0deg,
        transparent 0deg 4.5deg,
        rgba(100,116,139,0.07) 4.5deg 5deg
    );
    transition: border-color 0.8s, box-shadow 0.8s;
    will-change: transform;
}
/* 30° segment markers */
.rx-orbit::after {
    content: '';
    position: absolute;
    inset: -1px;
    border-radius: 50%;
    background: repeating-conic-gradient(
        from 0deg,
        rgba(148,163,184,0.13) 0deg 0.7deg,
        transparent 0.7deg 30deg
    );
    pointer-events: none;
}
/* Inner rim highlight */
.rx-orbit::before {
    content: '';
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.025);
    pointer-events: none;
}
/* Active: slow rotation + subtle glow */
.poa-reactor.mining-active .rx-orbit {
    border-color: rgba(0,224,198,0.12);
    box-shadow: inset 0 0 6px rgba(0,0,0,0.3), 0 0 3px rgba(0,224,198,0.06);
    animation: rxOrbitSpin 60s linear infinite;
}
@keyframes rxOrbitSpin { to { transform: rotate(360deg); } }


/* ═══ L2: Energy Flow Arcs (SVG) ═══
   3 arcs at different radii/speeds/colors
   Gapped segments = "liquidity flowing in" */
.rx-energy {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    transform: rotate(-90deg); /* arcs start from top */
    pointer-events: none;
    will-change: transform;
}
.rx-arc {
    fill: none;
    stroke-linecap: round;
    transition: stroke-opacity 0.8s, stroke-width 0.6s;
}

/* — Idle: barely visible — */
.rx-arc-1 {                       /* r=38, C≈239 */
    stroke: #00e0c6;
    stroke-width: 2;
    stroke-opacity: 0.05;
    stroke-dasharray: 95 144;     /* ~40% arc */
    stroke-dashoffset: 0;
}
.rx-arc-2 {                       /* r=32, C≈201 */
    stroke: #3b82f6;
    stroke-width: 1;
    stroke-opacity: 0.03;
    stroke-dasharray: 40 161;     /* ~20% arc */
    stroke-dashoffset: 80;
}
.rx-arc-3 {                       /* r=44, C≈277 */
    stroke: #00e0c6;
    stroke-width: 0.5;
    stroke-opacity: 0.02;
    stroke-dasharray: 35 242;     /* ~13% arc */
    stroke-dashoffset: 140;
}

/* — Active: flowing energy — */
.poa-reactor.mining-active .rx-arc-1 {
    stroke-opacity: 0.65;
    stroke-width: 2.5;
    animation: rxFlow1 8s linear infinite,
               rxPulse1 4s ease-in-out infinite;
}
.poa-reactor.mining-active .rx-arc-2 {
    stroke-opacity: 0.35;
    stroke-width: 1.5;
    animation: rxFlow2 12s linear infinite reverse;
}
.poa-reactor.mining-active .rx-arc-3 {
    stroke-opacity: 0.18;
    stroke-width: 0.8;
    animation: rxFlow3 20s linear infinite;
}

@keyframes rxFlow1  { to { stroke-dashoffset: -239; } }
@keyframes rxFlow2  { to { stroke-dashoffset: -201; } }
@keyframes rxFlow3  { to { stroke-dashoffset: -277; } }
@keyframes rxPulse1 {
    0%, 100% { stroke-opacity: 0.5;  stroke-width: 2.5; }
    50%      { stroke-opacity: 0.85; stroke-width: 3;   }
}


/* ═══ L3: Core Status ═══
   Chip icon + status text · breathing glow */
.rx-core {
    position: relative;
    z-index: 5;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: radial-gradient(circle, #0f172a 0%, #080c16 100%);
    border: 1.5px solid rgba(255,255,255,0.04);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    transition: border-color 0.6s;
}
/* Glow halo (pseudo — cheaper than box-shadow anim) */
.rx-core::before {
    content: '';
    position: absolute;
    inset: -5px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0,224,198,0.12), transparent 70%);
    opacity: 0;
    transition: opacity 0.6s;
    pointer-events: none;
}
.rx-core-icon {
    font-size: 16px;
    color: #2d3a4f;
    transition: color 0.6s, text-shadow 0.6s;
    line-height: 1;
}
/* Override old #mining-status-text { font-size:12px!important } */
.poa-reactor #mining-status-text {
    font-size: 8px !important;
    color: #3d4a5f;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    transition: color 0.6s;
    line-height: 1;
}

/* Active core */
.poa-reactor.mining-active .rx-core {
    border-color: rgba(0,224,198,0.15);
}
.poa-reactor.mining-active .rx-core::before {
    opacity: 1;
    animation: rxCoreGlow 3s ease-in-out infinite;
}
.poa-reactor.mining-active .rx-core-icon {
    color: #00e0c6;
    text-shadow: 0 0 8px rgba(0,224,198,0.5);
}
.poa-reactor.mining-active #mining-status-text {
    color: #00e0c6 !important;
}
@keyframes rxCoreGlow {
    0%, 100% { opacity: 0.35; transform: scale(1);    }
    50%      { opacity: 0.9;  transform: scale(1.08); }
}


/* ═══ L4-A: Radar Scan Sweep ═══
   Trailing gradient · 5s per revolution
   Represents "on-chain block confirmations" */
.rx-scan {
    position: absolute;
    inset: 6px;
    border-radius: 50%;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.6s;
    background: conic-gradient(
        from 0deg,
        transparent 340deg,
        rgba(0,224,198,0.02) 348deg,
        rgba(0,224,198,0.1)  355deg,
        rgba(0,224,198,0.22) 359deg,
        transparent 360deg
    );
    will-change: transform;
}
.poa-reactor.mining-active .rx-scan {
    opacity: 1;
    animation: rxScanSweep 5s linear infinite;
}
@keyframes rxScanSweep { to { transform: rotate(360deg); } }


/* ═══ L4-B: Ripple Feedback ═══
   Triggered by JS class .rx-flash on reward/power-on */
.rx-ripple {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    border: 1.5px solid rgba(0,224,198,0.3);
    pointer-events: none;
    opacity: 0;
    width: 48px; height: 48px;
}
.poa-reactor.rx-flash .rx-r1 {
    animation: rxRippleOut 0.9s ease-out forwards;
}
.poa-reactor.rx-flash .rx-r2 {
    animation: rxRippleOut 0.9s 0.12s ease-out forwards;
}
@keyframes rxRippleOut {
    0%   { width: 48px;  height: 48px;  opacity: 0.6; }
    100% { width: 130px; height: 130px; opacity: 0;   }
}


/* ═══ Ambient Glow Halo ═══ */
.rx-glow {
    position: absolute;
    inset: -12px;
    border-radius: 50%;
    pointer-events: none;
    opacity: 0;
    background: radial-gradient(circle, rgba(0,224,198,0.06) 0%, transparent 70%);
    transition: opacity 1s;
    will-change: opacity;
}
.poa-reactor.mining-active .rx-glow {
    opacity: 1;
    animation: rxGlowBreath 4.5s ease-in-out infinite;
}
@keyframes rxGlowBreath {
    0%, 100% { opacity: 0.4; }
    50%      { opacity: 1;   }
}


/* ═══ Reward Flash — instant brightening ═══ */
.poa-reactor.mining-active.rx-flash .rx-arc-1 {
    stroke-opacity: 1 !important;
    stroke-width: 3.5 !important;
    transition: stroke-opacity 0.15s, stroke-width 0.15s !important;
}
.poa-reactor.mining-active.rx-flash .rx-core::before {
    opacity: 1 !important;
    transform: scale(1.35) !important;
    transition: all 0.15s !important;
}


/* ═══ Settlement Approaching (optional JS class) ═══
   Warmer tones + faster pulse when countdown < 30min */
.poa-reactor.mining-active.rx-settling .rx-arc-1 {
    stroke: #fbbf24 !important;
    animation-duration: 5s, 2.5s !important;
}
.poa-reactor.mining-active.rx-settling .rx-scan {
    background: conic-gradient(
        from 0deg,
        transparent 340deg,
        rgba(251,191,36,0.02) 348deg,
        rgba(251,191,36,0.1)  355deg,
        rgba(251,191,36,0.2)  359deg,
        transparent 360deg
    ) !important;
}
.poa-reactor.mining-active.rx-settling .rx-glow {
    background: radial-gradient(circle, rgba(251,191,36,0.06) 0%, transparent 70%) !important;
}


/* ═══ Reduced Motion Accessibility ═══ */
@media (prefers-reduced-motion: reduce) {
    .poa-reactor .rx-orbit,
    .poa-reactor .rx-scan,
    .poa-reactor .rx-glow,
    .poa-reactor .rx-core::before {
        animation: none !important;
    }
    .poa-reactor .rx-arc {
        animation: none !important;
    }
}
/* ═══════════════════════════════════════════════════════
   Lucky Box — Premium Refinement v2.0
   ✦ 追加到 main.css 最末尾，覆盖旧样式
   ═══════════════════════════════════════════════════════ */

/* ── 1. 弹窗底色加深 ── */
#luckbox-modal .lb-modal {
    background: linear-gradient(180deg, #0a0e1a 0%, #060912 100%);
    border: 1px solid rgba(255,255,255,0.03);
    box-shadow: 0 25px 80px rgba(0,0,0,.9);
}

/* ── 2. 标题栏 — 金属拉丝 ── */
#luckbox-modal .lb-header {
    background: linear-gradient(180deg, #0d1220 0%, #0a0e1a 100%);
    border-bottom: none;
    padding: 16px 20px 14px;
    position: relative;
}
#luckbox-modal .lb-header::after {
    content: '';
    position: absolute;
    bottom: 0; left: 20%; right: 20%;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(0,224,198,0.12) 50%, transparent 100%);
    pointer-events: none;
}
#luckbox-modal .lb-logo {
    display: none !important;
}
#luckbox-modal .lb-title {
    font-size: 14px !important;
    letter-spacing: 6px !important;
    background: linear-gradient(180deg, #ffffff 0%, #8a9bb0 45%, #c8d4e0 55%, #ffffff 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    filter: none !important;
}
#luckbox-modal .lb-close {
    width: auto !important; height: auto !important;
    background: none !important; border: none !important;
    border-radius: 0 !important; box-shadow: none !important;
    color: #334155 !important; padding: 6px !important;
    transition: color 0.2s !important;
}
#luckbox-modal .lb-close:active { color: #94a3b8 !important; }

/* ── 3. 主体间距 ── */
#luckbox-modal .lb-body {
    padding: 14px 16px;
    gap: 14px;
}

/* ── 4. 余额面板 — 毛玻璃 ── */
#luckbox-modal #lb-balance-display .lb-bal-panel {
    background: linear-gradient(135deg, rgba(14,21,37,0.95), rgba(17,24,39,0.90));
    border: 1px solid rgba(0,224,198,0.05);
    border-top-color: rgba(255,255,255,0.03);
    box-shadow: 0 1px 0 rgba(0,224,198,0.02) inset, 0 4px 20px rgba(0,0,0,0.3);
    border-radius: 12px; padding: 14px 16px;
    backdrop-filter: blur(12px);
}
#luckbox-modal .lb-bal-label {
    font-size: 10px; color: #475569;
    letter-spacing: 1.5px; text-transform: uppercase;
    font-family: 'Barlow Condensed', sans-serif;
}
#luckbox-modal .lb-bal-number {
    font-size: 22px; font-weight: 900; color: #00e0c6;
    font-family: 'JetBrains Mono', monospace;
}
#luckbox-modal .lb-bal-unit {
    font-size: 11px; color: #334155; font-weight: 500; margin-left: 4px;
}
/* 充值按钮收敛 */
#luckbox-modal .lb-recharge-btn {
    background: linear-gradient(180deg, #00d4bb, #00a894);
    border: none; border-radius: 8px;
    padding: 7px 16px; font-size: 11px; font-weight: 700;
    color: #000; cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,224,198,0.2);
    transition: all 0.15s; white-space: nowrap;
    font-family: 'Barlow Condensed', sans-serif;
}
#luckbox-modal .lb-recharge-btn:active { transform: translateY(1px); }
#luckbox-modal .lb-recharge-hint {
    font-size: 9px; color: #00e0c6; opacity: 0.5;
    text-align: center; margin-top: 3px;
}
/* 提现按钮 */
#luckbox-modal .lb-withdraw-btn-v2 {
    background: transparent; border: 1px solid rgba(0,224,198,0.1);
    border-radius: 8px; padding: 7px 14px;
    font-size: 11px; font-weight: 600;
    color: #64748b; cursor: pointer;
    font-family: 'Barlow Condensed', sans-serif;
    transition: all 0.15s;
}
#luckbox-modal .lb-withdraw-btn-v2:active { transform: translateY(1px); }

/* ── 5. 盒子卡片 — 重做选中/未选中 ── */
#luckbox-modal .lb-tier-row {
    gap: 10px;
    padding: 0 6px;
}
#luckbox-modal .lb-tier-card {
    background: linear-gradient(180deg, #0e1525 0%, #0a0f1c 100%) !important;
    border: 1px solid rgba(255,255,255,0.04) !important;
    border-radius: 12px !important;
    transition: all 0.4s cubic-bezier(0.4,0,0.2,1) !important;
    position: relative !important;
    overflow: visible !important;
}

/* 选中 = 浮起 + 细亮边 + 底部垫光 */
#luckbox-modal .lb-tier-card.lb-selected {
    transform: scale(1) translateY(-4px) !important;
    opacity: 1 !important;
    filter: none !important;
    animation: none !important;
}
#luckbox-modal .lb-tier-card[data-tier="bronze"].lb-selected {
    border: 1px solid rgba(205,127,50,0.7) !important;
    box-shadow: 0 0 1px rgba(205,127,50,0.8), 0 0 15px rgba(205,127,50,0.12), 0 8px 28px rgba(0,0,0,0.35) !important;
}
#luckbox-modal .lb-tier-card[data-tier="gold"].lb-selected {
    border: 1px solid rgba(255,215,0,0.6) !important;
    box-shadow: 0 0 1px rgba(255,215,0,0.7), 0 0 15px rgba(255,215,0,0.12), 0 8px 28px rgba(0,0,0,0.35) !important;
}
#luckbox-modal .lb-tier-card[data-tier="diamond"].lb-selected {
    border: 1px solid rgba(192,132,252,0.6) !important;
    box-shadow: 0 0 1px rgba(192,132,252,0.7), 0 0 15px rgba(192,132,252,0.12), 0 8px 28px rgba(0,0,0,0.35) !important;
}

/* 未选中 = 静止暗淡，无呼吸 */
#luckbox-modal .lb-tier-card:not(.lb-selected) {
    opacity: 0.35 !important;
    transform: scale(0.90) !important;
    filter: saturate(0.25) brightness(0.7) !important;
    animation: none !important;
}

/* 底部椭圆垫光（选中） */
#luckbox-modal .lb-tier-card.lb-selected::after {
    content: '';
    position: absolute;
    bottom: -10px; left: 50%; transform: translateX(-50%);
    width: 75%; height: 18px;
    border-radius: 50%;
    filter: blur(10px);
    opacity: 0.5;
    pointer-events: none; z-index: -1;
}
#luckbox-modal .lb-tier-card[data-tier="bronze"].lb-selected::after { background: rgba(205,127,50,0.3); }
#luckbox-modal .lb-tier-card[data-tier="gold"].lb-selected::after { background: rgba(255,215,0,0.25); }
#luckbox-modal .lb-tier-card[data-tier="diamond"].lb-selected::after { background: rgba(192,132,252,0.3); }

/* ── 6. 礼盒材质 — 多段金属渐变 ── */
/* Bronze */
#luckbox-modal .lb-giftbox[data-tier="bronze"] .lb-giftbox-body {
    background: linear-gradient(165deg, #8b6914 0%, #cd7f32 35%, #e8a54b 50%, #cd7f32 65%, #8b5e14 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.1), 0 2px 8px rgba(0,0,0,0.4) !important;
}
#luckbox-modal .lb-giftbox[data-tier="bronze"] .lb-giftbox-lid {
    background: linear-gradient(165deg, #9a7020 0%, #cd7f32 40%, #e8a54b 55%, #cd7f32 70%, #8b5e14 100%) !important;
    box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), 0 2px 4px rgba(0,0,0,0.3) !important;
}
/* Gold */
#luckbox-modal .lb-giftbox[data-tier="gold"] .lb-giftbox-body {
    background: linear-gradient(165deg, #a17c0a 0%, #d4a017 20%, #ffd700 42%, #fff5c0 50%, #ffd700 58%, #d4a017 80%, #a17c0a 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.2), 0 2px 8px rgba(0,0,0,0.4) !important;
}
#luckbox-modal .lb-giftbox[data-tier="gold"] .lb-giftbox-lid {
    background: linear-gradient(165deg, #b8940e 0%, #ffd700 40%, #fff8d6 52%, #ffd700 64%, #b8940e 100%) !important;
    box-shadow: inset 0 2px 0 rgba(255,255,255,0.25), 0 2px 4px rgba(0,0,0,0.3) !important;
}
/* Diamond */
#luckbox-modal .lb-giftbox[data-tier="diamond"] .lb-giftbox-body {
    background: linear-gradient(165deg, #6b21a8 0%, #9333ea 25%, #c084fc 45%, #e9d5ff 52%, #c084fc 59%, #9333ea 75%, #6b21a8 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.18), 0 2px 8px rgba(0,0,0,0.4) !important;
}
#luckbox-modal .lb-giftbox[data-tier="diamond"] .lb-giftbox-lid {
    background: linear-gradient(165deg, #7c3aed 0%, #c084fc 40%, #f0e4ff 52%, #c084fc 64%, #7c3aed 100%) !important;
    box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), 0 2px 4px rgba(0,0,0,0.3) !important;
}
/* 盒身反光条 */
#luckbox-modal .lb-giftbox-body::before { display: block !important; }
#luckbox-modal .lb-giftbox-body::after { display: block !important; }
#luckbox-modal .lb-giftbox-body::before {
    content: '' !important;
    position: absolute !important; top: 5px !important; left: 6px !important;
    width: 5px !important; height: 55% !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.18), transparent) !important;
    border-radius: 3px !important; pointer-events: none !important;
    z-index: 1 !important;
}
/* 问号 Orbitron */
#luckbox-modal .lb-giftbox-q {
    font-family: 'Orbitron', sans-serif !important;
    color: rgba(255,255,255,0.2) !important;
    text-shadow: 0 0 16px currentColor !important;
    font-size: 20px !important;
}

/* ── 7. Action Card ── */
#luckbox-modal .lb-action-card {
    background: linear-gradient(180deg, #0e1525 0%, #0a0f1c 100%) !important;
    border: 1px solid rgba(255,255,255,0.04) !important;
    border-radius: 12px !important;
    padding: 14px !important;
}
#luckbox-modal .lb-action-name {
    font-size: 13px !important;
    letter-spacing: 2.5px !important;
}
#luckbox-modal .lb-action-max {
    font-size: 10px !important; color: #475569 !important;
}

/* ── 8. 按钮分级 ── */
/* 主按钮 ×1 → 实体感（底部暗边） */
#luckbox-modal .lb-buy-1 {
    border-bottom: 2.5px solid rgba(0,0,0,0.5) !important;
    position: relative !important;
}
/* 顶部内高光 */
#luckbox-modal .lb-buy-1::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0; height: 1px;
    background: rgba(255,255,255,0.15);
    border-radius: 10px 10px 0 0;
    pointer-events: none;
}
#luckbox-modal .lb-buy-1:active {
    transform: translateY(1px) !important;
    border-bottom-width: 1px !important;
    box-shadow: none !important;
}

/* 副按钮 ×10, ×50 → 克制暗底 */
#luckbox-modal .lb-open-btn:not(.lb-buy-1) {
    background: rgba(10, 14, 26, 0.8) !important;
    border: 1px solid rgba(255,255,255,0.04) !important;
    border-bottom: 2px solid rgba(0,0,0,0.3) !important;
    color: #7c8aa0 !important;
    font-weight: 600 !important;
}
#luckbox-modal .lb-open-btn:not(.lb-buy-1):hover,
#luckbox-modal .lb-open-btn:not(.lb-buy-1):active {
    border-color: rgba(0,224,198,0.08) !important;
    color: #a3b1c6 !important;
}

/* 折扣标签 → 纯文字，去掉背景色块 */
#luckbox-modal .lb-open-btn span[style*="background:rgba(0,224,198"] {
    background: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    color: #00e0c6 !important;
    font-size: 10px !important;
    opacity: 0.65 !important;
    margin-left: 4px !important;
}

/* ── 9. 保底进度条 → 更细更暗 ── */
#luckbox-modal .lb-guarantee-bar {
    height: 3px !important;
    background: rgba(255,255,255,0.03) !important;
    border-radius: 1.5px !important;
}
#luckbox-modal .lb-guarantee-fill {
    box-shadow: none !important;
    border-radius: 1.5px !important;
}
/* 保底数字 → 安静 */
#luckbox-modal .lb-guarantee-count {
    font-size: 11px !important;
    font-weight: 600 !important;
}
#luckbox-modal .lb-guarantee-label-text {
    font-size: 10px !important;
    color: #475569 !important;
}
/* 去掉数字闪光动画 */
#luckbox-modal .lb-num-flash {
    animation: none !important;
}

/* ── 10. 折叠区统一风格 ── */
#luckbox-modal .lb-section-card {
    background: rgba(10,14,26,0.6) !important;
    border: 1px solid rgba(255,255,255,0.03) !important;
    border-radius: 10px !important;
}
#luckbox-modal .lb-section-header {
    padding: 12px 14px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #64748b !important;
    font-family: 'Barlow Condensed', sans-serif !important;
    letter-spacing: 0.5px !important;
}
#luckbox-modal .lb-section-header span:first-child {
    font-size: 12px !important;
}
#luckbox-modal .lb-collapse-arrow {
    font-size: 11px !important;
    color: #94a3b8 !important;
}
#luckbox-modal .lb-collapse.open .lb-collapse-arrow {
    transform: rotate(180deg) !important;
    color: #64748b !important;
}

/* ── 12. 播报栏 ── */
#luckbox-modal .lb-ticker {
    background: rgba(0,0,0,0.15) !important;
    border-bottom: 1px solid rgba(255,255,255,0.02) !important;
}
#luckbox-modal .lb-ticker-toggle-bar {
    background: rgba(0,0,0,0.1) !important;
    border-bottom: 1px solid rgba(255,255,255,0.02) !important;
    height: 18px !important;
}

/* ── 13. 全局光效收敛 ── */
/* 保底进度条 glow 全部移除 */
#luckbox-modal .lb-action-card[data-tier="bronze"] .lb-guarantee-fill,
#luckbox-modal .lb-action-card[data-tier="gold"] .lb-guarantee-fill,
#luckbox-modal .lb-action-card[data-tier="diamond"] .lb-guarantee-fill {
    box-shadow: none !important;
}
/* price tag 发光移除 */
#luckbox-modal .lb-tier-price {
    box-shadow: none !important;
}

/* ── 14. 移动端微调 ── */
@media (max-width: 480px) {
    #luckbox-modal .lb-tier-card.lb-selected {
        transform: scale(1) translateY(-3px) !important;
    }
    #luckbox-modal .lb-tier-card:not(.lb-selected) {
        transform: scale(0.88) !important;
    }
    #luckbox-modal .lb-giftbox-q {
        font-size: 16px !important;
    }
    #luckbox-modal .lb-action-card {
        padding: 10px !important;
    }
    #luckbox-modal .lb-action-name {
        font-size: 11px !important;
        letter-spacing: 1.5px !important;
    }
    #luckbox-modal .lb-guarantee-bar {
        height: 2px !important;
    }
    
}
/* ── Reactor: Idle 美化（强制覆盖版）── */
.poa-reactor:not(.mining-active) .rx-core-icon {
    font-size: 28px !important;
    color: #475569 !important;
    opacity: 1 !important;
    animation: idlePulse 4s ease-in-out infinite !important;
}
@keyframes idlePulse {
    0%, 100% { opacity: 0.4; transform: scale(1); filter: drop-shadow(0 0 0 transparent); }
    50%      { opacity: 0.8; transform: scale(1.1); filter: drop-shadow(0 0 14px rgba(0,224,198,0.25)); }
}

.poa-reactor:not(.mining-active) .rx-glow {
    opacity: 0.15 !important;
    animation: idleGlow 5s ease-in-out infinite !important;
}
@keyframes idleGlow {
    0%, 100% { opacity: 0.08; }
    50%      { opacity: 0.2; }
}

.poa-reactor:not(.mining-active) .rx-orbit {
    opacity: 0.2 !important;
    animation: idleSpin 30s linear infinite !important;
}
@keyframes idleSpin {
    to { transform: rotate(360deg); }
}

.poa-reactor:not(.mining-active) .rx-core {
    border-color: rgba(0,224,198,0.08) !important;
}

/* 挖矿激活后图标恢复 */
.poa-reactor.mining-active .rx-core-icon {
    font-size: 22px !important;
    color: #00e0c6 !important;
    filter: drop-shadow(0 0 10px rgba(0,224,198,0.6)) !important;
    animation: none !important;
    opacity: 1 !important;
}
/* ═══════════════════════════════════════════════════════
   IEO LAUNCHPAD — Premium Visual v1.0
   ═══════════════════════════════════════════════════════ */

/* ── Tab Switcher ── */
.ieo-tabs {
    background: #080c16 !important;
    border: 1px solid rgba(255,255,255,0.04) !important;
    border-radius: 12px !important;
    padding: 3px !important;
    margin: 0 15px 15px !important;
}
.ieo-tab-item {
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #3d4a5f !important;
    border-radius: 9px !important;
    padding: 10px 8px !important;
    transition: all 0.35s ease !important;
    letter-spacing: 0.5px !important;
    position: relative !important;
}
.ieo-tab-item.active {
    color: #e2e8f0 !important;
    background: rgba(255,255,255,0.04) !important;
    box-shadow: 0 1px 10px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.04) !important;
}

/* ── Info Card (top explainer) refinement ── */
.info-card.ieo-card {
    border-left-width: 3px !important;
    background: linear-gradient(135deg, rgba(234,179,8,0.08) 0%, rgba(10,14,26,0.95) 100%) !important;
}

/* ═══ Project Card ═══ */
.ieo-pc {
    background: linear-gradient(180deg, #0e1525 0%, #0a0f1c 100%);
    border: 1px solid rgba(255,255,255,0.05);
    border-radius: 16px;
    padding: 20px;
    margin: 0 15px 14px;
    position: relative;
    overflow: hidden;
    transition: border-color 0.4s, box-shadow 0.4s;
}
/* Subtle top-edge highlight */
.ieo-pc::before {
    content: '';
    position: absolute;
    top: 0; left: 15%; right: 15%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.06), transparent);
    pointer-events: none;
}
/* Ambient glow on hover */
.ieo-pc::after {
    content: '';
    position: absolute;
    bottom: -15px; left: 20%; width: 60%; height: 30px;
    border-radius: 50%;
    background: var(--ieo-accent, rgba(0,224,198,0.08));
    filter: blur(18px);
    opacity: 0;
    transition: opacity 0.5s;
    pointer-events: none;
    z-index: 0;
}
.ieo-pc:hover::after { opacity: 1; }

/* ── Card Header ── */
.ieo-pc-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
    position: relative;
    z-index: 1;
}
.ieo-pc-left {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

/* ── Icon Badge ── */
.ieo-pc-badge {
    width: 44px;
    height: 44px;
    border-radius: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #fff;
    flex-shrink: 0;
    position: relative;
    box-shadow: 0 4px 16px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.12);
}
/* Inner glow ring */
.ieo-pc-badge::after {
    content: '';
    position: absolute;
    inset: -3px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.04);
    pointer-events: none;
}

/* ── Token Name & Gain ── */
.ieo-pc-name {
    color: #f1f5f9;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.5px;
    line-height: 1.2;
}
.ieo-pc-gain {
    font-size: 11px;
    margin-top: 3px;
    line-height: 1;
}

/* ── Price Display ── */
.ieo-pc-right {
    text-align: right;
    flex-shrink: 0;
}
.ieo-pc-price {
    font-family: 'JetBrains Mono', 'SF Mono', monospace;
    font-size: 17px;
    font-weight: 300;
    color: #f1f5f9;
    letter-spacing: -0.3px;
    line-height: 1.2;
}
.ieo-pc-plabel {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 9px;
    color: #334155;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-top: 4px;
}

/* ── Progress Bar ── */
.ieo-pc-track {
    height: 3px;
    background: rgba(255,255,255,0.04);
    border-radius: 2px;
    margin-bottom: 14px;
    overflow: hidden;
    position: relative;
    z-index: 1;
}
.ieo-pc-fill {
    height: 100%;
    border-radius: 2px;
    transition: width 1.2s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}
/* Subtle trailing glow */
.ieo-pc-fill::after {
    content: '';
    position: absolute;
    right: 0; top: -2px;
    width: 20px; height: 7px;
    background: inherit;
    filter: blur(6px);
    opacity: 0.6;
    border-radius: 50%;
    pointer-events: none;
}

/* ── Meta Row (% + status) ── */
.ieo-pc-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11.5px;
    color: #475569;
    margin-bottom: 18px;
    position: relative;
    z-index: 1;
}
.ieo-pc-pct {
    font-family: 'JetBrains Mono', monospace;
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 0.3px;
}

/* ── Actions Row ── */
.ieo-pc-foot {
    display: flex;
    gap: 10px;
    align-items: center;
    position: relative;
    z-index: 1;
}

/* ── Input Wrapper ── */
.ieo-pc-input-wrap {
    flex: 1;
    display: flex;
    gap: 5px;
    align-items: center;
    min-width: 0;
}
.ieo-pc-input {
    flex: 1;
    min-width: 0;
    height: 42px;
    background: #080c16;
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 10px;
    color: #e2e8f0;
    font-size: 13px;
    font-weight: 600;
    padding: 0 14px;
    outline: none;
    transition: border-color 0.25s;
    font-family: 'JetBrains Mono', monospace;
}
.ieo-pc-input:focus {
    border-color: rgba(0,224,198,0.25);
    box-shadow: 0 0 0 3px rgba(0,224,198,0.04);
}
.ieo-pc-input::placeholder {
    color: #2a3245;
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    font-weight: 500;
    font-size: 11px;
}

/* ── MAX Button ── */
.ieo-pc-max {
    height: 42px;
    padding: 0 12px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
    color: #475569;
    border-radius: 10px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.5px;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: all 0.2s;
}
.ieo-pc-max:hover {
    color: #00e0c6;
    border-color: rgba(0,224,198,0.2);
    background: rgba(0,224,198,0.04);
}
.ieo-pc-max:active { transform: scale(0.95); }

/* ── Wallet Value Display (LOCK/CLAIM) ── */
.ieo-pc-wallet {
    flex: 1;
    height: 42px;
    background: #080c16;
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 10px;
    padding: 0 14px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    font-size: 13px;
    font-family: 'JetBrains Mono', monospace;
    overflow: hidden;
    white-space: nowrap;
    min-width: 0;
}
.ieo-pc-wallet i { flex-shrink: 0; font-size: 14px; }
.ieo-pc-wallet span {
    overflow: hidden;
    text-overflow: ellipsis;
}
.ieo-pc-wallet--empty {
    color: #2a3245;
    font-family: -apple-system, sans-serif;
    font-size: 12px;
    font-weight: 500;
}
.ieo-pc-wallet--profit {
    color: #22c55e;
    border-color: rgba(34,197,94,0.15);
}

/* ═══ Action Button — 4 States ═══ */
.ieo-pc-btn {
    width: 110px;
    height: 42px;
    border-radius: 11px;
    border: none;
    font-weight: 700;
    font-size: 12px;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    transition: all 0.3s;
    flex-shrink: 0;
    position: relative;
    letter-spacing: 0.3px;
}
.ieo-pc-btn:active { transform: scale(0.96); }

/* SUB — primary CTA */
.ieo-pc-btn.active {
    background: linear-gradient(180deg, #00e8cc 0%, #00c4ac 100%);
    color: #052e29;
    box-shadow: 0 4px 18px rgba(0,224,198,0.2), inset 0 1px 0 rgba(255,255,255,0.15);
}
.ieo-pc-btn.active::after {
    content: '';
    position: absolute; top: 0; left: -100%;
    width: 200%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.08), transparent);
    animation: ieo-btn-shimmer 4s infinite;
    pointer-events: none;
}
@keyframes ieo-btn-shimmer { 0%{left:-100%} 100%{left:100%} }

/* LOCK — countdown timer */
.ieo-pc-btn.locked {
    background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
    color: #94a3b8;
    border: 1px solid rgba(255,255,255,0.06);
    font-family: 'JetBrains Mono', monospace;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    cursor: default;
}

/* CLAIM — gold harvest */
.ieo-pc-btn.claim {
    background: linear-gradient(180deg, #fcd34d 0%, #d97706 100%);
    color: #451a03;
    box-shadow: 0 4px 18px rgba(234,179,8,0.25), inset 0 1px 0 rgba(255,255,255,0.2);
    animation: ieo-claim-pulse 2.5s ease-in-out infinite;
}
@keyframes ieo-claim-pulse {
    0%, 100% { box-shadow: 0 4px 18px rgba(234,179,8,0.2); }
    50%      { box-shadow: 0 4px 28px rgba(234,179,8,0.35); }
}

/* DISABLED — muted */
.ieo-pc-btn.disabled {
    background: #0e1320;
    color: #2a3245;
    cursor: not-allowed;
    border: 1px solid rgba(255,255,255,0.03);
}
.ieo-pc-btn.disabled:active { transform: none; }

/* ═══ Locked / Coming-Soon Card ═══ */
.ieo-pc--locked {
    background: linear-gradient(180deg, #0a0e18 0%, #080b14 100%) !important;
    border-color: rgba(255,255,255,0.025) !important;
}
.ieo-pc--locked .ieo-pc-badge {
    filter: grayscale(1) brightness(0.3);
    box-shadow: none;
}
.ieo-pc--locked .ieo-pc-name { color: #1e293b; }
.ieo-pc--locked .ieo-pc-right { color: #111827; }
.ieo-pc--locked .ieo-pc-price { color: #1a2030; font-weight: 200; }
.ieo-pc--locked .ieo-pc-plabel { color: #111827; }
.ieo-pc--locked .ieo-pc-track { background: #0c1019; }
.ieo-pc--locked .ieo-pc-meta { color: #111827; }
.ieo-pc--locked::after { display: none; }

.ieo-pc-lock-input {
    flex: 1;
    height: 42px;
    background: #070a12;
    border: 1px solid rgba(255,255,255,0.025);
    border-radius: 10px;
    color: #1e293b;
    font-size: 11px;
    font-weight: 600;
    padding: 0 14px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.ieo-pc-lock-btn {
    width: 110px;
    height: 42px;
    border-radius: 11px;
    border: 1px solid rgba(255,255,255,0.025);
    background: #0a0e18;
    color: #1e293b;
    font-size: 11px;
    font-weight: 700;
    cursor: not-allowed;
    letter-spacing: 0.5px;
}

/* Lock watermark */
.ieo-pc-watermark {
    position: absolute;
    right: -5px; bottom: -8px;
    font-size: 60px;
    opacity: 0.015;
    pointer-events: none;
    z-index: 0;
}

/* ═══ Coming-Soon Placeholder (no config) ═══ */
.ieo-placeholder {
    text-align: center;
    padding: 55px 24px;
    margin: 0 15px;
}
.ieo-placeholder-icon {
    width: 64px; height: 64px;
    background: rgba(0,224,198,0.05);
    border: 1px solid rgba(0,224,198,0.08);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}
.ieo-placeholder-icon i {
    font-size: 28px;
    color: #1a3a35;
}
.ieo-placeholder h3 {
    color: #cbd5e1;
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 10px;
}
.ieo-placeholder p {
    color: #475569;
    font-size: 12.5px;
    line-height: 1.8;
    margin: 0;
}
/* ═══════════════════════════════════════════════════════
   HOMEPAGE VISUAL REFINEMENT v1.0  ·  2026-04-23
   ─────────────────────────────────────────────────────
   Reduce noise · Unify controls · Clarify hierarchy
   Append to END of main.css — cascade override
   ═══════════════════════════════════════════════════════ */

/* ── 0. Design Tokens ── */
:root {
    --rf-card:         linear-gradient(180deg, #0e1525 0%, #0a0f1c 100%);
    --rf-b:            rgba(255,255,255,0.04);
    --rf-b2:           rgba(255,255,255,0.06);
    --rf-t3:           #475569;
    --rf-t2:           #94a3b8;
    --rf-t1:           #f1f5f9;
    --rf-r:            14px;
    --rf-rs:           10px;
    --rf-gap:          14px;
}


/* ═══════════════════════════════════
   1. NAVIGATION BAR
   ═══════════════════════════════════ */

.navbar {
    padding: 12px 20px !important;
    padding-top: calc(var(--sat) + 8px) !important;
    border-bottom: none !important;
}
.navbar::after {
    content: '';
    position: absolute;
    bottom: 0; left: 12%; right: 12%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.06), transparent);
    pointer-events: none;
}
.brand-text {
    letter-spacing: 0.5px !important;
    font-size: 17px !important;
}

/* 统一胶囊按钮 */
.nav-btn {
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 12px !important;
    border-radius: 15px !important;
    background: rgba(255,255,255,0.03) !important;
    border: 1px solid var(--rf-b2) !important;
    font-size: 11px !important;
    gap: 4px !important;
    transition: border-color 0.2s !important;
}
.nav-btn:active {
    border-color: rgba(0,224,198,0.15) !important;
}
.nav-btn.icon-only {
    width: 30px !important;
    padding: 0 !important;
    display: flex !important;
    justify-content: center !important;
}

/* 下拉菜单统一 */
.dropdown-content {
    background: #0e1525 !important;
    border: 1px solid var(--rf-b2) !important;
    border-radius: var(--rf-rs) !important;
    box-shadow: 0 12px 40px rgba(0,0,0,0.55) !important;
}
.dd-item {
    border-bottom-color: var(--rf-b) !important;
    padding: 11px 14px !important;
    font-size: 12px !important;
    color: #5a6577 !important;
    transition: background 0.15s, color 0.15s !important;
}
.dd-item:hover,
.dd-item.active {
    background: rgba(0,224,198,0.04) !important;
    color: #e2e8f0 !important;
}


/* ═══════════════════════════════════
   2. ASSET CARD (VIP)
   ═══════════════════════════════════ */

.vip-card {
    margin: var(--rf-gap) 16px !important;
    padding: 22px 20px !important;
    background: var(--rf-card) !important;
    border: 1px solid var(--rf-b) !important;
    border-radius: var(--rf-r) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.25) !important;
    overflow: hidden !important;
}

/* 等级标签 → 安静灰 */
strong#home-level,
strong#home-level span#home-level {
    color: var(--rf-t2) !important;
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid var(--rf-b2) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    padding: 1px 6px !important;
    text-shadow: none !important;
}
.vip-badge {
    font-size: 10px !important;
    color: var(--rf-t3) !important;
}
.vip-link {
    font-size: 10px !important;
    color: #334155 !important;
}

/* 总资产数字 = 绝对视觉焦点 */
.total-assets h2 {
    font-family: 'JetBrains Mono', 'SF Mono', monospace !important;
    font-size: 36px !important;
    font-weight: 700 !important;
    letter-spacing: -1px !important;
    text-shadow: none !important;
    color: var(--rf-t1) !important;
    margin: 0 0 16px !important;
}
.asset-label {
    font-size: 12px !important;
    color: var(--rf-t3) !important;
    letter-spacing: 0.3px !important;
    font-family: -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* 钱包按钮 → 微实心 */
.wallet-pill {
    background: rgba(0,224,198,0.06) !important;
    border: 1px solid rgba(0,224,198,0.18) !important;
    padding: 8px 28px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    border-radius: 22px !important;
    transition: background 0.2s, border-color 0.2s !important;
}
.wallet-pill:active {
    background: rgba(0,224,198,0.1) !important;
}

/* 升级提示 → 统一灰色 */
#vip-next-hint {
    font-size: 11px !important;
    color: var(--rf-t3) !important;
}
#vip-hint {
    color: var(--rf-t3) !important;
    font-size: 11px !important;
}

/* 进度条 → 居中收窄 */
.vip-footer {
    margin-top: 16px !important;
    padding-top: 14px !important;
}
.vip-card .progress-track {
    width: 82% !important;
    margin: 10px auto 0 !important;
    background: rgba(255,255,255,0.04) !important;
    border-radius: 2px !important;
}
.progress-fill {
    box-shadow: none !important;
    border-radius: 2px !important;
}


/* ═══════════════════════════════════
   3. NOTICE BAR
   ═══════════════════════════════════ */

.notice-container {
    padding: 0 16px !important;
    margin-bottom: var(--rf-gap) !important;
}
.notice-bar {
    height: 34px !important;
    border-left: 2px solid rgba(251,191,36,0.3) !important;
    border-top: 1px solid var(--rf-b) !important;
    border-right: 1px solid var(--rf-b) !important;
    border-bottom: 1px solid var(--rf-b) !important;
    background: rgba(15,23,42,0.5) !important;
    box-shadow: none !important;
}
#sys-notice {
    font-size: 11px !important;
}
.notice-more {
    color: #334155 !important;
}


/* ═══════════════════════════════════
   4. FUNCTION TABS (三入口)
   ═══════════════════════════════════ */

.action-grid {
    gap: 8px !important;
    padding: 0 16px !important;
    margin-bottom: 16px !important;
}

/* 基础态 → 深底暗字 */
.action-btn {
    background: #0c1019 !important;
    border: 1px solid var(--rf-b) !important;
    border-radius: 12px !important;
    padding: 14px 8px 16px !important;
    color: #4d5a6e !important;
    position: relative !important;
    text-shadow: none !important;
    box-shadow: none !important;
    transform: none !important;
    font-weight: normal !important;
    transition: all 0.3s ease !important;
    overflow: visible !important;
}

/* 清除未选中的 ::after */
.action-btn::after {
    content: none !important;
    display: none !important;
}

/* 选中态 → 极淡底 + 底部指示线 */
.action-btn.active,
.action-btn:hover {
    background: rgba(0,224,198,0.03) !important;
    border: 1px solid rgba(0,224,198,0.08) !important;
    color: #e2e8f0 !important;
    text-shadow: none !important;
    box-shadow: none !important;
    transform: none !important;
    font-weight: normal !important;
}
.action-btn.active::after {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 25% !important;
    right: 25% !important;
    height: 2px !important;
    background: #00e0c6 !important;
    border-radius: 1px 1px 0 0 !important;
}

.act-title {
    font-size: 12.5px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}
.act-sub {
    font-size: 10px !important;
    opacity: 0.4 !important;
}
.action-btn.active .act-sub {
    opacity: 0.6 !important;
}

/* IEO 红点保持不变 */
.action-btn .ieo-dot {
    z-index: 2;
}


/* ═══════════════════════════════════
   5. INFO CARD (折叠说明区)
   ═══════════════════════════════════ */

.info-card {
    margin: 0 16px 12px !important;
    border-radius: 12px !important;
}
.ic-header {
    height: 50px !important;
    padding: 0 16px !important;
}
.ic-title {
    font-size: 13.5px !important;
    letter-spacing: 0.3px !important;
}
.ic-arrow {
    color: var(--rf-t2) !important;
    font-size: 18px !important;
    opacity: 1 !important;
}

/* 挖矿卡渐变收敛 */
.mining-card {
    background: linear-gradient(135deg, rgba(0,224,198,0.05) 0%, rgba(10,15,28,0.95) 100%) !important;
    border-left: 3px solid rgba(0,224,198,0.35) !important;
    border-top: 1px solid rgba(0,224,198,0.06) !important;
    border-bottom: 1px solid rgba(0,224,198,0.06) !important;
    border-right: 1px solid rgba(0,224,198,0.06) !important;
}
.mining-card:hover,
.mining-card.open {
    box-shadow: 0 0 16px rgba(0,224,198,0.08) !important;
}

/* 标签 → 去方块，纯文字 */
.ic-tags-row {
    padding: 14px 16px 10px !important;
    gap: 14px !important;
}
.ic-tags-row span {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    font-size: 11px !important;
    color: var(--rf-t2) !important;
    font-weight: 500 !important;
}

/* 描述文字 → 加粗标题用主色 */
.ic-desc-content {
    padding: 0 16px 16px !important;
}
.ic-row {
    font-size: 11.5px !important;
    line-height: 1.7 !important;
    color: #64748b !important;
}
.ic-row b {
    color: #00e0c6 !important;
    font-weight: 600 !important;
}


/* ═══════════════════════════════════
   6. MINING PANEL
   ═══════════════════════════════════ */

.mining-section {
    margin: 0 16px 14px !important;
    background: var(--rf-card) !important;
    border: 1px solid var(--rf-b) !important;
    border-radius: var(--rf-r) !important;
    padding: 16px !important;
}

/* 数据标签 → 安静 */
.stat-row {
    font-size: 12px !important;
    padding-bottom: 10px !important;
    margin-bottom: 10px !important;
    border-bottom: 1px solid var(--rf-b) !important;
}
.stat-row:last-child {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.stat-row span:first-child {
    color: var(--rf-t3) !important;
    font-size: 11px !important;
}
.stat-row span:last-child {
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

/* 日志框 → 和底色融合 */
.log-container {
    background: #060912 !important;
    border: 1px solid var(--rf-b) !important;
    border-radius: 8px !important;
    margin-top: 8px !important;
}
.log-item {
    color: rgba(0,224,198,0.5) !important;
    font-size: 10px !important;
}

/* Reactor idle → 再暗 15% */
.poa-reactor:not(.mining-active) .rx-core-icon {
    opacity: 0.25 !important;
}
.poa-reactor:not(.mining-active) .rx-glow {
    opacity: 0.06 !important;
}
.poa-reactor:not(.mining-active) .rx-orbit {
    opacity: 0.15 !important;
}

/* 开始挖矿 / 结算按钮 */
.start-btn-container {
    margin: 12px 16px var(--rf-gap) !important;
}
.btn-main {
    background: linear-gradient(180deg, #00e8cc 0%, #00c4ac 100%) !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 14px rgba(0,224,198,0.12) !important;
    border: none !important;
    border-bottom: 2.5px solid rgba(0,60,55,0.6) !important;
    position: relative !important;
    overflow: hidden !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px !important;
    padding: 13px !important;
}
/* 顶部高光线 */
.btn-main::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important; left: 0 !important; right: 0 !important;
    height: 1px !important;
    background: rgba(255,255,255,0.15) !important;
    pointer-events: none !important;
    border-radius: 12px 12px 0 0 !important;
}
.btn-main:active {
    transform: translateY(1px) !important;
    border-bottom-width: 1px !important;
    box-shadow: 0 2px 6px rgba(0,224,198,0.08) !important;
}
.btn-main:disabled {
    background: #1a2030 !important;
    color: #334155 !important;
    border-bottom-color: transparent !important;
    box-shadow: none !important;
}
.btn-main:disabled::before {
    display: none !important;
}


/* ═══════════════════════════════════
   7. PARTNER WALL
   ═══════════════════════════════════ */

.partner-title {
    font-size: 11px !important;
    color: #334155 !important;
    margin-bottom: 12px !important;
}
/* 左侧绿色竖条 → 收敛 */
.partner-title span[style*="background:#00e0c6"],
.partner-title span[style*="background: #00e0c6"] {
    width: 2px !important;
    box-shadow: none !important;
    background: rgba(0,224,198,0.35) !important;
}
.partner-title span[style*="color:#fff"],
.partner-title span[style*="color: #fff"] {
    color: #64748b !important;
    font-size: 11px !important;
    font-weight: 600 !important;
}

.partner-grid {
    gap: 8px !important;
    padding: 0 !important;
}
.p-card {
    height: 50px !important;
    background: #0c1019 !important;
    border: 1px solid rgba(255,255,255,0.03) !important;
    border-radius: var(--rf-rs) !important;
    gap: 0 !important;
    transition: border-color 0.2s !important;
}
.p-card span {
    color: #3d4a5f !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.3px !important;
}
.p-card:hover {
    border-color: rgba(0,224,198,0.06) !important;
    background: rgba(0,224,198,0.015) !important;
    transform: none !important;
    box-shadow: none !important;
}
.p-card:hover span {
    color: var(--rf-t2) !important;
}


/* ═══════════════════════════════════
   8. FOOTER
   ═══════════════════════════════════ */

.footer-section,
div[class="footer-section"],
#sub-mining > div:last-child {
    border-top: none !important;
    position: relative !important;
}
/* 渐变分割线代替硬线 */
#sub-mining .partner-grid + div {
    border-top: none !important;
}
#sub-mining .partner-grid + div::before {
    content: '';
    position: absolute;
    top: 0; left: 15%; right: 15%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.04), transparent);
    pointer-events: none;
}

/* 社交图标 → 更暗 */
#sub-mining a[style*="color:#94a3b8"] {
    color: #2a3245 !important;
}
/* 底部文字 → 更暗 */
#sub-mining div[style*="font-size: 11px; color: #64748b"] span,
#sub-mining div[style*="font-size: 10px; color: #475569"] p {
    opacity: 0.6;
}


/* ═══════════════════════════════════
   9. BOTTOM NAVIGATION
   ═══════════════════════════════════ */

.bottom-nav {
    background: rgba(8,11,20,0.96) !important;
    backdrop-filter: blur(12px) !important;
    border-top: 1px solid rgba(255,255,255,0.03) !important;
}
.nav-item {
    color: #3d4a5f !important;
    font-size: 10px !important;
}
.nav-item.active {
    color: #00e0c6 !important;
    transform: translateY(-2px) !important;
}
.nav-item i {
    font-size: 19px !important;
}
.nav-mid {
    width: 42px !important;
    height: 42px !important;
    border: 3px solid #080b14 !important;
    box-shadow: 0 0 10px rgba(0,224,198,0.15) !important;
    margin-top: -23px !important;
}


/* ═══════════════════════════════════
   10. TASK BANNER (首页)
   ═══════════════════════════════════ */

.task-banner {
    background: var(--rf-card) !important;
    border: 1px solid var(--rf-b) !important;
    border-radius: 12px !important;
    margin: 10px 0 !important;
}
.task-banner .tb-bar {
    background: rgba(255,255,255,0.03) !important;
}


/* ═══════════════════════════════════
   11. GLOBAL HARMONY
   ═══════════════════════════════════ */

/* 弹窗统一 */
.modal-overlay {
    background: rgba(0,0,0,0.85) !important;
}
.modal-content {
    background: #0e1525 !important;
    border: 1px solid var(--rf-b2) !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.5) !important;
}

/* 全局滚动条 */
body::-webkit-scrollbar { width: 3px; }
body::-webkit-scrollbar-track { background: transparent; }
body::-webkit-scrollbar-thumb { background: #1e293b; border-radius: 3px; }

/* 质押卡片面板也同步 */
.stake-grid-container {
    padding: 0 16px 10px !important;
}
.stake-input-group {
    padding: 0 16px !important;
}
.stake-input-group input {
    background: #080c16 !important;
    border: 1px solid var(--rf-b2) !important;
    border-radius: var(--rf-rs) !important;
    font-family: 'JetBrains Mono', monospace !important;
}
.stake-record-box {
    margin: 25px 16px !important;
    background: var(--rf-card) !important;
    border: 1px solid var(--rf-b) !important;
    border-radius: 12px !important;
}
.sr-title {
    border-left: 2px solid rgba(0,224,198,0.4) !important;
    font-size: 13px !important;
}

/* 质押折叠卡渐变收敛 */
.staking-card {
    background: linear-gradient(135deg, rgba(168,85,247,0.05) 0%, rgba(10,15,28,0.95) 100%) !important;
    border-left: 3px solid rgba(168,85,247,0.35) !important;
}

/* IEO 折叠卡渐变收敛 */
.info-card.ieo-card {
    background: linear-gradient(135deg, rgba(234,179,8,0.05) 0%, rgba(10,15,28,0.95) 100%) !important;
    border-left: 3px solid rgba(234,179,8,0.35) !important;
}



/* hover/active 全局不浮动 */
.p-card:hover,
.action-btn:hover,
.action-btn.active {
    transform: none !important;
}
/* 进度条 — 收窄居中变细 */
.vip-card .progress-track,
.vip-card div[style*="overflow: hidden"][style*="border-radius"] {
    height: 3px !important;
    background: rgba(255,255,255,0.05) !important;
}
.vip-card .progress-fill,
.vip-card div[style*="overflow: hidden"] > div {
    opacity: 0.5 !important;
    box-shadow: none !important;
}


/* ═══════════════════════════════════
   全勤奖卡片 — 顶部重点
   ═══════════════════════════════════ */

.task-allclear {
    background: linear-gradient(135deg, rgba(234,179,8,0.06) 0%, rgba(11,17,32,0.95) 100%) !important;
    border: 1px solid rgba(234,179,8,0.12) !important;
    border-left: 3px solid rgba(234,179,8,0.4) !important;
    border-radius: 14px !important;
    padding: 16px !important;
    margin-bottom: 18px !important;
    position: relative !important;
    overflow: hidden !important;
}
/* 微光背景 */
.task-allclear::before {
    content: '' !important;
    position: absolute !important;
    top: -30px; right: -30px !important;
    width: 80px; height: 80px !important;
    background: radial-gradient(circle, rgba(234,179,8,0.06) 0%, transparent 70%) !important;
    pointer-events: none !important;
}
.task-allclear.done {
    border-color: rgba(255,255,255,0.04) !important;
    border-left-color: rgba(255,255,255,0.08) !important;
    opacity: 0.5 !important;
}

.tac-top {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}
.tac-icon {
    font-size: 28px !important;
    line-height: 1 !important;
}
.tac-name {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #f1f5f9 !important;
    margin-bottom: 2px !important;
}
.tac-reward {
    font-size: 11px !important;
    color: #64748b !important;
    font-weight: 400 !important;
}

/* 全勤进度条 */
.tac-bar-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 12px !important;
}
.tac-bar {
    flex: 1 !important;
    height: 4px !important;
    background: rgba(255,255,255,0.06) !important;
    border-radius: 2px !important;
    overflow: hidden !important;
}
.tac-fill {
    height: 100% !important;
    background: linear-gradient(90deg, #f59e0b, #eab308) !important;
    border-radius: 2px !important;
    transition: width 0.5s ease !important;
    box-shadow: none !important;
}
.tac-pct {
    font-size: 11px !important;
    color: #64748b !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-weight: 500 !important;
    min-width: 28px !important;
    text-align: right !important;
}


/* ═══════════════════════════════════
   分组标题
   ═══════════════════════════════════ */

.task-sec-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 2px !important;
    margin: 6px 0 10px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #e2e8f0 !important;
    letter-spacing: 0.2px !important;
}
.task-sec-count {
    font-size: 11px !important;
    color: #475569 !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-weight: 500 !important;
    background: rgba(255,255,255,0.03) !important;
    padding: 2px 8px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(255,255,255,0.04) !important;
}

/* 成长子分类标签 */
.task-cat-label {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #475569 !important;
    padding: 10px 2px 6px !important;
    margin-top: 4px !important;
    border-top: 1px solid rgba(255,255,255,0.03) !important;
    letter-spacing: 0.5px !important;
}
/* 第一个分类不加上边线 */
.task-sec-title + .task-cat-label {
    border-top: none !important;
    padding-top: 4px !important;
}


/* ═══════════════════════════════════
   任务卡片
   ═══════════════════════════════════ */

.task-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 12px 14px !important;
    margin-bottom: 6px !important;
    background: rgba(255,255,255,0.02) !important;
    border: 1px solid rgba(255,255,255,0.04) !important;
    border-radius: 12px !important;
    transition: all 0.2s ease !important;
}
.task-item:hover {
    background: rgba(255,255,255,0.03) !important;
}

/* 已领取 → 整体淡化 */
.task-item.claimed {
    opacity: 0.35 !important;
    background: transparent !important;
    border-color: rgba(255,255,255,0.02) !important;
}

/* 可领取 → 左侧绿色暗示 */
.task-item.ready {
    background: rgba(0,224,198,0.03) !important;
    border-color: rgba(0,224,198,0.08) !important;
    border-left: 3px solid rgba(0,224,198,0.35) !important;
}

.task-item-l {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 0 !important;
    flex: 1 !important;
}

/* 图标 */
.task-icon {
    font-size: 22px !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
    width: 36px !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255,255,255,0.03) !important;
    border-radius: 10px !important;
}
.task-item.claimed .task-icon {
    background: transparent !important;
}

/* 任务名 */
.task-name {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #cbd5e1 !important;
    line-height: 1.3 !important;
    margin-bottom: 2px !important;
}
.task-item.claimed .task-name {
    color: #475569 !important;
}

/* 奖励标签 → 安静小字 */
.task-reward-tag {
    font-size: 11px !important;
    color: #00d4b8 !important;
    font-weight: 500 !important;
    opacity: 0.7 !important;
}
.task-item.claimed .task-reward-tag {
    color: #334155 !important;
    opacity: 0.5 !important;
}


/* ═══════════════════════════════════
   按钮状态  ·  三态分明
   ═══════════════════════════════════ */

.task-btn {
    flex-shrink: 0 !important;
    min-width: 54px !important;
    height: 30px !important;
    padding: 0 14px !important;
    border-radius: 8px !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    border: none !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    transition: all 0.2s ease !important;
    letter-spacing: 0.2px !important;
}

/* Go 按钮 → 暗底描边 */
.task-btn.go {
    background: transparent !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    color: #94a3b8 !important;
}
.task-btn.go:hover {
    border-color: rgba(255,255,255,0.15) !important;
    color: #cbd5e1 !important;
}
.task-btn.go:disabled {
    border-color: rgba(255,255,255,0.04) !important;
    color: #334155 !important;
    cursor: default !important;
}

/* Claim 按钮 → 实心绿，主行动 */
.task-btn.claim {
    background: linear-gradient(180deg, #00e8cc 0%, #00c4ac 100%) !important;
    color: #0a0f1c !important;
    box-shadow: 0 2px 8px rgba(0,224,198,0.15) !important;
    border: none !important;
}
.task-btn.claim:active {
    transform: scale(0.96) !important;
    box-shadow: 0 1px 4px rgba(0,224,198,0.1) !important;
}

/* Done 按钮 → 最暗最安静 */
.task-btn.done {
    background: rgba(255,255,255,0.03) !important;
    color: #334155 !important;
    cursor: default !important;
    border: none !important;
    box-shadow: none !important;
    min-width: 32px !important;
    padding: 0 10px !important;
}
.task-btn.done i {
    color: #2d3a4d !important;
    font-size: 14px !important;
}


/* ═══════════════════════════════════
   悬浮奖励动画
   ═══════════════════════════════════ */

.task-float-reward {
    position: fixed !important;
    top: 38% !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background: rgba(0,224,198,0.12) !important;
    border: 1px solid rgba(0,224,198,0.2) !important;
    color: #00e0c6 !important;
    padding: 10px 24px !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    z-index: 99999 !important;
    animation: taskFloatUp 1.2s ease forwards !important;
    pointer-events: none !important;
    backdrop-filter: blur(6px) !important;
}
@keyframes taskFloatUp {
    0%   { opacity: 0; transform: translateX(-50%) translateY(10px); }
    20%  { opacity: 1; transform: translateX(-50%) translateY(0); }
    80%  { opacity: 1; transform: translateX(-50%) translateY(-20px); }
    100% { opacity: 0; transform: translateX(-50%) translateY(-40px); }
}/* ═══════════════════════════════════════════
   TASK CENTER — Consolidated v2.0
   ═══════════════════════════════════════════ */

/* ── 首页横幅 ── */
.task-banner {
    display: flex; flex-wrap: wrap;
    align-items: center; justify-content: space-between;
    margin: 10px 0; padding: 12px 15px 14px;
    background: var(--rf-card, linear-gradient(180deg,#0e1525,#0a0f1c));
    border: 1px solid var(--rf-b, rgba(255,255,255,0.04));
    border-radius: 12px; cursor: pointer;
    position: relative; transition: transform 0.2s;
    pointer-events: auto; z-index: 10; isolation: isolate;
}
.task-banner:active { transform: scale(0.98); }
.task-banner .tb-left {
    display: flex; align-items: center; gap: 8px;
    font-size: 13px; color: #e2e8f0; font-weight: 600;
}
.task-banner .tb-count {
    background: rgba(251,191,36,0.12); color: #fbbf24;
    font-size: 12px; padding: 1px 8px; border-radius: 10px; font-weight: bold;
}
.task-banner .tb-right { display: flex; align-items: center; gap: 4px; }
.task-banner .tb-pending {
    color: #fbbf24; font-size: 12px; font-weight: bold;
    animation: taskPendingPulse 2s infinite;
}
@keyframes taskPendingPulse { 0%,100%{opacity:1} 50%{opacity:.6} }
.task-banner .tb-done { color: #22c55e; font-size: 12px; }
.task-banner .tb-bar {
    width: 100%; height: 3px; background: rgba(255,255,255,0.03);
    border-radius: 2px; margin-top: 10px; overflow: hidden;
}
.task-banner .tb-fill {
    height: 100%; background: linear-gradient(90deg, #f59e0b, #fbbf24);
    border-radius: 2px; transition: width 0.6s ease;
    box-shadow: 0 0 6px rgba(251,191,36,0.4);
}

/* ── 弹窗容器 ── */
#task-modal {
    background: rgba(0,0,0,0.82) !important;
    backdrop-filter: blur(8px);
}
#task-modal > div,
#task-modal .modal-content,
#task-modal > div > div {
    background: #0b1120 !important;
    border: 1px solid rgba(255,255,255,0.04) !important;
    border-radius: 18px !important;
    box-shadow: 0 24px 80px rgba(0,0,0,0.6) !important;
    max-height: 85vh !important;
}

/* ── 弹窗壳 ── */
.task-modal-shell {
    background: #0b1120 !important;
    border: 1px solid rgba(255,255,255,0.04) !important;
    border-radius: 18px !important;
    width: 92% !important; max-width: 380px !important;
    max-height: 82vh !important; padding: 0 !important;
    display: flex !important; flex-direction: column !important;
    overflow: hidden !important;
}

/* ── 标题栏（强制水平） ── */
#task-modal .modal-header,
#task-modal > div > div > div:first-child,
.task-modal-header {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    white-space: nowrap !important;
    gap: 10px !important;
    min-height: 48px !important;
    padding: 18px 20px !important;
    border-bottom: 1px solid rgba(255,255,255,0.04) !important;
    background: transparent !important;
    flex-shrink: 0;
}
.task-modal-title {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #f1f5f9 !important;
    letter-spacing: 0.5px !important;
}
.task-modal-close {
    flex-shrink: 0 !important;
    width: 30px !important; height: 30px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    font-size: 18px !important; color: #64748b !important;
    cursor: pointer; transition: all 0.2s;
}
.task-modal-close:active { 
    background: rgba(255,255,255,0.1) !important; 
    transform: scale(0.9); 
}
/* ── 滚动主体 ── */
#task-modal-body,
.task-modal-body {
    flex: 1; overflow-y: auto;
    padding: 14px 16px 30px !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #1e293b transparent;
}
#task-modal-body::-webkit-scrollbar { width: 3px; }
#task-modal-body::-webkit-scrollbar-thumb { background: #1e293b; border-radius: 3px; }

/* ── 全勤卡 ── */
.task-allclear {
    display: block !important;
    background: linear-gradient(135deg, rgba(234,179,8,0.06) 0%, rgba(11,17,32,0.95) 100%) !important;
    border: 1px solid rgba(234,179,8,0.12) !important;
    border-left: 3px solid rgba(234,179,8,0.4) !important;
    border-radius: 14px !important;
    padding: 16px !important;
    margin-bottom: 18px !important;
    position: relative !important;
    overflow: hidden !important;
}
.task-allclear::before {
    content: '';
    position: absolute; top: -30px; right: -30px;
    width: 80px; height: 80px;
    background: radial-gradient(circle, rgba(234,179,8,0.06) 0%, transparent 70%);
    pointer-events: none;
}
.task-allclear.done {
    border-color: rgba(255,255,255,0.04) !important;
    border-left-color: rgba(255,255,255,0.08) !important;
    opacity: 0.5 !important;
}
.tac-top {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
}
.tac-icon { font-size: 32px !important; line-height: 1; flex-shrink: 0 !important; }
.tac-info { flex: 1 !important; min-width: 0 !important; }
.tac-name {
    font-size: 14px !important; font-weight: 700 !important;
    color: #f1f5f9 !important; margin-bottom: 3px !important;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.tac-reward {
    font-size: 11px !important; color: #64748b !important;
    font-weight: 400 !important; white-space: normal !important;
    line-height: 1.4 !important;
}
/* 隐藏全勤卡内的按钮（进度已在下方显示） */
.tac-top .task-btn { display: none !important; }

/* 全勤进度条 */
.tac-bar-wrap {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 14px !important;
    padding-top: 12px !important;
    border-top: 1px solid rgba(255,255,255,0.04) !important;
    width: 100% !important;
}
.tac-bar {
    flex: 1 !important;
    height: 4px !important;
    background: rgba(255,255,255,0.06) !important;
    border-radius: 2px !important;
    overflow: hidden !important;
}
.tac-fill {
    height: 100% !important;
    background: linear-gradient(90deg, #f59e0b, #eab308) !important;
    border-radius: 2px !important;
    transition: width 0.5s ease !important;
    box-shadow: none !important;
}
.tac-pct {
    font-size: 12px !important; color: #94a3b8 !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-weight: 600 !important;
    min-width: 28px !important; text-align: right !important;
}

/* ── 分组标题 ── */
.task-sec-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 2px !important;
    margin: 6px 0 10px !important;
}
.task-sec-title > span:first-child {
    color: #e2e8f0; font-size: 13px; font-weight: 700;
}
.task-sec-count {
    font-size: 11px !important; color: #475569 !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-weight: 500 !important;
    background: rgba(255,255,255,0.03) !important;
    padding: 2px 8px !important; border-radius: 10px !important;
    border: 1px solid rgba(255,255,255,0.04) !important;
}

/* ── 成长子分类标签 ── */
.task-cat-label {
    font-size: 11px !important; font-weight: 600 !important;
    color: #475569 !important;
    padding: 10px 2px 6px !important;
    margin-top: 4px !important;
    border-top: 1px solid rgba(255,255,255,0.03) !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase;
}
.task-cat-label:first-of-type,
.task-sec-title + .task-cat-label {
    border-top: none !important;
    padding-top: 4px !important;
}

/* ── 任务卡片 ── */
.task-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 12px 14px !important;
    margin-bottom: 6px !important;
    background: rgba(255,255,255,0.02) !important;
    border: 1px solid rgba(255,255,255,0.04) !important;
    border-radius: 12px !important;
    transition: all 0.2s ease !important;
}
.task-item:hover { background: rgba(255,255,255,0.03) !important; }
.task-item.claimed {
    opacity: 0.35 !important;
    background: transparent !important;
    border-color: rgba(255,255,255,0.02) !important;
}
.task-item.ready {
    background: rgba(0,224,198,0.03) !important;
    border-color: rgba(0,224,198,0.08) !important;
    border-left: 3px solid rgba(0,224,198,0.35) !important;
}
.task-item-l {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    flex: 1 !important; min-width: 0 !important;
}
.task-item-l > div { min-width: 0 !important; }
.task-icon {
    font-size: 22px !important; line-height: 1 !important;
    flex-shrink: 0 !important;
    width: 36px !important; height: 36px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    background: rgba(255,255,255,0.03) !important;
    border-radius: 10px !important;
}
.task-item.claimed .task-icon { background: transparent !important; }
.task-name {
    font-size: 13px !important; font-weight: 600 !important;
    color: #cbd5e1 !important; line-height: 1.3 !important; margin-bottom: 2px !important;
    white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important;
}
.task-item.claimed .task-name { color: #475569 !important; text-decoration: line-through; }
.task-reward-tag {
    font-size: 11px !important; color: #00d4b8 !important;
    font-weight: 500 !important; opacity: 0.7 !important;
}
.task-item.claimed .task-reward-tag { color: #334155 !important; opacity: 0.5 !important; }

/* ── 按钮三态 ── */
.task-btn {
    flex-shrink: 0 !important;
    min-width: 54px !important; height: 30px !important;
    padding: 0 14px !important; border-radius: 8px !important;
    font-size: 11.5px !important; font-weight: 600 !important;
    border: none !important; cursor: pointer !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    gap: 4px !important; transition: all 0.2s ease !important;
    white-space: nowrap;
}
.task-btn.go {
    background: transparent !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    color: #94a3b8 !important;
}
.task-btn.go:hover { border-color: rgba(255,255,255,0.15) !important; color: #cbd5e1 !important; }
.task-btn.go:disabled { border-color: rgba(255,255,255,0.04) !important; color: #334155 !important; cursor: default !important; }
.task-btn.claim {
    background: linear-gradient(180deg, #00e8cc 0%, #00c4ac 100%) !important;
    color: #0a0f1c !important;
    box-shadow: 0 2px 8px rgba(0,224,198,0.15) !important;
    border: none !important;
}
.task-btn.claim:active { transform: scale(0.96) !important; }
.task-btn.done {
    background: rgba(255,255,255,0.03) !important;
    color: #334155 !important; cursor: default !important;
    border: none !important; box-shadow: none !important;
    min-width: 32px !important; padding: 0 10px !important;
}
.task-btn.done i { color: #2d3a4d !important; font-size: 14px !important; }

/* ── 飘字奖励 ── */
.task-float-reward {
    position: fixed; left: 50%; top: 38%;
    transform: translateX(-50%);
    background: rgba(0,224,198,0.12);
    border: 1px solid rgba(0,224,198,0.2);
    color: #00e0c6; padding: 10px 24px;
    border-radius: 12px; font-size: 15px; font-weight: 700;
    z-index: 99999; pointer-events: none;
    backdrop-filter: blur(6px);
    animation: taskFloatUp 1.2s ease forwards;
}
@keyframes taskFloatUp {
    0%   { opacity: 0; transform: translateX(-50%) translateY(10px); }
    20%  { opacity: 1; transform: translateX(-50%) translateY(0); }
    80%  { opacity: 1; transform: translateX(-50%) translateY(-20px); }
    100% { opacity: 0; transform: translateX(-50%) translateY(-40px); }
}
/* ═══════════════════════════════════════════════════════
   PROFILE PAGE — Consolidated v1.1
   同首页色调 · 合并所有 Profile 覆盖
   ═══════════════════════════════════════════════════════ */

/* ── 页面 & 头部 ── */
#view-mine { background: #0b0f19 !important; }
.mine-header {
    background: linear-gradient(180deg, #0e1525 0%, #0b0f19 100%) !important;
    border-bottom: none !important;
    padding: 24px 20px 20px !important;
    position: relative;
}
.mine-header::after {
    content: '';
    position: absolute; bottom: 0; left: 12%; right: 12%; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.04), transparent);
    pointer-events: none;
}

/* ── 头像 ── */
.avatar-circle {
    width: 48px !important; height: 48px !important;
    background: #111827 !important;
    border: 1.5px solid rgba(0,224,198,0.12) !important;
    font-size: 22px !important; color: #475569 !important;
}

/* ── 地址 & 等级 ── */
.user-info-row { gap: 14px !important; margin-bottom: 18px !important; }
.u-addr-box {
    font-size: 15px !important; font-weight: 600 !important;
    font-family: 'JetBrains Mono', monospace !important;
    color: #e2e8f0 !important;
}
.u-addr-box i { color: #334155 !important; font-size: 13px !important; }
.u-vip-tag {
    background: rgba(255,255,255,0.05) !important;
    color: #94a3b8 !important;
    border: 1px solid var(--rf-b2) !important;
    font-size: 10px !important; font-weight: 600 !important;
    padding: 1px 8px !important; border-radius: 6px !important;
}

/* ── 信用分 ── */
.credit-score-box {
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid var(--rf-b2) !important;
    color: #64748b !important; font-size: 10px !important;
    padding: 2px 8px !important; border-radius: 10px !important;
}
.credit-score-box i { color: #475569 !important; }
.credit-score-value { color: #94a3b8 !important; }

/* ── 资产卡 ── */
.mine-assets-card {
    background: var(--rf-card) !important;
    border: 1px solid var(--rf-b) !important;
    border-radius: var(--rf-r) !important;
    padding: 20px !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.2) !important;
}
.ma-top-row { font-size: 11px !important; color: var(--rf-t3) !important; }
.ma-toggle { color: #334155 !important; font-size: 11px !important; }
.mine-assets-card h2 {
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 34px !important; font-weight: 700 !important;
    color: var(--rf-t1) !important; letter-spacing: -1px !important;
    margin: 0 0 18px !important;
}
.ma-btn {
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    color: #94a3b8 !important; font-size: 13px !important;
    font-weight: 600 !important; border-radius: 10px !important;
    padding: 11px !important;
}
.ma-btn.primary {
    background: linear-gradient(180deg, #00d4bb 0%, #00a894 100%) !important;
    border: none !important; color: #052e29 !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 12px rgba(0,224,198,0.12) !important;
}

/* ── 明细面板 ── */
#asset-details-grid .ad-item {
    background: rgba(255,255,255,0.02) !important;
    border: 1px solid rgba(255,255,255,0.03) !important;
    border-radius: 8px !important; padding: 10px !important;
}
#asset-details-grid .ad-label { font-size: 10px !important; color: #3d4a5f !important; }
#asset-details-grid .ad-val {
    font-size: 12px !important; color: #cbd5e1 !important;
    font-family: 'JetBrains Mono', monospace !important;
}

/* ── 四个功能入口 ── */
.tool-grid {
    padding: 20px 16px !important; gap: 12px !important;
    background: transparent !important;
}
.tool-item .t-icon {
    width: 44px !important; height: 44px !important;
    border-radius: var(--rf-rs) !important;
    background: #111827 !important;
    border: 1px solid var(--rf-b) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2) !important;
}
.tool-item .t-icon.blue { background: #111827 !important; }
.tool-item .t-icon.blue i { color: #00e0c6 !important; }
.tool-item .t-icon.gold,
.tool-item .t-icon[style*="linear-gradient(135deg,#1a1510"] {
    background: #111827 !important;
    border: 1px solid var(--rf-b) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2) !important;
}
.tool-item .t-icon.purple { background: #111827 !important; }
.tool-item .t-icon.purple i { color: #a855f7 !important; }
.tool-item .t-icon.red { background: #111827 !important; }
.tool-item .t-icon.red i { color: #f87171 !important; }
.tool-item span {
    color: #64748b !important; font-size: 10.5px !important; font-weight: 500 !important;
}

/* ── 菜单列表 ── */
.menu-list { padding: 0 20px !important; }
.menu-item {
    padding: 14px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.025) !important;
}
.menu-item .m-left i { color: #475569 !important; font-size: 17px !important; }
.menu-item .m-left span {
    font-size: 13px !important; font-weight: 500 !important; color: #cbd5e1 !important;
}
.menu-item .m-right > i,
.menu-item > i { color: #2a3245 !important; font-size: 16px !important; }
.menu-item .m-right span[style*="background:linear-gradient(135deg,#a855f7"] {
    background: rgba(255,255,255,0.04) !important; color: #fbbf24 !important;
    font-size: 9px !important; font-weight: 700 !important;
    padding: 2px 8px !important; border-radius: 8px !important;
    border: none !important; box-shadow: none !important;
}
.menu-item .m-right .ver-tag[style*="background:#ef4444"] {
    font-size: 9px !important; padding: 1px 6px !important; border-radius: 8px !important;
}
.menu-item .m-right .ver-tag[style*="background:#f59e0b"] {
    background: rgba(255,255,255,0.04) !important; color: #475569 !important;
    font-size: 9px !important; font-weight: 600 !important; border-radius: 8px !important;
}
.menu-item .m-right span[style*="color:#22c55e"] {
    color: #475569 !important; font-size: 11px !important;
}

/* ── 登出 ── */
.btn-logout {
    background: rgba(255,255,255,0.02) !important;
    border: 1px solid rgba(255,255,255,0.04) !important;
    color: #b91c1c !important; border-radius: 12px !important;
    font-size: 13px !important; font-weight: 600 !important;
    padding: 14px !important;
}
/* ═══════════════════════════════════════════════════════
   EXCHANGE PAGE — Consolidated v1.0
   同首页色调 · 专业金融兑换面板
   ═══════════════════════════════════════════════════════ */

/* ── 顶部行情区 ── */
.ex-header {
    padding: 28px 20px !important;
    background: linear-gradient(180deg, #0e1525 0%, #0b0f19 100%) !important;
    border-bottom: none !important;
    position: relative;
}
.ex-header::after {
    content: '';
    position: absolute;
    bottom: 0; left: 12%; right: 12%; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.04), transparent);
    pointer-events: none;
}
.ex-label {
    font-size: 11px !important;
    color: var(--rf-t3) !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
}
.ex-val {
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 36px !important;
    font-weight: 700 !important;
    color: #00e0c6 !important;
    text-shadow: none !important;
    letter-spacing: -1px !important;
    margin-top: 4px !important;
}

/* ── 兑换卡片（页面核心） ── */
.ex-box {
    margin: var(--rf-gap) 16px !important;
    background: var(--rf-card) !important;
    border: 1px solid var(--rf-b) !important;
    border-radius: var(--rf-r) !important;
    padding: 20px !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.2) !important;
}

/* 汇率信息行 */
.ex-row {
    font-size: 12px !important;
    color: var(--rf-t2) !important;
    margin-bottom: 12px !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
}
.ex-row span:first-child {
    color: var(--rf-t3) !important;
    font-size: 11px !important;
}
.tag-rate {
    background: rgba(0,224,198,0.06) !important;
    color: #00e0c6 !important;
    border: 1px solid rgba(0,224,198,0.1) !important;
    padding: 2px 8px !important;
    border-radius: 6px !important;
    font-size: 10px !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-weight: 600 !important;
}

/* 输入框 → 专业表单 */
.ex-input-group {
    margin: 16px 0 !important;
    position: relative !important;
}
.ex-input-group input {
    width: 100% !important;
    background: #080c16 !important;
    border: 1px solid var(--rf-b2) !important;
    border-radius: var(--rf-rs) !important;
    padding: 15px 60px 15px 15px !important;
    color: var(--rf-t1) !important;
    font-size: 16px !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-weight: 600 !important;
    transition: border-color 0.25s !important;
}
.ex-input-group input:focus {
    border-color: rgba(0,224,198,0.25) !important;
    box-shadow: 0 0 0 3px rgba(0,224,198,0.04) !important;
    outline: none !important;
}
.ex-input-group input::placeholder {
    color: #2a3245 !important;
    font-family: -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-weight: 500 !important;
    font-size: 13px !important;
}
.ex-input-group .unit {
    color: var(--rf-t3) !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    letter-spacing: 0.5px !important;
}

/* 兑换主按钮 → 同首页 CTA */
.ex-box .btn-main {
    margin-top: 6px !important;
}

/* ── 最近兑换记录 ── */
.ex-history {
    margin: 0 16px var(--rf-gap) !important;
}
.ex-h-title {
    font-size: 11px !important;
    color: var(--rf-t3) !important;
    margin-bottom: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.3px !important;
}
.ex-item {
    background: rgba(255,255,255,0.015) !important;
    border-bottom: 1px solid var(--rf-b) !important;
    padding: 12px 14px !important;
    font-size: 12px !important;
    color: var(--rf-t2) !important;
}
.ex-item:first-child {
    border-top-left-radius: var(--rf-rs) !important;
    border-top-right-radius: var(--rf-rs) !important;
}
.ex-item:last-child {
    border-bottom-left-radius: var(--rf-rs) !important;
    border-bottom-right-radius: var(--rf-rs) !important;
    border-bottom: none !important;
}
/* 兑换金额数字 */
.ex-item span[style*="color:#00e0c6"],
.ex-item span[style*="color: #00e0c6"] {
    font-family: 'JetBrains Mono', monospace !important;
    font-weight: 600 !important;
}

/* ── 实时交易列表 ── */
.live-feed-box {
    margin: 0 16px var(--rf-gap) !important;
    background: rgba(255,255,255,0.01) !important;
    border: 1px solid var(--rf-b) !important;
    border-radius: var(--rf-rs) !important;
    overflow: hidden !important;
}
.lf-title {
    padding: 10px 14px !important;
    background: rgba(255,255,255,0.02) !important;
    border-bottom: 1px solid var(--rf-b) !important;
    font-size: 11px !important;
    color: var(--rf-t3) !important;
    font-weight: 600 !important;
    letter-spacing: 0.3px !important;
}
.dot-green {
    width: 5px !important; height: 5px !important;
    background: #00e0c6 !important;
    box-shadow: 0 0 4px rgba(0,224,198,0.5) !important;
}
.lf-list {
    height: 130px !important;
}
.lf-item {
    padding: 8px 14px !important;
    border-bottom: 1px solid var(--rf-b) !important;
    font-size: 10px !important;
    color: var(--rf-t2) !important;
}
.lf-action {
    color: var(--rf-t1) !important;
    font-weight: 700 !important;
    font-size: 10px !important;
    font-family: 'JetBrains Mono', monospace !important;
}
/* ═══════════════════════════════════════════════════════
   REFERRAL MODAL — Premium Activity Center v2.0
   用 #referral-modal 强锁作用域，不影响其他页面
   ═══════════════════════════════════════════════════════ */

/* ── 弹窗壳 ── */
#referral-modal .ref-shell {
    background: #0b1120 !important;
    border: 1px solid rgba(255,255,255,0.04) !important;
    border-radius: 20px !important;
    box-shadow: 0 25px 80px rgba(0,0,0,0.7) !important;
    padding: 0 !important;
    overflow-y: auto !important; max-height: 90vh !important;
    max-width: 380px !important;
    width: 92% !important;
}

/* ── 关闭按钮 ── */
#referral-modal .ref-close {
    position: absolute;
    top: 14px; right: 14px;
    z-index: 10;
    width: 28px; height: 28px;
    background: rgba(0,0,0,0.25);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 50%;
    backdrop-filter: blur(8px);
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
    transition: background 0.15s;
    color: rgba(255,255,255,0.6);
    font-size: 16px;
}
#referral-modal .ref-close:active {
    background: rgba(255,255,255,0.1);
}

/* ═══ 顶部主视觉 ═══ */
#referral-modal .ref-hero {
    position: relative;
    text-align: center;
    padding: 36px 24px 28px;
    background: linear-gradient(
        165deg,
        rgba(88,28,135,0.30) 0%,
        rgba(67,20,110,0.15) 40%,
        rgba(11,17,32,0) 100%
    );
    overflow: hidden;
}
/* 微光球 */
#referral-modal .ref-hero::before {
    content: '';
    position: absolute;
    top: -40px; left: 50%;
    transform: translateX(-50%);
    width: 200px; height: 120px;
    background: radial-gradient(ellipse, rgba(139,92,246,0.10) 0%, transparent 70%);
    pointer-events: none;
}
/* 底部渐隐线 */
#referral-modal .ref-hero::after {
    content: '';
    position: absolute;
    bottom: 0; left: 15%; right: 15%; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(139,92,246,0.10), transparent);
    pointer-events: none;
}

/* 图标 */
#referral-modal .ref-hero-icon {
    font-size: 28px;
    margin-bottom: 12px;
    display: inline-block;
    filter: drop-shadow(0 2px 8px rgba(139,92,246,0.2));
}

/* 标题 */
#referral-modal .ref-hero-title {
    font-size: 20px;
    font-weight: 800;
    color: #f1f5f9;
    letter-spacing: 0.5px;
    margin: 0 0 20px;
}

/* ═══ 奖励标签行 ═══ */
#referral-modal .ref-reward-row {
    display: flex;
    gap: 8px;
    justify-content: center;
    flex-wrap: wrap;
}
#referral-modal .ref-reward-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 14px;
    border-radius: 10px;
    font-size: 11.5px;
    font-weight: 600;
    background: rgba(255,255,255,0.04);
    color: #cbd5e1;
    border: 1px solid rgba(255,255,255,0.06);
    backdrop-filter: blur(4px);
    line-height: 1.3;
}
#referral-modal .ref-reward-icon {
    font-size: 13px;
}
#referral-modal .ref-icon-gold {
    color: #fbbf24;
}

/* ═══ 主体内容区 ═══ */
#referral-modal .ref-body {
    padding: 22px 22px 24px;
}

/* ── 邀请链接 ── */
#referral-modal .ref-link-section {
    margin-bottom: 18px;
}
#referral-modal .ref-link-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}
#referral-modal .ref-link-label {
    font-size: 12px;
    color: #475569;
    font-weight: 600;
    letter-spacing: 0.3px;
}
#referral-modal .ref-link-status {
    font-size: 10px;
    color: #22c55e;
    display: flex;
    align-items: center;
    gap: 5px;
    font-weight: 600;
}
#referral-modal .ref-link-status::before {
    content: '';
    width: 5px; height: 5px;
    background: #22c55e;
    border-radius: 50%;
    box-shadow: 0 0 4px rgba(34,197,94,0.5);
    flex-shrink: 0;
}

/* 链接输入框 + 复制按钮 */
#referral-modal .ref-link-row {
    display: flex;
    gap: 8px;
    align-items: center;
}
#referral-modal .ref-link-input {
    flex: 1;
    min-width: 0;
    height: 42px;
    background: #080c16;
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 10px;
    padding: 0 14px;
    color: #94a3b8;
    font-size: 12px;
    font-family: 'JetBrains Mono', monospace;
    font-weight: 500;
    outline: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#referral-modal .ref-copy-btn {
    flex-shrink: 0;
    height: 42px;
    padding: 0 18px;
    background: linear-gradient(180deg, #00d4bb 0%, #00a894 100%);
    border: none;
    border-bottom: 2px solid rgba(0,60,55,0.5);
    border-radius: 10px;
    color: #052e29;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.15s;
    position: relative;
}
#referral-modal .ref-copy-btn::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; height: 1px;
    background: rgba(255,255,255,0.15);
    border-radius: 10px 10px 0 0;
    pointer-events: none;
}
#referral-modal .ref-copy-btn:active {
    transform: translateY(1px);
    border-bottom-width: 1px;
}

/* ── 统计卡 ── */
#referral-modal .ref-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-bottom: 18px;
}
#referral-modal .ref-stat-card {
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.04);
    border-radius: 10px;
    padding: 14px 12px;
    text-align: center;
}
#referral-modal .ref-stat-val {
    font-family: 'JetBrains Mono', monospace;
    font-size: 22px;
    font-weight: 700;
    color: #f1f5f9;
    line-height: 1.2;
    margin-bottom: 3px;
}
#referral-modal .ref-stat-pending {
    color: #c084fc;
}
#referral-modal .ref-stat-unit {
    font-size: 11px;
    font-weight: 500;
    color: #475569;
}
#referral-modal .ref-stat-lbl {
    font-size: 10px;
    color: #475569;
    font-weight: 500;
    letter-spacing: 0.3px;
}

/* ── 规则区 ── */
#referral-modal .ref-rules {
    background: rgba(255,255,255,0.015);
    border: 1px solid rgba(255,255,255,0.04);
    border-radius: 12px;
    padding: 16px;
}
#referral-modal .ref-rules-title {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
    color: #cbd5e1;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255,255,255,0.04);
    letter-spacing: 0.3px;
}
#referral-modal .ref-rules-title i {
    color: #475569;
    font-size: 14px;
}

/* 规则列表 */
#referral-modal .ref-rules-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
#referral-modal .ref-rules-list li {
    position: relative;
    padding: 0 0 10px 14px;
    font-size: 11.5px;
    color: #64748b;
    line-height: 1.7;
}
#referral-modal .ref-rules-list li:last-child {
    padding-bottom: 0;
}
#referral-modal .ref-rules-list li::before {
    content: '';
    position: absolute;
    left: 0; top: 7px;
    width: 4px; height: 4px;
    border-radius: 50%;
    background: #334155;
}
#referral-modal .ref-rules-list li strong {
    color: #00e0c6;
    font-weight: 700;
}
#referral-modal .ref-rule-dim {
    color: #475569 !important;
}

/* 子条目 */
#referral-modal .ref-sub-item {
    padding-left: 4px;
    margin-top: 4px;
    font-size: 11px;
    line-height: 1.6;
}
#referral-modal .ref-hl-purple {
    color: #c084fc;
    font-weight: 600;
}
#referral-modal .ref-hl-gold {
    color: #fbbf24;
    font-weight: 600;
}
/* ═══════════════════════════════════════════════════════
   LUCKY BOX — Leaderboard v3.0
   ═══════════════════════════════════════════════════════ */

#luckbox-modal .lb-leaderboard {
    margin: 0 0 10px;
    border-radius: 12px;
    background: rgba(10,14,26,0.6);
    border: 1px solid rgba(255,255,255,0.03);
    overflow: hidden;
}

/* ── 标题栏 ── */
#luckbox-modal .lb-lb-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 14px;
    cursor: pointer;
    background: transparent;
    transition: background 0.15s;
    -webkit-tap-highlight-color: transparent;
}
#luckbox-modal .lb-lb-header:active {
    background: rgba(255,255,255,0.02);
}
#luckbox-modal .lb-lb-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    gap: 6px;
}
#luckbox-modal .lb-lb-arrow {
    color: #334155;
    font-size: 11px;
    transition: transform 0.35s cubic-bezier(.4,0,.2,1), color 0.2s;
}
#luckbox-modal .lb-leaderboard.expanded .lb-lb-arrow {
    transform: rotate(180deg);
    color: #64748b;
}

/* ── 列表容器 ── */
#luckbox-modal .lb-lb-list {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.45s cubic-bezier(.4,0,.2,1), opacity 0.3s;
    opacity: 0;
}
#luckbox-modal .lb-leaderboard.expanded .lb-lb-list {
    max-height: 600px;
    opacity: 1;
}

/* ── 奖池卡 ── */
.lb-pool-card {
    margin: 0 12px 10px;
    padding: 14px 16px;
    border-radius: 10px;
    background: linear-gradient(160deg, rgba(251,191,36,0.04) 0%, rgba(10,14,26,0.8) 100%);
    border: 1px solid rgba(251,191,36,0.08);
    border-left: 2px solid rgba(251,191,36,0.25);
    text-align: center;
}
.lb-pool-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 10px;
    font-weight: 600;
    color: #6b5a1e;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}
.lb-pool-amount {
    font-family: 'JetBrains Mono', monospace;
    font-size: 22px;
    font-weight: 900;
    color: #fbbf24;
    margin: 4px 0 2px;
    line-height: 1.1;
}
.lb-pool-amount small {
    font-size: 11px;
    font-weight: 600;
    color: #92751a;
}
.lb-pool-hint {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 9px;
    color: #5c4a12;
    letter-spacing: 0.3px;
}

/* ── 行 ── */
.lb-lb-row {
    display: flex;
    align-items: center;
    padding: 7px 12px;
    gap: 0;
    border-top: 1px solid rgba(255,255,255,0.02);
    transition: background 0.15s;
}
.lb-lb-row:first-of-type {
    border-top: 1px solid rgba(255,255,255,0.04);
}

/* 排名列 */
.lb-lb-rank {
    width: 28px;
    text-align: center;
    flex-shrink: 0;
}
.lb-rank-medal {
    font-size: 16px;
    line-height: 1;
}
.lb-rank-num {
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    font-weight: 600;
    color: #334155;
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    border-radius: 5px;
    background: rgba(255,255,255,0.02);
    display: inline-block;
}

/* 地址列 */
.lb-lb-addr {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 4px;
    overflow: hidden;
    margin: 0 8px;
}
.lb-lb-addr-text {
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    color: #475569;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.lb-lb-addr-icon {
    font-size: 11px;
    flex-shrink: 0;
}

/* 金额列 */
.lb-lb-amount-col {
    text-align: right;
    flex-shrink: 0;
    min-width: 80px;
}
.lb-lb-amount {
    font-family: 'JetBrains Mono', monospace;
    font-weight: 700;
    font-size: 12px;
    white-space: nowrap;
    line-height: 1.2;
}
.lb-lb-bonus {
    font-family: 'JetBrains Mono', monospace;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.2;
    margin-top: 1px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 2px;
}

/* ── Top 1/2/3 行微调 ── */
.lb-lb-row.lb-top1 { background: linear-gradient(90deg, rgba(251,191,36,0.04), transparent); }
.lb-lb-row.lb-top1 .lb-lb-addr-text { color: #94a3b8; }
.lb-lb-row.lb-top1 .lb-lb-amount { color: #fbbf24; font-size: 13px; font-weight: 800; }
.lb-lb-row.lb-top1 .lb-lb-bonus { color: #b8860b; }

.lb-lb-row.lb-top2 { background: linear-gradient(90deg, rgba(226,232,240,0.02), transparent); }
.lb-lb-row.lb-top2 .lb-lb-addr-text { color: #64748b; }
.lb-lb-row.lb-top2 .lb-lb-amount { color: #e2e8f0; font-weight: 800; }
.lb-lb-row.lb-top2 .lb-lb-bonus { color: #94a3b8; }

.lb-lb-row.lb-top3 { background: linear-gradient(90deg, rgba(205,127,50,0.03), transparent); }
.lb-lb-row.lb-top3 .lb-lb-addr-text { color: #64748b; }
.lb-lb-row.lb-top3 .lb-lb-amount { color: #cd7f32; font-weight: 800; }
.lb-lb-row.lb-top3 .lb-lb-bonus { color: #8b5e14; }

/* 4-10 名 */
.lb-lb-row:not(.lb-top1):not(.lb-top2):not(.lb-top3) .lb-lb-amount {
    color: #00e0c6;
    font-weight: 600;
}
.lb-lb-row:not(.lb-top1):not(.lb-top2):not(.lb-top3) .lb-lb-bonus {
    color: #0d6e63;
}
/* ═══════════════════════════════════════════════════════
   PRIZE REVEAL v2.0 — Floating Cinematic
   无卡片 · 纯浮层 · 自动消失
   ═══════════════════════════════════════════════════════ */

/* ── 遮罩 ── */
.pr-overlay {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    background: rgba(2,6,15,0.70);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    animation: prFadeIn 0.3s ease forwards;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

/* ── 径向辉光（emoji 背后） ── */
.pr-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -55%);
    width: 260px;
    height: 260px;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(50px);
    opacity: 0;
    animation: prGlowIn 0.8s ease forwards;
    z-index: 0;
}

/* ── 单抽 Emoji ── */
.pr-emoji {
    font-size: 72px;
    line-height: 1;
    position: relative;
    z-index: 2;
    opacity: 0;
    transform: scale(0.3);
    animation: prEmojiPop 0.55s cubic-bezier(0.34,1.56,0.64,1) 0.08s forwards;
    filter: drop-shadow(0 8px 24px rgba(0,0,0,0.5));
}
/* 大奖 emoji 持续微浮动 */
.pr-emoji.pr-rare {
    animation: prEmojiPop 0.55s cubic-bezier(0.34,1.56,0.64,1) 0.08s forwards,
               prEmojiFloat 2.5s ease-in-out 0.7s infinite;
}

/* ── 奖品名 ── */
.pr-amount {
    font-family: 'JetBrains Mono', 'SF Mono', monospace;
    font-size: 30px;
    font-weight: 900;
    letter-spacing: 0.5px;
    margin-top: 18px;
    position: relative;
    z-index: 2;
    opacity: 0;
    transform: translateY(20px);
    animation: prTextIn 0.5s ease 0.25s forwards;
}

/* ── 副标签（稀有度文字） ── */
.pr-tag {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-top: 10px;
    position: relative;
    z-index: 2;
    opacity: 0;
    animation: prTextIn 0.4s ease 0.45s forwards;
}

/* ── 五连标题 ── */
.pr-multi-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #64748b;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 16px;
    position: relative;
    z-index: 2;
    opacity: 0;
    animation: prTextIn 0.4s ease 0.1s forwards;
}

/* ── 五连行 ── */
.pr-multi-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 9px 0;
    position: relative;
    z-index: 2;
    opacity: 0;
    transform: translateY(14px);
    animation: prTextIn 0.4s ease forwards;
}
.pr-multi-row + .pr-multi-row {
    border-top: 1px solid rgba(255,255,255,0.04);
}
.pr-multi-emoji {
    font-size: 26px;
    line-height: 1;
    filter: drop-shadow(0 2px 6px rgba(0,0,0,0.4));
}
.pr-multi-name {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    font-weight: 700;
}

/* ═══ 收取退场 ═══ */
.pr-overlay.pr-exit {
    animation: prFadeOut 0.6s ease 0.12s forwards;
    pointer-events: none;
}

/* emoji: 放大→闪亮→缩小飞走 */
.pr-exit .pr-emoji {
    animation: prCollectEmoji 0.55s cubic-bezier(0.4,0,1,0.45) forwards !important;
}
@keyframes prCollectEmoji {
    0%   { opacity:1; transform:scale(1) translateY(0); filter:brightness(1); }
    22%  { opacity:1; transform:scale(1.35) translateY(0); filter:brightness(1.7); }
    100% { opacity:0; transform:scale(0.06) translateY(-140px); filter:brightness(3); }
}

/* 文字跟随消散 */
.pr-exit .pr-amount {
    animation: prCollectText 0.38s ease 0.04s forwards !important;
}
.pr-exit .pr-tag {
    animation: prCollectText 0.28s ease forwards !important;
}
@keyframes prCollectText {
    0%   { opacity:1; transform:translateY(0) scale(1); }
    100% { opacity:0; transform:translateY(-35px) scale(0.55); }
}

/* 辉光外扩 */
.pr-exit .pr-glow {
    animation: prGlowOut 0.5s ease forwards !important;
}
@keyframes prGlowOut {
    0%   { opacity:0.55; transform:translate(-50%,-55%) scale(1); }
    100% { opacity:0;    transform:translate(-50%,-55%) scale(1.8); }
}

/* 五连标题 */
.pr-exit .pr-multi-title {
    animation: prCollectText 0.25s ease forwards !important;
}
/* 五连行：依次收取（delay 由 JS 设） */
.pr-exit .pr-multi-row {
    animation: prCollectRow 0.4s cubic-bezier(0.4,0,1,0.45) forwards !important;
}
@keyframes prCollectRow {
    0%   { opacity:1; transform:translateY(0) scale(1); filter:brightness(1); }
    20%  { opacity:1; transform:translateY(0) scale(1.05); filter:brightness(1.4); }
    100% { opacity:0; transform:translateY(-55px) scale(0.35); filter:brightness(2); }
}

/* ── 爆发环 ── */
.pr-collect-ring {
    position: fixed; top:44%; left:50%;
    transform: translate(-50%,-50%) scale(0);
    width:50px; height:50px; border-radius:50%;
    border: 2px solid; pointer-events:none; z-index:10002;
    animation: prRingBurst 0.6s ease-out forwards;
}
@keyframes prRingBurst {
    0%   { transform:translate(-50%,-50%) scale(0); opacity:0.9; }
    100% { transform:translate(-50%,-50%) scale(4.5); opacity:0; }
}

/* ── 中心闪光 ── */
.pr-collect-flash {
    position: fixed; top:44%; left:50%;
    transform: translate(-50%,-50%);
    width:14px; height:14px; border-radius:50%;
    pointer-events:none; z-index:10002;
    animation: prFlash 0.38s ease-out forwards;
}
@keyframes prFlash {
    0%   { opacity:1; transform:translate(-50%,-50%) scale(1); }
    35%  { opacity:0.85; transform:translate(-50%,-50%) scale(3); }
    100% { opacity:0;  transform:translate(-50%,-50%) scale(6); }
}

/* ── 收取飘字 ── */
.pr-float {
    position: fixed; left:50%;
    transform: translateX(-50%);
    font-family: 'JetBrains Mono', monospace;
    font-size: 22px; font-weight: 900;
    z-index: 10003; pointer-events: none; white-space: nowrap;
    animation: prFloatUp 1.5s ease-out forwards;
}
@keyframes prFloatUp {
    0%   { opacity:0; transform:translateX(-50%) translateY(14px) scale(0.5); }
    10%  { opacity:1; transform:translateX(-50%) translateY(0) scale(1.15); }
    22%  { opacity:1; transform:translateX(-50%) translateY(-3px) scale(1); }
    60%  { opacity:0.85; transform:translateX(-50%) translateY(-30px); }
    100% { opacity:0; transform:translateX(-50%) translateY(-58px); }
}
/* ── 震屏（大奖） ── */
.pr-screen-shake {
    animation: prShake 0.45s ease-out !important;
}

/* ═══ Keyframes ═══ */
@keyframes prFadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@keyframes prFadeOut {
    from { opacity: 1; }
    to   { opacity: 0; }
}
@keyframes prGlowIn {
    0%   { opacity: 0; transform: translate(-50%,-55%) scale(0.4); }
    100% { opacity: 0.55; transform: translate(-50%,-55%) scale(1); }
}
@keyframes prEmojiPop {
    0%   { opacity: 0; transform: scale(0.3); }
    55%  { opacity: 1; transform: scale(1.18); }
    75%  { transform: scale(0.95); }
    100% { opacity: 1; transform: scale(1); }
}
@keyframes prEmojiFloat {
    0%, 100% { transform: scale(1) translateY(0); }
    50%      { transform: scale(1.04) translateY(-6px); }
}
@keyframes prTextIn {
    0%   { opacity: 0; transform: translateY(20px); }
    100% { opacity: 1; transform: translateY(0); }
}
@keyframes prExitUp {
    0%   { opacity: 1; transform: translateY(0) scale(1); }
    100% { opacity: 0; transform: translateY(-25px) scale(0.92); }
}
@keyframes prParticleBurst {
    0%   { opacity: 0.85; transform: translate(-50%,-50%) scale(1); }
    100% { opacity: 0; transform: translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) scale(0.2); }
}
@keyframes prFloatUp {
    0%   { opacity: 0; transform: translateX(-50%) translateY(8px); }
    15%  { opacity: 1; transform: translateX(-50%) translateY(0); }
    75%  { opacity: 1; transform: translateX(-50%) translateY(-25px); }
    100% { opacity: 0; transform: translateX(-50%) translateY(-45px); }
}
@keyframes prShake {
    0%,100% { transform: translate(0,0); }
    10% { transform: translate(-6px,-3px); }
    20% { transform: translate(5px,2px); }
    30% { transform: translate(-4px,4px); }
    40% { transform: translate(4px,-2px); }
    50% { transform: translate(-3px,3px); }
    60% { transform: translate(3px,-1px); }
    70% { transform: translate(-2px,1px); }
    80% { transform: translate(1px,-1px); }
}
/* ═══════════════════════════════════════════════════════
   UNF VAULT — Ice Blue Strategic Lock
   ═══════════════════════════════════════════════════════ */

.vault-section {
    margin: var(--rf-gap, 14px) 16px;
}

.vault-card {
    background: var(--rf-card, linear-gradient(180deg, #0e1525 0%, #0a0f1c 100%));
    border: 1px solid rgba(59,130,246,0.08);
    border-left: 3px solid rgba(59,130,246,0.35);
    border-radius: var(--rf-r, 14px);
    padding: 20px;
    position: relative;
    overflow: hidden;
}
/* 顶部微光线 */
.vault-card::before {
    content: '';
    position: absolute;
    top: 0; left: 15%; right: 15%; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(59,130,246,0.08), transparent);
    pointer-events: none;
}

/* ── 叙事头部 ── */
.vault-header {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(255,255,255,0.03);
}
.vault-icon-ring {
    width: 40px; height: 40px; flex-shrink: 0;
    border-radius: 12px;
    background: rgba(59,130,246,0.08);
    border: 1px solid rgba(59,130,246,0.15);
    display: flex; align-items: center; justify-content: center;
    font-size: 18px; color: #60a5fa;
}
.vault-title {
    font-size: 14px;
    font-weight: 800;
    color: #e2e8f0;
    margin: 0 0 6px;
    letter-spacing: 0.5px;
}
.vault-desc {
    font-size: 11px;
    color: #475569;
    line-height: 1.7;
    margin: 0;
}

/* ── 资产四格 ── */
.vault-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-bottom: 16px;
}
.vault-stat {
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.03);
    border-radius: 8px;
    padding: 10px;
    text-align: center;
}
.vault-stat-label {
    display: block;
    font-size: 10px;
    color: #475569;
    margin-bottom: 4px;
    letter-spacing: 0.3px;
}
.vault-stat-val {
    font-family: 'JetBrains Mono', monospace;
    font-size: 14px;
    font-weight: 700;
    color: #cbd5e1;
}
.vault-stat-val.vault-hl {
    color: #60a5fa;
    text-shadow: 0 0 10px rgba(59,130,246,0.2);
}

/* ── 输入框 ── */
.vault-input-wrap {
    position: relative;
    margin-bottom: 10px;
}
.vault-input-wrap input {
    width: 100%;
    background: #080c16;
    border: 1px solid rgba(59,130,246,0.1);
    border-radius: 10px;
    padding: 14px 60px 14px 14px;
    color: #e2e8f0;
    font-size: 15px;
    font-family: 'JetBrains Mono', monospace;
    font-weight: 600;
    outline: none;
    transition: border-color 0.25s;
    box-sizing: border-box;
}
.vault-input-wrap input:focus {
    border-color: rgba(59,130,246,0.3);
    box-shadow: 0 0 0 3px rgba(59,130,246,0.05);
}
.vault-input-wrap input::placeholder {
    color: #2a3245;
    font-family: -apple-system, sans-serif;
    font-weight: 500;
    font-size: 12px;
}
.vault-input-unit {
    position: absolute;
    right: 14px; top: 50%;
    transform: translateY(-50%);
    color: #475569;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.5px;
}

/* ── 锁仓按钮 ── */
.vault-lock-btn {
    width: 100%;
    height: 44px;
    background: linear-gradient(180deg, #3b82f6 0%, #2563eb 100%);
    border: none;
    border-bottom: 2.5px solid rgba(0,30,80,0.6);
    border-radius: 12px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    transition: all 0.2s;
    box-shadow: 0 4px 14px rgba(59,130,246,0.15);
}
.vault-lock-btn::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; height: 1px;
    background: rgba(255,255,255,0.15);
    border-radius: 12px 12px 0 0;
    pointer-events: none;
}
.vault-lock-btn:active {
    transform: translateY(1px);
    border-bottom-width: 1px;
    box-shadow: 0 2px 6px rgba(59,130,246,0.1);
}
.vault-lock-btn:disabled {
    background: #1a2030;
    color: #334155;
    border-bottom-color: transparent;
    box-shadow: none;
    cursor: not-allowed;
}

/* ── 提示 ── */
.vault-notice {
    font-size: 10px;
    color: #334155;
    text-align: center;
    margin-top: 8px;
    line-height: 1.5;
    letter-spacing: 0.2px;
}


/* ── 锁仓成功飘字 ── */
.vault-float {
    position: fixed;
    left: 50%; top: 38%;
    transform: translateX(-50%);
    background: rgba(59,130,246,0.12);
    border: 1px solid rgba(59,130,246,0.25);
    color: #60a5fa;
    padding: 10px 24px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    z-index: 99999;
    pointer-events: none;
    backdrop-filter: blur(6px);
    animation: vaultFloatUp 1.4s ease forwards;
}
@keyframes vaultFloatUp {
    0%   { opacity: 0; transform: translateX(-50%) translateY(10px); }
    15%  { opacity: 1; transform: translateX(-50%) translateY(0); }
    75%  { opacity: 1; transform: translateX(-50%) translateY(-20px); }
    100% { opacity: 0; transform: translateX(-50%) translateY(-40px); }
}

/* ══════════════════════════════════
   资产栏
   ══════════════════════════════════ */
.asset-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 14px;
  margin-bottom: 16px;
}
.asset-bar-left {
  display: flex;
  align-items: center;
  gap: 8px;
}
.asset-price-icon {
  width: 28px; height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #00e7a0, #00b4d8);
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 14px; color: #0b1120;
}
.asset-price {
  font-size: 20px;
  font-weight: 700;
  color: #00e7a0;
}
.asset-bar-right {
  text-align: right;
}
.asset-bar-label {
  display: block;
  font-size: 11px;
  color: rgba(255,255,255,.45);
  margin-bottom: 2px;
}
.asset-bar-value {
  font-size: 26px;
  font-weight: 800;
  color: #00e7a0;
  font-family: 'DM Mono', monospace;
}

/* ══════════════════════════════════
   操作面板
   ══════════════════════════════════ */
.ops-panel {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 16px;
  overflow: hidden;
}

/* ── Tab 栏 ── */
.ops-tabs {
  display: flex;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.ops-tab {
  flex: 1;
  padding: 14px 0;
  background: none;
  border: none;
  color: rgba(255,255,255,.4);
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: all .25s;
  position: relative;
}
.ops-tab:hover {
  color: rgba(255,255,255,.7);
}
.ops-tab.active {
  color: #fff;
}
.ops-tab.active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 20%; right: 20%;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, #00e7a0, #60a5fa);
}

/* ── 内容区 ── */
.ops-content {
  display: none;
  padding: 20px;
}
.ops-content.active {
  display: block;
}

/* ── 通用输入 ── */
.ops-input-wrap {
  position: relative;
  margin: 14px 0;
}
.ops-input {
  width: 100%;
  padding: 14px 60px 14px 16px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px;
  color: #fff;
  font-size: 16px;
  outline: none;
  transition: border-color .2s;
  box-sizing: border-box;
}
.ops-input:focus {
  border-color: rgba(0,231,160,.4);
}
.ops-input::placeholder {
  color: rgba(255,255,255,.25);
}
.ops-input-unit {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(255,255,255,.4);
  font-weight: 600;
  font-size: 14px;
}

/* ── 通用按钮 ── */
.ops-btn {
  width: 100%;
  padding: 15px;
  border: none;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: transform .15s, box-shadow .2s;
}
.ops-btn:active {
  transform: scale(.97);
}
.ops-btn-swap {
  background: linear-gradient(135deg, #00e7a0, #00c48f);
  color: #0b1120;
}
.ops-btn-swap:hover {
  box-shadow: 0 0 20px rgba(0,231,160,.3);
}
.ops-btn-vault {
  background: linear-gradient(135deg, #3b82f6, #60a5fa);
  color: #fff;
}
.ops-btn-vault:hover {
  box-shadow: 0 0 20px rgba(96,165,250,.3);
}

/* ── Swap 行 ── */
.swap-rate-row,
.swap-balance-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  color: rgba(255,255,255,.5);
  margin-bottom: 6px;
}
.tag-rate {
  background: rgba(0,231,160,.12);
  color: #00e7a0;
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
}

/* ── Vault 四格 ── */
.vault-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 6px;
}
.vault-stat-box {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 10px;
  padding: 12px;
  text-align: center;
}
.vault-stat-box.highlight {
  border-color: rgba(96,165,250,.3);
}
.vault-stat-label {
  display: block;
  font-size: 11px;
  color: rgba(255,255,255,.4);
  margin-bottom: 4px;
}
.vault-stat-val {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  font-family: 'DM Mono', monospace;
}
.vault-stat-box.highlight .vault-stat-val {
  color: #60a5fa;
}

/* ── 底部提示 ── */
.ops-notice {
  text-align: center;
  font-size: 11px;
  color: rgba(255,255,255,.3);
  margin: 12px 0 0;
  line-height: 1.5;
}
/* ══════════════════════════════════
   资产栏（替代原 .ex-header + 涨幅图）
   ══════════════════════════════════ */
.asset-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    margin: 0 15px 12px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 14px;
}
.asset-bar-left {
    display: flex;
    align-items: center;
    gap: 8px;
}
.asset-price-icon {
    width: 28px; height: 28px;
    border-radius: 50%;
    background: linear-gradient(135deg, #00e0c6, #00b4d8);
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 13px; color: #0b1120;
}
.asset-price {
    font-size: 20px;
    font-weight: 700;
    color: #00e0c6;
}
.asset-bar-right { text-align: right; }
.asset-bar-label {
    display: block;
    font-size: 11px;
    color: rgba(255,255,255,.45);
    margin-bottom: 2px;
}
.asset-bar-value {
    font-size: 26px;
    font-weight: 800;
    color: #00e0c6;
    font-family: 'JetBrains Mono', monospace;
}

/* ══════════════════════════════════
   操作面板 + Tab
   ══════════════════════════════════ */
.ops-panel {
    margin: 0 15px 15px;
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 16px;
    overflow: hidden;
}
.ops-tabs {
    display: flex;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.ops-tab {
    flex: 1;
    padding: 13px 0;
    background: none;
    border: none;
    color: rgba(255,255,255,.4);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: color .25s;
    position: relative;
}
.ops-tab:hover { color: rgba(255,255,255,.7); }
.ops-tab.active { color: #fff; }
.ops-tab.active::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 20%; right: 20%;
    height: 2px;
    border-radius: 2px;
    background: linear-gradient(90deg, #00e0c6, #60a5fa);
}
.ops-content {
    display: none;
    padding: 18px;
}
.ops-content.active {
    display: block;
}

/* ── Swap 面板内微调 ── */
#panel-swap .ex-row { margin-bottom: 8px; }
#panel-swap .ex-input-group { margin: 14px 0; }
#panel-swap .btn-main { width: 100%; }

/* ── Vault 面板复用原样式，去掉外层 card 间距 ── */
#panel-vault .vault-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 14px;
}
#panel-vault .vault-stat {
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 10px;
    padding: 12px;
    text-align: center;
}
#panel-vault .vault-stat-label {
    display: block;
    font-size: 11px;
    color: rgba(255,255,255,.4);
    margin-bottom: 4px;
}
#panel-vault .vault-stat-val {
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    font-family: 'JetBrains Mono', monospace;
}
#panel-vault .vault-hl { color: #60a5fa !important; }
#panel-vault .vault-input-wrap {
    position: relative;
    margin: 14px 0;
}
#panel-vault .vault-input-wrap input {
    width: 100%;
    padding: 13px 60px 13px 16px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 10px;
    color: #fff;
    font-size: 15px;
    outline: none;
    box-sizing: border-box;
}
#panel-vault .vault-input-wrap input:focus {
    border-color: rgba(96,165,250,.4);
}
#panel-vault .vault-input-wrap input::placeholder {
    color: rgba(255,255,255,.25);
}
#panel-vault .vault-input-unit {
    position: absolute;
    right: 16px; top: 50%;
    transform: translateY(-50%);
    color: rgba(255,255,255,.4);
    font-weight: 600; font-size: 14px;
}
#panel-vault .vault-lock-btn {
    width: 100%;
    padding: 14px;
    border: none;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #3b82f6, #60a5fa);
    color: #fff;
    transition: transform .15s, box-shadow .2s;
}
#panel-vault .vault-lock-btn:active { transform: scale(.97); }
#panel-vault .vault-lock-btn:hover { box-shadow: 0 0 20px rgba(96,165,250,.3); }
#panel-vault .vault-notice {
    text-align: center;
    font-size: 11px;
    color: rgba(255,255,255,.3);
    margin-top: 12px;
    line-height: 1.5;
}

/* ═══════════════════════════════════════════════════════
   GIFT TRIAL — Premium Ritual v3.0
   Black + Gold · Material · Layered Light
   ═══════════════════════════════════════════════════════ */

/* ── 遮罩 ── */
#gift-modal.modal-overlay {
    background: rgba(2,4,12,0.96) !important;
}

/* ── 根容器 ── */
.gm-root {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    max-width: 340px !important;
    text-align: center !important;
    position: relative !important;
    animation: gmEntry 0.7s cubic-bezier(0.175,0.885,0.32,1.275) forwards !important;
}
@keyframes gmEntry {
    0%   { opacity:0; transform:scale(0.85) translateY(30px); }
    100% { opacity:1; transform:scale(1) translateY(0); }
}

/* ═══════════════════════════════════
   STAGE 1 — 禮盒
   ═══════════════════════════════════ */

#gift-box-stage {
    position: relative;
    padding: 60px 0 40px;
}

/* ── 多層背景光效 ── */
.gm-bg {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -55%);
    width: 300px; height: 300px;
    pointer-events: none;
}

/* 慢旋轉光芒 */
.gm-ray {
    position: absolute; inset: 0;
    background: conic-gradient(
        from 0deg,
        transparent 0deg,
        rgba(251,191,36,0.04) 20deg,
        transparent 40deg,
        rgba(251,191,36,0.03) 90deg,
        transparent 110deg,
        rgba(251,191,36,0.04) 180deg,
        transparent 200deg,
        rgba(251,191,36,0.03) 270deg,
        transparent 290deg,
        rgba(251,191,36,0.04) 340deg,
        transparent 360deg
    );
    border-radius: 50%;
    animation: gmRaySpin 25s linear infinite;
}
.gm-ray-2 {
    animation-direction: reverse;
    animation-duration: 35s;
    opacity: 0.6;
    transform: scale(1.3);
}
@keyframes gmRaySpin { to { transform: rotate(360deg); } }

/* 呼吸光暈 */
.gm-halo {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%,-50%);
    width: 180px; height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(251,191,36,0.12) 0%, transparent 70%);
    animation: gmHalo 3.5s ease-in-out infinite;
}
.gm-halo-2 {
    width: 260px; height: 260px;
    background: radial-gradient(circle, rgba(0,224,198,0.04) 0%, transparent 70%);
    animation-delay: -1.5s;
    animation-duration: 4.5s;
}
@keyframes gmHalo {
    0%,100% { opacity:0.3; transform:translate(-50%,-50%) scale(1); }
    50%     { opacity:0.8; transform:translate(-50%,-50%) scale(1.12); }
}

/* ── 漂浮微粒 ── */
.gm-dots {
    position: absolute; inset: 0;
    pointer-events: none;
}
.gm-dots i {
    position: absolute;
    width: 3px; height: 3px;
    border-radius: 50%;
    background: rgba(251,191,36,0.4);
    animation: gmDot 4s ease-in-out infinite;
}
.gm-dots i:nth-child(1) { left:18%; top:25%; animation-delay:0s; }
.gm-dots i:nth-child(2) { left:78%; top:20%; animation-delay:0.6s; background:rgba(0,224,198,0.3); }
.gm-dots i:nth-child(3) { left:12%; top:65%; animation-delay:1.2s; }
.gm-dots i:nth-child(4) { left:85%; top:60%; animation-delay:0.3s; background:rgba(0,224,198,0.3); }
.gm-dots i:nth-child(5) { left:30%; top:15%; animation-delay:1.8s; width:2px; height:2px; }
.gm-dots i:nth-child(6) { left:65%; top:75%; animation-delay:0.9s; width:2px; height:2px; }
.gm-dots i:nth-child(7) { left:50%; top:10%; animation-delay:2.2s; background:rgba(255,255,255,0.15); }
.gm-dots i:nth-child(8) { left:42%; top:80%; animation-delay:1.5s; background:rgba(255,255,255,0.1); }
@keyframes gmDot {
    0%,100% { opacity:0.2; transform:translateY(0); }
    50%     { opacity:0.8; transform:translateY(-8px); }
}

/* ── 禮盒主體 ── */
.gm-box {
    position: relative;
    width: 140px; height: 140px;
    margin: 0 auto;
    z-index: 5;
    animation: gmBoxFloat 3.5s ease-in-out infinite;
    filter: drop-shadow(0 15px 35px rgba(251,191,36,0.2));
}
@keyframes gmBoxFloat {
    0%,100% { transform:translateY(0); }
    50%     { transform:translateY(-12px); }
}

/* 盒身 */
.gm-box-body {
    position: absolute;
    bottom: 0; left: 50%;
    transform: translateX(-50%);
    width: 120px; height: 85px;
    background: linear-gradient(175deg,
        #d4a017 0%, #ffd700 18%, #fff5c0 28%,
        #ffd700 38%, #c8960e 60%, #a17c0a 85%, #8b6914 100%
    );
    border-radius: 5px 5px 10px 10px;
    overflow: hidden;
    box-shadow:
        inset 0 2px 0 rgba(255,255,255,0.15),
        inset 0 -3px 8px rgba(0,0,0,0.2),
        0 8px 25px rgba(0,0,0,0.4);
}

/* 竖丝带 */
.gm-box-v {
    position: absolute;
    left: 50%; top: 0;
    transform: translateX(-50%);
    width: 20px; height: 100%;
    background: linear-gradient(180deg, #b91c1c 0%, #dc2626 30%, #ef4444 50%, #dc2626 70%, #b91c1c 100%);
    box-shadow: inset 1px 0 0 rgba(255,255,255,0.1), inset -1px 0 0 rgba(0,0,0,0.1);
}

/* 横丝带 */
.gm-box-h {
    position: absolute;
    top: 50%; left: 0;
    transform: translateY(-50%);
    width: 100%; height: 16px;
    background: linear-gradient(90deg, #b91c1c 0%, #dc2626 30%, #ef4444 50%, #dc2626 70%, #b91c1c 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.1), inset 0 -1px 0 rgba(0,0,0,0.1);
}

/* 左上高光 */
.gm-box-hl {
    position: absolute;
    top: 6px; left: 8px;
    width: 8px; height: 40%;
    background: linear-gradient(180deg, rgba(255,255,255,0.3), transparent);
    border-radius: 4px;
    pointer-events: none;
}

/* 底部暗角 */
.gm-box-shadow-inner {
    position: absolute;
    bottom: 0; left: 0; right: 0; height: 20px;
    background: linear-gradient(to top, rgba(0,0,0,0.15), transparent);
    pointer-events: none;
}

/* 盒蓋 */
.gm-box-lid {
    position: absolute;
    top: 8px; left: 50%;
    transform: translateX(-50%);
    z-index: 6;
    transition: transform 0.5s cubic-bezier(0.34,1.56,0.64,1);
}

.gm-box-lid-face {
    width: 130px; height: 30px;
    background: linear-gradient(175deg,
        #d4a017 0%, #ffd700 30%, #fff8d6 48%,
        #ffd700 62%, #c8960e 85%, #a17c0a 100%
    );
    border-radius: 7px 7px 2px 2px;
    box-shadow:
        inset 0 2px 0 rgba(255,255,255,0.25),
        0 3px 8px rgba(0,0,0,0.3);
    position: relative;
    overflow: hidden;
}

/* 蓋上丝带 */
.gm-box-lid-face::after {
    content: '';
    position: absolute;
    left: 0; right: 0; top: 50%;
    height: 12px; transform: translateY(-50%);
    background: linear-gradient(90deg, #b91c1c, #ef4444 50%, #b91c1c);
    opacity: 0.9;
}

/* 蝴蝶結 */
.gm-box-bow-l, .gm-box-bow-r {
    position: absolute; top: -8px;
    width: 20px; height: 14px;
    background: #ef4444;
    box-shadow: inset -1px -1px 3px rgba(0,0,0,0.2);
}
.gm-box-bow-l {
    left: 50%; margin-left: -20px;
    border-radius: 50% 50% 50% 0;
    transform: rotate(-15deg);
}
.gm-box-bow-r {
    left: 50%; margin-left: 0;
    border-radius: 50% 50% 0 50%;
    transform: rotate(15deg);
}
.gm-box-bow-knot {
    position: absolute;
    top: -4px; left: 50%;
    transform: translateX(-50%);
    width: 10px; height: 10px;
    background: #dc2626;
    border-radius: 50%;
    box-shadow: 0 0 4px rgba(0,0,0,0.3);
    z-index: 2;
}

/* 點擊反饋 — 蓋子彈起 */
#gift-box-stage:active .gm-box-lid {
    transform: translateX(-50%) translateY(-10px) rotate(-10deg);
}
#gift-box-stage:active .gm-box {
    filter: drop-shadow(0 20px 50px rgba(251,191,36,0.35)) brightness(1.15);
}

/* ── 底座光 ── */
.gm-pedestal {
    width: 140px; height: 14px;
    margin: -2px auto 0;
    background: radial-gradient(ellipse, rgba(251,191,36,0.3) 0%, transparent 70%);
    filter: blur(6px);
    animation: gmPedestal 3.5s ease-in-out infinite;
    z-index: 1;
}
@keyframes gmPedestal {
    0%,100% { opacity:0.4; transform:scaleX(1); }
    50%     { opacity:0.9; transform:scaleX(1.2); }
}

/* ── 標題 ── */
.gm-title {
    font-size: 24px !important;
    font-weight: 900 !important;
    color: #fcd34d !important;
    margin: 30px 0 0 !important;
    letter-spacing: 2px !important;
    text-shadow: 0 0 30px rgba(252,211,77,0.3) !important;
}

.gm-subtitle {
    font-size: 13px !important;
    color: rgba(255,255,255,0.4) !important;
    margin: 10px 0 0 !important;
    letter-spacing: 0.5px !important;
}

/* ── 交互提示（取代 TAP） ── */
.gm-cta-hint {
    margin-top: 28px;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 80px; height: 80px;
}
.gm-cta-ring {
    position: absolute; inset: 0;
    border: 1.5px solid rgba(251,191,36,0.2);
    border-radius: 50%;
    animation: gmCtaRing 2.5s ease-in-out infinite;
}
.gm-cta-ring-2 {
    inset: -8px;
    border-color: rgba(251,191,36,0.08);
    animation-delay: -1.2s;
    animation-duration: 3s;
}
@keyframes gmCtaRing {
    0%,100% { transform:scale(1); opacity:0.3; }
    50%     { transform:scale(1.15); opacity:0.7; }
}
.gm-cta-text {
    font-family: 'Orbitron', 'DIN Alternate', sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 4px;
    color: rgba(251,191,36,0.5);
    position: relative;
    z-index: 2;
    animation: gmCtaText 2.5s ease-in-out infinite;
}
@keyframes gmCtaText {
    0%,100% { opacity:0.3; }
    50%     { opacity:0.8; color:rgba(251,191,36,0.7); }
}

/* ── 退場動畫 ── */
.gm-exit .gm-box {
    animation: gmBoxExit 0.4s ease-in forwards !important;
}
.gm-exit .gm-box-lid {
    transform: translateX(-50%) translateY(-30px) rotate(-25deg) !important;
    transition: transform 0.3s ease !important;
}
.gm-exit .gm-bg, .gm-exit .gm-dots, .gm-exit .gm-pedestal,
.gm-exit .gm-title, .gm-exit .gm-subtitle, .gm-exit .gm-cta-hint {
    animation: gmFadeOut 0.3s ease forwards !important;
}
@keyframes gmBoxExit {
    0%   { transform:translateY(0) scale(1); opacity:1; filter:brightness(1); }
    40%  { transform:translateY(-20px) scale(1.15); filter:brightness(1.6); }
    100% { transform:translateY(30px) scale(0.3); opacity:0; filter:brightness(2); }
}
@keyframes gmFadeOut {
    to { opacity:0; }
}


/* ═══════════════════════════════════
   STAGE 2 — 結果
   ═══════════════════════════════════ */

#gift-opened-stage {
    position: relative;
    overflow: visible !important;
}

.gm-result {
    background: linear-gradient(170deg, #13192b 0%, #0c1120 50%, #0a0e1a 100%);
    border: 1px solid rgba(251,191,36,0.1);
    border-radius: 22px;
    padding: 36px 28px 28px;
    position: relative;
    overflow: hidden;
    box-shadow:
        0 0 0 1px rgba(255,255,255,0.03) inset,
        0 25px 80px rgba(0,0,0,0.5);
    animation: gmCardIn 0.6s cubic-bezier(0.175,0.885,0.32,1.275) 0.05s both;
}
@keyframes gmCardIn {
    0%   { opacity:0; transform:scale(0.8) translateY(25px); }
    100% { opacity:1; transform:scale(1) translateY(0); }
}

/* 頂部光帶 */
.gm-r-glow-top {
    position: absolute;
    top: 0; left: 10%; right: 10%; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(251,191,36,0.25), transparent);
    z-index: 1;
}

/* ── 品牌圖標 ── */
.gm-r-icon {
    position: relative;
    margin: 0 auto 16px;
    width: 56px; height: 56px;
}
.gm-r-icon-ring {
    width: 56px; height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(251,191,36,0.15), rgba(251,191,36,0.05));
    border: 1.5px solid rgba(251,191,36,0.2);
    display: flex; align-items: center; justify-content: center;
    position: relative; z-index: 2;
}
.gm-r-icon-ring i {
    font-size: 26px;
    color: #fcd34d;
    filter: drop-shadow(0 0 8px rgba(252,211,77,0.4));
}
.gm-r-icon-spark {
    position: absolute; inset: -6px;
    border-radius: 50%;
    border: 1px solid rgba(251,191,36,0.08);
    animation: gmIconSpark 2s ease-in-out infinite;
}
@keyframes gmIconSpark {
    0%,100% { transform:scale(1); opacity:0.3; }
    50%     { transform:scale(1.15); opacity:0.6; }
}

/* ── 標題 ── */
.gm-r-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #e2e8f0 !important;
    margin: 0 0 4px !important;
    letter-spacing: 0.5px !important;
    position: relative; z-index: 2;
}

/* ── 金額 ── */
.gm-r-amount {
    margin: 16px 0;
    position: relative; z-index: 2;
}
.gm-r-num {
    font-family: 'Orbitron', 'JetBrains Mono', monospace;
    font-size: 60px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -2px;
    background: linear-gradient(180deg, #fff 0%, #fcd34d 40%, #f59e0b 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 0 20px rgba(252,211,77,0.25));
    animation: gmNumIn 0.6s cubic-bezier(0.34,1.56,0.64,1) 0.3s both;
}
@keyframes gmNumIn {
    0%   { opacity:0; transform:scale(0.5) translateY(15px); }
    100% { opacity:1; transform:scale(1) translateY(0); }
}
.gm-r-unit {
    display: block;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #475569;
    letter-spacing: 4px;
    margin-top: 6px;
}

/* ── 分割線 ── */
.gm-r-divider {
    width: 50px; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(251,191,36,0.2), transparent);
    margin: 0 auto 16px;
}

/* ── 描述 ── */
.gm-r-desc {
    font-size: 12.5px !important;
    color: #64748b !important;
    line-height: 1.7 !important;
    margin: 0 0 24px !important;
    position: relative; z-index: 2;
}

/* ── CTA 按鈕 ── */
.gm-r-btn {
    width: 100%;
    height: 50px;
    background: linear-gradient(180deg, #1e293b 0%, #111827 100%);
    border: 1.5px solid rgba(251,191,36,0.25);
    border-radius: 14px;
    color: #fcd34d;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    position: relative;
    z-index: 2;
    overflow: hidden;
    letter-spacing: 0.5px;
    box-shadow:
        0 0 20px rgba(251,191,36,0.06),
        inset 0 1px 0 rgba(255,255,255,0.04);
    transition: all 0.2s;
}
.gm-r-btn::after {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 200%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(251,191,36,0.06), transparent);
    animation: giftBtnShimmer 4s infinite;
    pointer-events: none;
}
@keyframes giftBtnShimmer { 0%{left:-100%} 100%{left:100%} }
.gm-r-btn:active {
    transform: scale(0.97);
    border-color: rgba(251,191,36,0.4);
    box-shadow: 0 0 30px rgba(251,191,36,0.12);
}

/* 底部光暈 */
.gm-r-glow-bottom {
    position: absolute;
    bottom: -12px; left: 12%; right: 12%; height: 35px;
    background: radial-gradient(ellipse, rgba(251,191,36,0.06) 0%, transparent 70%);
    filter: blur(12px);
    pointer-events: none;
}

/* ═══ 彩帶特效（保留） ═══ */
.gc-piece {
    position: absolute;
    z-index: 50;
    opacity: 0;
    pointer-events: none;
    animation: gcBurst ease-out forwards;
    box-shadow: 0 0 2px rgba(0,0,0,0.2);
}
@keyframes gcBurst {
    0%   { opacity:1; transform:translate(0,0) rotate(0deg) scale(1); }
    15%  { opacity:1; }
    100% { opacity:0; transform:translate(var(--tx),var(--ty)) rotate(var(--r)) scale(0); }
}

.gc-flash {
    position: absolute;
    top: 20%; left: 50%;
    transform: translate(-50%,-50%);
    width: 15px; height: 15px;
    border-radius: 50%;
    background: radial-gradient(circle,
        rgba(255,255,255,0.9) 0%, rgba(252,211,77,0.6) 25%, transparent 65%
    );
    z-index: 60;
    pointer-events: none;
    animation: gcFlash 1s ease-out forwards;
}
@keyframes gcFlash {
    0%   { opacity:1; transform:translate(-50%,-50%) scale(0.5); }
    20%  { opacity:1; transform:translate(-50%,-50%) scale(8); }
    100% { opacity:0; transform:translate(-50%,-50%) scale(18); }
}

/* ═══ 移動端 ═══ */
@media (max-width: 480px) {
    .gm-box { width: 120px; height: 120px; }
    .gm-box-body { width: 100px; height: 72px; }
    .gm-box-lid-face { width: 110px; height: 26px; }
    .gm-box-v { width: 16px; }
    .gm-box-h { height: 13px; }
    .gm-r-num { font-size: 52px; }
    .gm-result { padding: 30px 22px 22px; }
    .gm-bg { width: 260px; height: 260px; }
}
/* ═══════════════════════════════════════════════════════
   PREMIUM DARK v2.0 — 强制覆盖版
   用 body::before 固定在视口，不会被任何容器遮挡
   ═══════════════════════════════════════════════════════ */

/* 1. 底色强制改为 GitHub 炭黑 */
html, body {
    background-color: #0d1117 !important;
    background-image:
        radial-gradient(ellipse 80% 60% at 0% 0%, rgba(0,224,198,0.20) 0%, transparent 50%),
        radial-gradient(ellipse 70% 55% at 100% 100%, rgba(251,191,36,0.14) 0%, transparent 50%),
        linear-gradient(180deg, #151a27 0%, #0d1117 45%, #080b0f 100%) !important;
    background-attachment: fixed !important;
}

/* 4. 清除所有可能遮挡的容器背景 */
#app,
.app,
.container,
.main,
.page,
.wrapper,
main {
    background: transparent !important;
}

/* 5. 导航栏毛玻璃强化 */
.navbar,
.bottom-nav {
    background: rgba(13, 17, 23, 0.78) !important;
    backdrop-filter: blur(20px) saturate(1.4) !important;
    -webkit-backdrop-filter: blur(20px) saturate(1.4) !important;
}

.bottom-nav {
    border-top: 1px solid rgba(255,255,255,0.05) !important;
}

/* 6. 卡片：底色提亮 + 阴影加深，让它们"浮"起来 */
.vip-card,
.mining-section,
.stake-record-box,
.ex-box,
.mine-assets-card {
    background: linear-gradient(180deg, #161b28 0%, #0f1420 100%) !important;
    box-shadow:
        0 16px 48px rgba(0, 0, 0, 0.5),
        0 1px 0 rgba(255, 255, 255, 0.05) inset !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
}

/* ============================================
   PREMIUM DARK — PHASE 2 FINAL v2
   ============================================ */

/* ---------- 1. 总资产区：不动结构，只提升数字质感 ---------- */
.total-assets,
.total-assets > div,
.total-assets > section {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* 800.00 大数字渐变 + 发光 */
.total-assets h2,
.gm-r-num,
.gm-r-amount {
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    background: linear-gradient(180deg, #ffffff 0%, #cbd5e1 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 0 40px rgba(255, 255, 255, 0.08);
    font-variant-numeric: tabular-nums;
}

/* ---------- 2. 进度条精品化 ---------- */
.total-assets [class*="progress"],
.total-assets [role="progressbar"] {
    background: rgba(255, 255, 255, 0.05) !important;
    border-radius: 999px !important;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) inset !important;
}

.total-assets [class*="progress"] > *,
.total-assets [role="progressbar"] > * {
    background: linear-gradient(to right, #14b8a6, #2dd4bf, #5eead4) !important;
    box-shadow:
        0 0 10px rgba(45, 212, 191, 0.6),
        0 0 20px rgba(45, 212, 191, 0.3) !important;
}

/* ---------- 3. 本日のタスク 卡片 .tb-left ---------- */
.tb-left {
    background: linear-gradient(
        145deg,
        rgba(26, 32, 44, 0.7) 0%,
        rgba(17, 22, 32, 0.85) 100%
    ) !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    border-radius: 16px !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.04) inset,
        0 8px 20px -8px rgba(0, 0, 0, 0.4) !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.tb-left:hover {
    transform: translateY(-2px);
    border-color: rgba(45, 212, 191, 0.2) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.06) inset,
        0 12px 28px -8px rgba(0, 0, 0, 0.5),
        0 0 30px rgba(45, 212, 191, 0.1) !important;
}

/* ---------- 4. 三个核心切换按钮 .action-btn（你已经喜欢的效果）---------- */
.action-btn {
    position: relative;
    background: linear-gradient(
        145deg,
        rgba(26, 32, 44, 0.6) 0%,
        rgba(17, 22, 32, 0.8) 100%
    ) !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    border-radius: 16px !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.03) inset,
        0 4px 12px -4px rgba(0, 0, 0, 0.3) !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    overflow: hidden;
}

.action-btn:hover {
    transform: translateY(-2px);
    border-color: rgba(255, 255, 255, 0.1) !important;
    background: linear-gradient(
        145deg,
        rgba(32, 38, 52, 0.8) 0%,
        rgba(22, 27, 38, 0.9) 100%
    ) !important;
}

.action-btn.active {
    background: linear-gradient(
        145deg,
        rgba(45, 212, 191, 0.12) 0%,
        rgba(20, 184, 166, 0.04) 100%
    ) !important;
    border: 1px solid rgba(45, 212, 191, 0.35) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.08) inset,
        0 0 0 1px rgba(45, 212, 191, 0.1),
        0 8px 24px -4px rgba(45, 212, 191, 0.25),
        0 0 40px rgba(45, 212, 191, 0.15) !important;
}

.action-btn.active::before {
    content: "";
    position: absolute;
    top: 0;
    left: 20%;
    right: 20%;
    height: 1px;
    background: linear-gradient(
        to right,
        transparent,
        rgba(94, 234, 212, 0.6),
        transparent
    );
    pointer-events: none;
}

/* ---------- 5. 挖矿详情区 .mining-section ---------- */
.mining-section {
    background: linear-gradient(
        180deg,
        rgba(26, 32, 44, 0.6) 0%,
        rgba(17, 22, 32, 0.8) 100%
    ) !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    border-radius: 16px !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.03) inset,
        0 8px 20px -8px rgba(0, 0, 0, 0.3) !important;
}

/* ---------- 6. BURN / PARTNER 徽章 ---------- */
[class*="burn"],
.burn-badge {
    background: linear-gradient(145deg, rgba(239, 68, 68, 0.15), rgba(220, 38, 38, 0.08)) !important;
    border: 1px solid rgba(239, 68, 68, 0.3) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.05) inset,
        0 2px 8px rgba(239, 68, 68, 0.15) !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
}

.partner-badge {
    background: linear-gradient(145deg, rgba(251, 191, 36, 0.15), rgba(245, 158, 11, 0.08)) !important;
    border: 1px solid rgba(251, 191, 36, 0.3) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.05) inset,
        0 2px 8px rgba(251, 191, 36, 0.15) !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
}

/* ---------- 7. LV.1 等级徽章 ---------- */
[class*="level"]:not([class*="levellist"]),
.lv-badge {
    background: linear-gradient(145deg, rgba(45, 212, 191, 0.15), rgba(45, 212, 191, 0.05)) !important;
    border: 1px solid rgba(45, 212, 191, 0.3) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.06) inset,
        0 2px 6px rgba(45, 212, 191, 0.1) !important;
    font-weight: 700 !important;
}

/* ---------- 8. +30 UNF 等奖励文字 ---------- */
.tb-left [class*="reward"],
.tb-left [class*="unf"] {
    color: #2dd4bf !important;
    font-weight: 600 !important;
    text-shadow: 0 0 10px rgba(45, 212, 191, 0.3);
}

/* ---------- 9. 数字等宽（金融产品必备）---------- */
.stat-row,
[class*="amount"],
[class*="balance"],
[class*="usdt"],
[class*="unf"] {
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
}

/* ---------- 10. 字体渲染优化 ---------- */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* ---------- 11. 滚动条 ---------- */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.08);
    border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
    background: rgba(45, 212, 191, 0.3);
}/* ============================================
   PHASE 2 PATCH — 生态伙伴区修复
   ============================================ */

/* ---------- 外层容器：去掉那个土黄色边框 ---------- */
.partner-section,
.ecosystem-section,
[class*="partner-list"],
[class*="ecosystem"] {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* ---------- 标题 "エコシステムパートナー" 竖线+文字 ---------- */
.partner-section h3,
.ecosystem-section h3,
[class*="partner"] h3,
[class*="ecosystem"] h3,
.partner-title,
.ecosystem-title {
    position: relative;
    color: #cbd5e1 !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    letter-spacing: 0.08em !important;
    text-align: center !important;
    padding: 20px 0 24px !important;
    border: none !important;
    background: transparent !important;
}

/* 标题前的青色竖线装饰 */
.partner-section h3::before,
.ecosystem-section h3::before,
[class*="partner"] h3::before,
[class*="ecosystem"] h3::before {
    content: "";
    display: inline-block;
    width: 3px;
    height: 14px;
    background: linear-gradient(180deg, #2dd4bf, #14b8a6);
    border-radius: 2px;
    margin-right: 10px;
    vertical-align: middle;
    box-shadow: 0 0 8px rgba(45, 212, 191, 0.5);
}

/* ---------- 9 个合作方小卡片 ---------- */
.partner-item,
.ecosystem-item,
[class*="partner-item"],
[class*="exchange-item"] {
    background: linear-gradient(
        145deg,
        rgba(26, 32, 44, 0.5) 0%,
        rgba(17, 22, 32, 0.7) 100%
    ) !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    border-radius: 12px !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.03) inset,
        0 2px 8px -2px rgba(0, 0, 0, 0.3) !important;
    color: #94a3b8 !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.partner-item:hover,
.ecosystem-item:hover,
[class*="partner-item"]:hover,
[class*="exchange-item"]:hover {
    transform: translateY(-2px);
    background: linear-gradient(
        145deg,
        rgba(45, 212, 191, 0.08) 0%,
        rgba(20, 184, 166, 0.03) 100%
    ) !important;
    border-color: rgba(45, 212, 191, 0.25) !important;
    color: #e2e8f0 !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.08) inset,
        0 8px 20px -6px rgba(45, 212, 191, 0.2),
        0 0 20px rgba(45, 212, 191, 0.08) !important;
}

/* ---------- 底部社交图标 & 链接 ---------- */
footer a,
.footer a,
[class*="footer"] svg {
    color: #64748b !important;
    transition: all 0.2s ease !important;
}

footer a:hover,
.footer a:hover,
[class*="footer"] svg:hover {
    color: #2dd4bf !important;
}

/* ---------- 底部版权文字 ---------- */
footer p,
.footer p,
[class*="footer"] p {
    color: #64748b !important;
    font-size: 12px !important;
    letter-spacing: 0.02em !important;
}
/* ============================================
   PHASE 3 HOTFIX — 干掉生态伙伴区的土黄边框
   原因：上面的 [class*="partner"] 选择器误伤
   ============================================ */

/* 精准反杀：标题和网格容器去掉黄色 */
.partner-title,
.partner-grid,
.partner-section {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    font-weight: normal !important;
    letter-spacing: normal !important;
    padding: initial !important;
}

/* 标题单独美化 */
.partner-title {
    padding: 24px 0 16px !important;
    font-size: 12px !important;
    color: #64748b !important;
    text-align: center !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
}
/* 青色竖线保留（已在 HTML inline style 中） */

/* 9 个合作方卡片 — 高级暗卡风 */
.p-card {
    background: linear-gradient(
        145deg,
        rgba(26, 32, 44, 0.5) 0%,
        rgba(17, 22, 32, 0.7) 100%
    ) !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    border-radius: 12px !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.03) inset,
        0 2px 8px -2px rgba(0, 0, 0, 0.3) !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.p-card span {
    color: #94a3b8 !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em !important;
    transition: color 0.25s !important;
}

.p-card:hover {
    transform: translateY(-2px) !important;
    background: linear-gradient(
        145deg,
        rgba(45, 212, 191, 0.08) 0%,
        rgba(20, 184, 166, 0.03) 100%
    ) !important;
    border-color: rgba(45, 212, 191, 0.25) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.08) inset,
        0 8px 20px -6px rgba(45, 212, 191, 0.2) !important;
}

.p-card:hover span {
    color: #e2e8f0 !important;
}

/* ═══════════════════════════════════════════════════════
   LUCKY WHEEL — Complete Styles
   ═══════════════════════════════════════════════════════ */

/* ── 转盘容器 ── */
.wheel-container {
    position: relative;
    width: 240px;
    height: 240px;
    margin: 0 auto;
}

/* ── 指针 ── */
.wheel-pointer {
    position: absolute;
    top: -6px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 20;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 20px solid #fbbf24;
    filter: drop-shadow(0 2px 8px rgba(251,191,36,0.6));
}

/* ── 转盘盘面 ── */
.wheel-plate {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    position: relative;
    border: 4px solid #1e293b;
    box-shadow:
        0 0 0 3px rgba(251,191,36,0.12),
        0 8px 30px rgba(0,0,0,0.5),
        inset 0 0 20px rgba(0,0,0,0.3);
    overflow: hidden;
    /* JS 控制 transition + transform */
}

/* ── 六扇区背景 ── */
.wheel-sectors {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: conic-gradient(
        from -30deg,
        #141c2b   0deg  60deg,
        #0e1525  60deg 120deg,
        #141c2b 120deg 180deg,
        #0e1525 180deg 240deg,
        #141c2b 240deg 300deg,
        #0e1525 300deg 360deg
    );
}
/* 扇区分割线 */
.wheel-sectors::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: repeating-conic-gradient(
        from -30deg,
        rgba(255,255,255,0.08) 0deg 0.5deg,
        transparent 0.5deg 60deg
    );
    pointer-events: none;
}

/* ── 奖品项 ── */
.w-item {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 50px;
    height: 50px;
    margin: -25px 0 0 -25px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 5;
}
.wi-icon {
    font-size: 28px;
    display: block;
    line-height: 1;
    filter: drop-shadow(0 2px 6px rgba(0,0,0,0.5));
}

/* 6 个奖品位置：半径 78px，每 60° 一个 */
.w-item:nth-child(2) { transform: translate(0px,   -78px); } /* 0°   💻 */
.w-item:nth-child(3) { transform: translate(68px,  -39px); } /* 60°  🪙 */
.w-item:nth-child(4) { transform: translate(68px,   39px); } /* 120° 🎟️ */
.w-item:nth-child(5) { transform: translate(0px,    78px); } /* 180° 💰 */
.w-item:nth-child(6) { transform: translate(-68px,  39px); } /* 240° 🛍️ */
.w-item:nth-child(7) { transform: translate(-68px, -39px); } /* 300° ⚡ */

/* ── 图例 ── */
.wheel-legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 14px;
    margin-top: 14px;
    padding: 0 10px;
}
.wl-item {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 10px;
    color: #94a3b8;
    white-space: nowrap;
}
.wl-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
}

/* ── 抽奖按钮 ── */
.spin-btn-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.spin-btn {
    width: 100%;
    padding: 12px 16px;
    border-radius: 10px;
    border: none;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: all 0.2s;
    position: relative;
}
.spin-btn:active { transform: scale(0.97); }

.spin-single {
    background: linear-gradient(135deg, #1e293b, #111827);
    color: #e2e8f0;
    border: 1px solid rgba(255,255,255,0.08);
}
.spin-single small {
    font-size: 11px;
    font-weight: 600;
    margin-left: 6px;
}

.spin-multi {
    background: linear-gradient(135deg, #1e293b, #111827);
    color: #e2e8f0;
    border: 1px solid rgba(255,255,255,0.08);
}
.spin-multi small {
    font-size: 10px;
    color: #fbbf24;
    font-weight: 600;
    margin-left: 4px;
}

.spin-sale-tag {
    font-style: normal;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
    color: #000;
    background: #fbbf24;
    padding: 2px 6px;
    border-radius: 4px;
    margin-right: 4px;
}
/* ═══════════════════════════════════════════
   LUCKY BOX — Luck Bar (翻倍弹窗内)
   Added 2026-04-24
   ═══════════════════════════════════════════ */
#luckbox-modal .lb-luck-block {
    margin: 14px 20px 0;
    padding: 11px 14px;
    background: linear-gradient(90deg, rgba(76,217,100,0.06), rgba(255,215,0,0.10));
    border: 1px solid rgba(255,215,0,0.25);
    border-radius: 12px;
}
#luckbox-modal .lb-luck-row {
    display: flex;
    align-items: center;
    gap: 10px;
}
#luckbox-modal .lb-luck-icon {
    font-size: 16px;
    filter: drop-shadow(0 0 6px #4CD964);
    flex-shrink: 0;
}
#luckbox-modal .lb-luck-track {
    flex: 1;
    height: 8px;
    background: rgba(0,0,0,0.4);
    border-radius: 4px;
    overflow: hidden;
}
#luckbox-modal .lb-luck-fill {
    height: 100%;
    background: linear-gradient(90deg, #4CD964, #FFD700);
    box-shadow: 0 0 10px #FFD700;
    border-radius: 4px;
    transition: width 0.6s cubic-bezier(.22,1,.36,1);
    animation: lbLuckPulse 1.6s ease-in-out infinite;
}
@keyframes lbLuckPulse {
    50% { box-shadow: 0 0 18px #FFD700, inset 0 0 4px #fff; }
}
#luckbox-modal .lb-luck-hint {
    margin-top: 7px;
    font-size: 11.5px;
    color: #aaa;
    text-align: center;
    line-height: 1.4;
    font-family: 'Barlow Condensed', sans-serif;
    letter-spacing: 0.3px;
}
#luckbox-modal .lb-luck-hint b {
    color: #FFD700;
    font-weight: 700;
    font-family: 'JetBrains Mono', monospace;
}
/* 满格特效 */
#luckbox-modal .lb-luck-block.is-ready {
    border-color: #FFD700;
    background: linear-gradient(90deg, rgba(255,215,0,0.15), rgba(255,107,53,0.15));
    animation: lbLuckReady 1.2s ease-in-out infinite;
}
@keyframes lbLuckReady {
    50% { box-shadow: 0 0 20px rgba(255,215,0,0.5); }
}

/* 移动端压缩 */
@media (max-width: 480px) {
    #luckbox-modal .lb-luck-block {
        margin: 10px 14px 0 !important;
        padding: 9px 12px !important;
    }
    #luckbox-modal .lb-luck-hint {
        font-size: 10.5px !important;
        margin-top: 6px !important;
    }
}
/* ═══════════════════════════════════════════════════════
   INSCRIPTION SYSTEM — Fragment Cards & Forge Ceremony
   ═══════════════════════════════════════════════════════ */

/* ── 卡券Tab栏 ── */
#voucher-tab-bar {
    display: flex;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    background: rgba(15,23,42,0.5);
    flex-shrink: 0;
}
.vtab {
    flex: 1;
    padding: 12px;
    font-size: 13px;
    font-weight: 600;
    background: transparent;
    border: none;
    color: #475569;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    transition: all 0.3s;
}
.vtab.active {
    color: #00e0c6;
    border-bottom-color: #00e0c6;
}
.vtab-panel { min-height: 200px; }

/* ── 铭文筛选栏 ── */
#insc-filter-bar {
    display: flex;
    gap: 6px;
    margin-bottom: 14px;
    overflow-x: auto;
    padding-bottom: 4px;
}
.insc-filter-btn {
    padding: 5px 14px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
    color: #475569;
    white-space: nowrap;
    cursor: pointer;
    transition: all 0.3s;
}
.insc-filter-btn.active {
    border-color: #00e0c6;
    color: #00e0c6;
    background: rgba(0,224,198,0.06);
}

/* ── 铭文网格 ── */
#inscriptions-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

/* ── 铭文卡片 ── */
.insc-card {
    position: relative;
    padding: 14px;
    border-radius: 14px;
    background: linear-gradient(180deg, #0e1525 0%, #0a0f1c 100%);
    border: 1px solid rgba(255,255,255,0.04);
    transition: all 0.4s;
    overflow: hidden;
}
.insc-card::before {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(135deg, transparent 40%, rgba(255,255,255,0.015) 50%, transparent 60%);
    background-size: 300% 300%;
    animation: inscShine 6s ease infinite;
    pointer-events: none;
    border-radius: 14px;
}
@keyframes inscShine {
    0%   { background-position: 100% 100%; }
    50%  { background-position: 0% 0%; }
    100% { background-position: 100% 100%; }
}

.insc-card.insc-ready {
    border-color: rgba(var(--glow-rgb), 0.35);
    animation: inscReady 2s ease infinite;
}
@keyframes inscReady {
    0%,100% { box-shadow: 0 0 0 transparent; }
    50%     { box-shadow: 0 0 20px rgba(var(--glow-rgb), 0.15); }
}

.insc-brand-tag {
    display: inline-block;
    font-size: 9px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 4px;
    letter-spacing: 1px;
    margin-bottom: 8px;
}
.insc-name {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 3px;
}
.insc-value-label {
    font-size: 10px;
    color: #475569;
    margin-bottom: 10px;
}

/* ── 碎片点 ── */
.insc-frag-row {
    display: flex;
    gap: 5px;
    margin-bottom: 8px;
}
.insc-frag-dot {
    width: 24px; height: 24px;
    border-radius: 6px;
    border: 1.5px solid rgba(255,255,255,0.06);
    background: rgba(255,255,255,0.02);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    color: #334155;
    transition: all 0.4s;
}
.insc-frag-dot.filled {
    border-color: rgba(var(--bc), 0.6);
    background: rgba(var(--bc), 0.12);
    color: rgb(var(--bc));
    box-shadow: 0 0 8px rgba(var(--bc), 0.2);
}
.insc-progress {
    font-size: 11px;
    color: #475569;
    margin-bottom: 10px;
}

/* ── 铸造按钮 ── */
.insc-forge-btn {
    width: 100%;
    padding: 8px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    background: linear-gradient(135deg, rgba(var(--glow-rgb),0.12), rgba(var(--glow-rgb),0.04));
    border: 1px solid rgba(var(--glow-rgb),0.35);
    letter-spacing: 1px;
    cursor: pointer;
    transition: all 0.3s;
    position: relative;
    overflow: hidden;
}
.insc-forge-btn::before {
    content: '';
    position: absolute; inset: -2px;
    background: linear-gradient(90deg, transparent, rgba(var(--glow-rgb),0.25), transparent);
    transform: translateX(-100%);
    animation: forgeBtnSweep 2s ease infinite;
}
@keyframes forgeBtnSweep {
    0%   { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}
.insc-forge-btn:hover {
    box-shadow: 0 0 18px rgba(var(--glow-rgb),0.25);
    transform: translateY(-1px);
}

/* ═══════════════════════════════════════════
   FORGE CEREMONY OVERLAY
   ═══════════════════════════════════════════ */
.forge-overlay {
    position: fixed; inset: 0; z-index: 100000;
    background: rgba(0,0,0,0);
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background 0.8s ease;
}
.forge-overlay.show {
    background: rgba(2,4,12,0.94);
}

.forge-stage {
    position: relative;
    width: 300px;
    height: 320px;
}

/* ── 碎片 ── */
.forge-frag {
    position: absolute;
    width: 36px; height: 36px;
    border-radius: 8px;
    border: 2px solid;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.5);
    transition: opacity 0.4s, transform 0.4s;
}
.forge-frag.appear {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    animation: forgeFragFloat 2s ease-in-out infinite;
}
@keyframes forgeFragFloat {
    0%,100% { transform: translate(-50%,-50%) translateY(0); }
    50%     { transform: translate(-50%,-50%) translateY(-6px); }
}

/* ── 能量线动画 ── */
@keyframes forgeLineFlow {
    to { stroke-dashoffset: -20; }
}

/* ── 爆闪 ── */
.forge-flash {
    position: absolute;
    left: 50%; top: 48%;
    transform: translate(-50%,-50%) scale(0);
    width: 200px; height: 200px;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
}
.forge-flash.go {
    animation: forgeFlashGo 0.8s ease forwards;
}
@keyframes forgeFlashGo {
    0%  { transform: translate(-50%,-50%) scale(0); opacity: 1; }
    40% { transform: translate(-50%,-50%) scale(2); opacity: 0.8; }
    100%{ transform: translate(-50%,-50%) scale(4.5); opacity: 0; }
}

/* ── 震屏 ── */
.forge-shake {
    animation: forgeScreenShake 0.4s ease !important;
}
@keyframes forgeScreenShake {
    0%,100% { transform: translate(0); }
    15% { transform: translate(-5px, 3px); }
    30% { transform: translate(5px, -3px); }
    45% { transform: translate(-4px, 2px); }
    60% { transform: translate(4px, -2px); }
    75% { transform: translate(-2px, 1px); }
}

/* ── 结果卡片 ── */
.forge-result {
    position: absolute;
    left: 50%; top: 48%;
    transform: translate(-50%,-50%) scale(0);
    opacity: 0;
    text-align: center;
    z-index: 10;
}
.forge-result.show {
    animation: forgeResultIn 0.8s cubic-bezier(0.2,0.8,0.2,1.2) forwards;
}
@keyframes forgeResultIn {
    to { transform: translate(-50%,-50%) scale(1); opacity: 1; }
}

.forged-card {
    width: 200px;
    padding: 22px 18px;
    border-radius: 16px;
    background: linear-gradient(160deg, #151c2e 0%, #0c1120 50%, #0a0e1a 100%);
    border: 2px solid;
    position: relative;
    overflow: hidden;
    margin: 0 auto 16px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}
.fc-shimmer {
    position: absolute; inset: 0;
    background: linear-gradient(135deg, transparent 30%, rgba(255,255,255,0.06) 45%, transparent 55%, rgba(255,255,255,0.03) 70%, transparent 80%);
    background-size: 400% 400%;
    animation: fcShimmer 3s ease infinite;
    pointer-events: none;
}
@keyframes fcShimmer {
    0%   { background-position: 100% 100%; }
    50%  { background-position: 0% 0%; }
    100% { background-position: 100% 100%; }
}
.fc-brand {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 8px;
    position: relative; z-index: 1;
}
.fc-value {
    font-family: 'Orbitron', 'JetBrains Mono', monospace;
    font-size: 32px;
    font-weight: 900;
    margin-bottom: 4px;
    position: relative; z-index: 1;
}
.fc-label {
    font-size: 10px;
    color: #475569;
    letter-spacing: 1px;
    position: relative; z-index: 1;
}
.fc-badge {
    position: absolute;
    top: 10px; right: 10px;
    font-size: 8px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 4px;
    letter-spacing: 1px;
    z-index: 1;
}

.forge-close-btn {
    padding: 12px 48px;
    border-radius: 12px;
    background: linear-gradient(180deg, #1e293b, #111827);
    border: 1px solid rgba(255,255,255,0.08);
    color: #e2e8f0;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s;
}
.forge-close-btn:hover {
    border-color: #00e0c6;
    color: #00e0c6;
    box-shadow: 0 0 15px rgba(0,224,198,0.15);
}

/* ── 铸造彩纸 ── */
.forge-confetti-piece {
    position: absolute;
    border-radius: 1px;
    animation: forgeConfettiFall 1.8s ease-out forwards;
    pointer-events: none;
    z-index: 5;
}
@keyframes forgeConfettiFall {
    0%   { opacity: 1; transform: translate(0,0) rotate(0) scale(1); }
    100% { opacity: 0; transform: translate(var(--ftx), var(--fty)) rotate(720deg) scale(0); }
}

/* ── 移动端适配 ── */
@media (max-width: 480px) {
    #inscriptions-grid {
        gap: 8px;
    }
    .insc-card {
        padding: 12px;
    }
    .insc-name { font-size: 13px; }
    .insc-frag-dot { width: 22px; height: 22px; font-size: 9px; }
    .forge-stage { width: 280px; height: 300px; }
    .forged-card { width: 180px; padding: 18px 14px; }
    .fc-value { font-size: 28px; }
}
/* ═══════════════════════════════════════════
   FINAL FIX — 背景輝光加強 + 文字提亮
   ═══════════════════════════════════════════ */

/* ── 1. 背景輝光加到肉眼可見 ── */
html, body {
    background-image:
        radial-gradient(ellipse 80% 60% at 0% 0%, rgba(0,224,198,0.32) 0%, transparent 50%),
        radial-gradient(ellipse 70% 55% at 100% 100%, rgba(251,191,36,0.22) 0%, transparent 50%),
        linear-gradient(180deg, #151a27 0%, #0d1117 45%, #080b0f 100%) !important;
}

/* ── 2. 文字提亮（只動顏色，不動佈局） ── */

/* 最暗的標籤/提示文字 #334155 → #546178 */
.act-sub,
.vault-notice,
.ops-notice,
.notice-more,
.p-card span,
.ver-tag,
.ad-label,
.pb-sub,
.rp-min-tag,
.rp-status-text {
    color: #546178 !important;
}

/* 次要說明 #475569 → #7a8ba0 */
.stat-row span:first-child,
.ex-row span:first-child,
.ex-label,
.asset-bar-label,
.vault-stat-label,
.ieo-rate,
.pb-label,
.nav-item,
.unf-stat-label,
.ic-tags-row span,
.insc-value-label,
.insc-progress {
    color: #7a8ba0 !important;
}

/* 內容描述 #64748b → #8b9cb2 */
.ic-row,
.faq-a,
.sr-empty,
.sr-time,
.sr-header span,
.ma-top-row,
.ma-toggle,
.asset-label,
.partner-title,
.tool-item span,
.menu-item .m-left i,
.lf-title span,
.ex-h-title span {
    color: #8b9cb2 !important;
}

/* 中等文字 #94a3b8 → #a8b5c4 */
.n-text,
.vip-badge,
.wp-section p,
.lb-ticker-line,
.lb-section-header,
.ieo-pc-meta,
.ieo-pc-plabel {
    color: #a8b5c4 !important;
}

/* 日誌框文字 */
.log-item {
    color: rgba(0,224,198,0.6) !important;
}
/* IEO 通知彈窗 — 長內容可滾動 */
#ieo-notify-modal > div {
    max-height: 85vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
/* ═══ Lucky Box Header Right ═══ */
.lb-header-right {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* ❓ 按鈕 — 與 Lucky Wheel 統一風格 */
.lb-rules-btn {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #00e0c6;
    font-size: 20px;
    transition: all 0.2s ease;
    background: transparent;
    border: none;
    flex-shrink: 0;
}

.lb-rules-btn:hover {
    border-color: rgba(0, 224, 198, 0.6);
    background: rgba(0, 224, 198, 0.08);
    box-shadow: 0 0 12px rgba(0, 224, 198, 0.15);
}

.lb-rules-btn:active {
    transform: scale(0.92);
}
.task-cycle-tag {
  display: inline-block;
  font-size: 10px;
  padding: 1px 6px;
  border-radius: 8px;
  background: rgba(255, 170, 0, 0.15);
  color: #ffaa00;
  margin-left: 6px;
  vertical-align: middle;
}
/* ═══ Medal Detail Premium ═══ */
@keyframes mdl-glow-pulse {
  0%, 100% { box-shadow: 0 0 20px rgba(200,169,107,0.15), 0 0 60px rgba(200,169,107,0.05); }
  50%      { box-shadow: 0 0 30px rgba(200,169,107,0.3),  0 0 80px rgba(200,169,107,0.1);  }
}
@keyframes mdl-glow-pulse-lock {
  0%, 100% { box-shadow: 0 0 15px rgba(71,85,105,0.1), 0 0 40px rgba(71,85,105,0.03); }
  50%      { box-shadow: 0 0 20px rgba(71,85,105,0.2), 0 0 50px rgba(71,85,105,0.06); }
}
@keyframes mdl-orbit {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes mdl-shimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}
@keyframes mdl-bar-in {
  0%   { width: 0%; }
}
@keyframes mdl-float-in {
  0%   { opacity: 0; transform: translateY(30px); }
  100% { opacity: 1; transform: translateY(0); }
}
@keyframes mdl-border-flow {
  0%   { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}
@keyframes mdl-badge-pop {
  0%   { transform: scale(0.6); opacity: 0; }
  60%  { transform: scale(1.1); }
  100% { transform: scale(1); opacity: 1; }
}

/* Detail sheet container */
#medal-detail-sheet > div > div {
  scrollbar-width: none;
}
#medal-detail-sheet > div > div::-webkit-scrollbar {
  display: none;
}

/* ═══ Medal Detail Sheet — 滚动修复 ═══ */
#medal-detail-content {
    max-height: 70vh !important;
    max-height: 70dvh !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)) !important;
}

#medal-detail-content > div {
    pointer-events: auto;
}

@media (max-width: 480px) {
    #medal-detail-content {
        max-height: 70vh !important;
        max-height: 70dvh !important;
    }
}
/* ═══════════════════════════════════════════════════════
   ALL MODALS ABOVE NAV (Industry Standard)
   ─────────────────────────────────────────────────────
   所有弹窗覆盖底部导航栏
   ═══════════════════════════════════════════════════════ */

[id$="-modal"],
.modal-overlay,
.modal {
    z-index: 9999 !important;
}


/* ═══ Lucky Box — 全局滚动修复 ═══ */

/* 1. overlay 允许触摸穿透 */
#luckbox-modal {
    touch-action: auto !important;
}

/* 2. 整个 modal 容器可滚动（核心） */
#luckbox-modal .lb-modal {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
    overscroll-behavior: contain !important;
}

/* 3. lb-body 不再自己滚动，自然撑开 */
#luckbox-modal .lb-body {
    overflow: visible !important;
    flex: 0 0 auto !important;
    min-height: auto !important;
}

/* 4. 折叠区展开时自然撑开 */
#luckbox-modal .lb-collapse.open .lb-section-body {
    max-height: none !important;
    overflow: visible !important;
}
#luckbox-modal .lb-leaderboard.expanded .lb-lb-list {
    max-height: none !important;
    overflow: visible !important;
}

/* 5. 开箱动画覆盖全屏（不受滚动影响） */
#luckbox-modal .lb-reveal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 10001 !important;
}

/* ═══ Lucky Box — Visual Hierarchy v10.0 (高性能) ═══ */

#luckbox-modal * { -webkit-tap-highlight-color: transparent !important; }
#luckbox-modal .lb-body {
    gap: 0 !important;
    padding: 12px 14px !important;
}

/* ── 主体三段：静态阴影 + 仅边框呼吸 ── */
#luckbox-modal .lb-tier-row {
    background: linear-gradient(175deg, #161e3a 0%, #111a2e 50%, #0d1424 100%) !important;
    border: 1.5px solid rgba(220, 170, 50, 0.14) !important;
    border-bottom: 1px solid rgba(220, 170, 50, 0.06) !important;
    border-radius: 18px 18px 0 0 !important;
    padding: 18px 14px 14px !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 2 !important;
    box-shadow: 0 0 15px rgba(220, 170, 50, 0.06), 0 8px 30px rgba(0,0,0,0.3) !important;
    transition: none !important;
    will-change: auto !important;
}
/* 顶部高光线（静态） */
#luckbox-modal .lb-tier-row::after {
    content: '' !important;
    position: absolute !important;
    top: -1px; left: 10%; right: 10% !important;
    height: 2px !important;
    background: linear-gradient(90deg, transparent, rgba(240,190,60,0.30), transparent) !important;
    pointer-events: none !important;
    z-index: 3 !important;
}

#luckbox-modal .lb-action-card {
    background: linear-gradient(180deg, #0f1726 0%, #0c1220 100%) !important;
    border-left: 1.5px solid rgba(220, 170, 50, 0.12) !important;
    border-right: 1.5px solid rgba(220, 170, 50, 0.12) !important;
    border-top: none !important;
    border-bottom: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 14px 16px !important;
    position: relative !important;
    z-index: 2 !important;
    box-shadow: inset 5px 0 20px rgba(0,0,0,0.18), inset -5px 0 20px rgba(0,0,0,0.18) !important;
    transition: none !important;
    will-change: auto !important;
}
#luckbox-modal .lb-action-card::before { display: none !important; }
#luckbox-modal .lb-action-card::after { display: none !important; }

#luckbox-modal #lb-milestone-bar {
    background: linear-gradient(180deg, #0c1220 0%, #090e1a 100%) !important;
    border: 1.5px solid rgba(220, 170, 50, 0.12) !important;
    border-top: 1px solid rgba(220, 170, 50, 0.04) !important;
    border-radius: 0 0 18px 18px !important;
    margin: 0 0 24px !important;
    position: relative !important;
    z-index: 2 !important;
    box-shadow: 0 0 15px rgba(220, 170, 50, 0.04), 0 10px 35px rgba(0,0,0,0.3) !important;
    transition: none !important;
    will-change: auto !important;
}

/* ★ 唯一的呼吸灯：用一个 overlay 盖在整个盒子上 ★ */
/* 不用 box-shadow 动画，用 opacity 动画（GPU加速，零卡顿） */
#luckbox-modal .lb-tier-row::before {
    content: '' !important;
    position: absolute !important;
    inset: -1px !important;
    border-radius: 18px 18px 0 0 !important;
    border: 1.5px solid rgba(240, 190, 60, 0.25) !important;
    pointer-events: none !important;
    z-index: 4 !important;
    opacity: 0 !important;
    animation: lb-gold-breathe 3s ease-in-out infinite !important;
    transform: translateZ(0) !important;
}
#luckbox-modal #lb-milestone-bar::before {
    content: '' !important;
    position: absolute !important;
    inset: -1px !important;
    border-radius: 0 0 18px 18px !important;
    border: 1.5px solid rgba(240, 190, 60, 0.25) !important;
    pointer-events: none !important;
    z-index: 4 !important;
    opacity: 0 !important;
    animation: lb-gold-breathe 3s ease-in-out infinite -0.15s !important;
    transform: translateZ(0) !important;
}
#luckbox-modal #lb-milestone-bar::after { display: none !important; }

/* ★ 呼吸灯：仅 opacity 变化 = GPU硬件加速，0卡顿 ★ */
@keyframes lb-gold-breathe {
    0%, 100% { opacity: 0; }
    50% { opacity: 1; }
}

/* ── 排行榜 + 概率 + 记录 (底部低调) ── */
#luckbox-modal .lb-leaderboard {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    transition: opacity 0.3s ease !important;
}
#luckbox-modal .lb-leaderboard:hover,
#luckbox-modal .lb-leaderboard.expanded { opacity: 1 !important; }
#luckbox-modal .lb-lb-header {
    padding: 12px 4px 8px !important;
    border-top: 1px solid rgba(255,255,255,0.03) !important;
}
#luckbox-modal .lb-lb-title { color: #64748b !important; font-size: 13px !important; font-weight: 600 !important; }
#luckbox-modal .lb-lb-arrow { color: #64748b !important; }
#luckbox-modal .lb-lb-row .lb-lb-rank { color: #64748b !important; }
#luckbox-modal .lb-lb-row .lb-lb-addr { color: #64748b !important; font-size: 11px !important; }
#luckbox-modal .lb-lb-row .lb-lb-amount { color: #5a8a6a !important; font-size: 11px !important; }
#luckbox-modal .lb-lb-row .lb-lb-bonus { color: #4a6a5a !important; font-size: 9px !important; }

#luckbox-modal .lb-section-card {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    margin: 0 !important;
}
#luckbox-modal .lb-section-card .lb-section-header {
    border-top: 1px solid rgba(255,255,255,0.03) !important;
    padding: 12px 4px 8px !important;
}
#luckbox-modal .lb-section-card .lb-section-header span,
#luckbox-modal .lb-section-card .lb-section-header span[data-i18n] {
    font-size: 12px !important; color: #64748b !important; font-weight: 600 !important;
}
#luckbox-modal .lb-section-card .lb-collapse-arrow { color: #64748b !important; }
#luckbox-modal .lb-section-card.lb-collapse .lb-section-body { padding: 0 4px !important; }
#luckbox-modal .lb-section-card.lb-collapse.open .lb-section-body { padding: 0 4px 10px !important; }
#luckbox-modal #lb-odds-table > div { padding: 7px 2px !important; border-bottom: 1px solid rgba(255,255,255,0.02) !important; }
#luckbox-modal #lb-odds-table > div > span:first-child { font-size: 11px !important; color: #64748b !important; }
#luckbox-modal #lb-odds-table > div > span:last-child { font-size: 10px !important; color: #4a5a6f !important; }
#luckbox-modal #lb-history-list .lb-history-row { padding: 6px 2px !important; font-size: 10px !important; opacity: 0.6 !important; }

@media (max-width: 480px) {
    #luckbox-modal .lb-body { padding: 8px 10px !important; }
    #luckbox-modal .lb-tier-row { padding: 14px 10px 12px !important; border-radius: 16px 16px 0 0 !important; }
    #luckbox-modal .lb-tier-row::before { border-radius: 16px 16px 0 0 !important; }
    #luckbox-modal .lb-action-card { padding: 10px 12px !important; }
    #luckbox-modal #lb-milestone-bar { margin-bottom: 20px !important; border-radius: 0 0 16px 16px !important; }
    #luckbox-modal #lb-milestone-bar::before { border-radius: 0 0 16px 16px !important; }
}

/* ═══ LB 三折叠标题完全统一 v2 ═══ */
#luckbox-modal .lb-lb-header,
#luckbox-modal .lb-section-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 14px 6px !important;
    border-top: 1px solid rgba(255,255,255,0.04) !important;
    cursor: pointer !important;
    font-family: 'Barlow Condensed', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #64748b !important;
    letter-spacing: 0.5px !important;
}
#luckbox-modal .lb-lb-title {
    display: inline !important;
    font: inherit !important;
    color: inherit !important;
    letter-spacing: inherit !important;
}
#luckbox-modal .lb-section-header span,
#luckbox-modal .lb-section-header span[data-i18n] {
    font: inherit !important;
    color: inherit !important;
    letter-spacing: inherit !important;
}
#luckbox-modal .lb-lb-arrow,
#luckbox-modal .lb-collapse-arrow {
    color: #64748b !important;
    font-size: 12px !important;
    transition: transform 0.2s ease !important;
}
/* ═══ Stake Input + MAX Button ═══ */
.stake-input-wrap {
    display: flex;
    align-items: center;
    background: #080c16;
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 10px;
    overflow: hidden;
    transition: border-color 0.25s;
}
.stake-input-wrap:focus-within {
    border-color: rgba(0,224,198,0.25);
    box-shadow: 0 0 0 3px rgba(0,224,198,0.04);
}
.stake-input-wrap #inp-stake-amount {
    flex: 1;
    min-width: 0;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none;
    color: #e2e8f0;
    font-size: 15px;
    font-weight: 600;
    font-family: 'JetBrains Mono', monospace;
    padding: 14px 12px 14px 16px;
}
.stake-input-wrap #inp-stake-amount::placeholder {
    color: #2a3245;
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    font-weight: 500;
    font-size: 12px;
}
.stake-max-btn {
    flex-shrink: 0;
    height: 42px;
    padding: 0 14px;
    margin-right: 6px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
    color: #475569;
    border-radius: 8px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.5px;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.2s;
}
.stake-max-btn:hover {
    color: #00e0c6;
    border-color: rgba(0,224,198,0.2);
    background: rgba(0,224,198,0.04);
}
.stake-max-btn:active {
    transform: scale(0.95);
}