#qz-reward-widget {
    position: fixed; right: 30px; bottom: 100px; z-index: 9990;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
/* 悬浮球 */
.qz-rw-ball {
    width: 64px; height: 64px; border-radius: 50%;
    background: linear-gradient(135deg, #fff, #fef3c7);
    box-shadow: 0 8px 24px rgba(245,158,11,0.3);
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; position: relative; transition: transform 0.3s;
}
.qz-rw-ball:hover { transform: scale(1.05); }
.qz-rw-ball svg { width: 54px; height: 54px; transform: rotate(-90deg); }
.qz-rw-ball .circle-bg { fill: none; stroke: #fef3c7; stroke-width: 4; }
.qz-rw-ball .circle-bar { fill: none; stroke: #f59e0b; stroke-width: 4; stroke-linecap: round; transition: stroke-dasharray 1s linear; }
.qz-rw-ball .icon { position: absolute; font-size: 24px; }
/* 满进度呼吸动效 */
.qz-rw-ball.full { animation: qzPulse 1.5s infinite; }
@keyframes qzPulse {
    0% { box-shadow: 0 0 0 0 rgba(245,158,11,0.6); }
    70% { box-shadow: 0 0 0 15px rgba(245,158,11,0); }
    100% { box-shadow: 0 0 0 0 rgba(245,158,11,0); }
}

/* 弹窗模态 */
.qz-rw-modal {
    position: fixed; inset: 0; background: rgba(15,23,42,0.6); z-index: 10000;
    display: none; align-items: center; justify-content: center;
}
.qz-rw-modal.show { display: flex; }
.qz-rw-panel {
    background: #fff; width: 380px; border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.2); overflow: hidden;
    animation: qzSlideUp 0.3s ease;
}
@keyframes qzSlideUp { from{transform:translateY(30px);opacity:0} to{transform:translateY(0);opacity:1} }

.qz-rw-header { padding: 20px; font-size: 16px; font-weight: bold; border-bottom: 1px solid #f1f5f9; position: relative; }
.qz-rw-close { position: absolute; right: 20px; top: 20px; cursor: pointer; color: #94a3b8; }

/* 概览卡片 */
.qz-rw-overview { padding: 20px; display: flex; gap: 12px; }
.qz-rw-ov-card { flex: 1; background: #fffbeb; border-radius: 12px; padding: 16px; text-align: center; }
.qz-rw-ov-card .num { font-size: 24px; font-weight: bold; color: #ea580c; font-family: monospace; }
.qz-rw-ov-card .lbl { font-size: 12px; color: #d97706; margin-top: 4px; }

/* 选项卡 */
.qz-rw-tabs { display: flex; padding: 0 20px; border-bottom: 1px solid #f1f5f9; }
.qz-rw-tab { flex: 1; text-align: center; padding: 12px 0; font-size: 13px; color: #64748b; cursor: pointer; border-bottom: 2px solid transparent; }
.qz-rw-tab.active { color: #ea580c; border-color: #ea580c; font-weight: bold; }

/* 列表区 */
.qz-rw-list { height: 260px; overflow-y: auto; padding: 10px 20px; }
.qz-rw-item { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px dashed #f1f5f9; font-size: 13px; }
.qz-rw-item .time { color: #94a3b8; font-family: monospace; }
.qz-rw-item .amount { color: #ea580c; font-weight: bold; }
.qz-rw-rank-item { display: flex; padding: 10px 0; border-bottom: 1px dashed #f1f5f9; font-size: 13px; align-items: center; }
.qz-rw-rank-item .no { width: 20px; font-weight: bold; color: #94a3b8; }
.qz-rw-rank-item .no.top { color: #ea580c; }
.qz-rw-rank-item .name { flex: 1; color: #334155; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.qz-rw-rank-item .val { color: #ea580c; font-weight: bold; }

/* 金币喷发粒子 */
.qz-coin {
    position: fixed; width: 20px; height: 20px; background: #fbbf24; border-radius: 50%;
    box-shadow: inset -2px -2px 4px rgba(0,0,0,0.2); z-index: 10001; pointer-events: none;
    display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: bold; color: #fff;
}