/* --- 按钮容器 --- */
.bili-reward-wrap {
    display: inline-flex;
    align-items: center; justify-content: center;
    margin: 20px 0; 
    clear: both;
}

/* --- 胶囊按钮 --- */
.bili-reward-btn {
    display: flex; align-items: center; justify-content: center;
    height: 36px; padding: 0 22px;
    background: linear-gradient(135deg, #ff758c 0%, #ff7eb3 100%); /* 渐变粉 */
    color: #fff; border-radius: 50px;
    font-size: 14px; font-weight: 600; cursor: pointer;
    box-shadow: 0 4px 12px rgba(255, 117, 140, 0.4);
    transition: transform 0.2s; user-select: none; white-space: nowrap;
}
.bili-reward-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(255, 117, 140, 0.6); }
.bili-reward-btn .icon-flash { margin-right: 5px; font-size: 16px; }

/* --- 弹窗样式 --- */
.reward-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.5); z-index: 2147483647;
    display: flex; align-items: center; justify-content: center;
    backdrop-filter: blur(4px);
}
.reward-modal {
    background: #fff; width: 380px; max-width: 90%;
    border-radius: 12px; overflow: hidden;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2);
    animation: popIn 0.3s ease; font-family: sans-serif;
}
.modal-header {
    background: linear-gradient(135deg, #ff758c 0%, #ff7eb3 100%);
    padding: 15px 20px; color: #fff;
    display: flex; justify-content: space-between; align-items: center;
}
.header-title { font-weight: bold; font-size: 15px; }
.modal-close { font-size: 24px; cursor: pointer; opacity: 0.8; line-height: 1; }
.modal-body { padding: 20px; }
.reward-info-bar { text-align: center; margin-bottom: 20px; color: #666; font-size: 13px; }
.highlight-price { color: #ff758c; font-size: 20px; font-weight: bold; margin: 0 4px; }

.price-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 20px; }
.price-card {
    height: 45px; border-radius: 6px; background: #f7f8fa; color: #333;
    display: flex; align-items: center; justify-content: center; cursor: pointer;
    border: 1px solid transparent; transition: all 0.2s; font-weight: 500;
}
.price-card.active { border-color: #ff758c; background: #fff0f3; color: #ff758c; }
.custom-input { width: 60px; border: none; background: transparent; text-align: center; color: #ff758c; outline: none; font-size: 16px; font-weight: bold;}

.pay-btn-group { display: flex; gap: 10px; }
.pay-btn { flex: 1; border: none; padding: 10px 0; border-radius: 6px; color: #fff; font-size: 14px; font-weight: bold; cursor: pointer; }
.pay-btn.alipay { background: #1677ff; }
.pay-btn.wechat { background: #07c160; }

@keyframes popIn { from { transform: scale(0.95); opacity: 0; } to { transform: scale(1); opacity: 1; } }