
        html, body { overflow-x: hidden; }
        @keyframes hwAlarmShake {
            0%, 100% { transform: translateX(0); }
            25% { transform: translateX(-2px); }
            75% { transform: translateX(2px); }
        }
        #hardwareAlarmOverlay.show { display: flex !important; overflow-x: hidden; }
    
    /* ===== 社区团购（用户端） ===== */
    .gb-rule-filter { display:flex; gap:8px; padding:10px 15px; overflow-x:auto; background:#fff; border-bottom:1px solid #f0f0f0; }
    .gb-rule-btn { flex:0 0 auto; padding:6px 14px; border:1px solid #e0e0e0; border-radius:16px; background:#fff; color:#666; font-size:13px; cursor:pointer; }
    .gb-rule-btn.active { background:var(--warning); color:#fff; border-color:var(--warning); }
    .gb-card { background:#fff; margin:12px 15px; border-radius:14px; overflow:hidden; box-shadow:0 2px 10px rgba(0,0,0,.05); position:relative; }
    .gb-card-badge { position:absolute; top:0; left:0; padding:4px 10px; font-size:12px; color:#fff; border-bottom-right-radius:12px; }
    .gb-badge-fixed { background:var(--warning); } .gb-badge-time { background:#FF5252; } .gb-badge-ladder { background:var(--success); }
    .gb-card-body { display:flex; padding:14px; gap:12px; }
    .gb-card-thumb { width:84px; height:84px; border-radius:12px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; color:#fff; font-size:34px; }
    .gb-card-info { flex:1; min-width:0; }
    .gb-card-title { font-size:15px; font-weight:600; color:#1a1a1a; margin-bottom:4px; }
    .gb-card-shop { font-size:12px; color:#999; margin-bottom:6px; }
    .gb-card-price { margin-bottom:8px; }
    .gb-price-now { color:#FF5252; font-size:17px; font-weight:700; margin-right:8px; }
    .gb-price-origin { color:#bbb; font-size:13px; text-decoration:line-through; }
    .gb-card-ladder { font-size:12px; color:var(--warning); background:#FFF6E9; padding:3px 8px; border-radius:10px; display:inline-block; margin-bottom:8px; }
    .gb-progress-bar { height:6px; background:#f0f0f0; border-radius:3px; overflow:hidden; }
    .gb-progress-fill { height:100%; background:linear-gradient(90deg,var(--warning),#FFB347); }
    .gb-progress-text { font-size:12px; color:#999; display:block; margin-top:4px; }
    /* 店铺主页-团购活动卡片（复用 .gb-card，以下为专属补充） */
    .gb-card-list { display:flex; flex-direction:column; gap:12px; }
    .gb-card-foot { display:flex; align-items:center; gap:10px; margin-top:8px; font-size:12px; color:#999; }
    .gb-card-joined { color:#FF5252; font-weight:600; }
    .gb-card-time { flex:1; }
    .gb-card-btn { padding:5px 14px; border:none; border-radius:var(--radius-full); background:linear-gradient(135deg,var(--warning),#FFB347); color:#fff; font-size:var(--font-size-xs); font-weight:700; cursor:pointer; flex-shrink:0; }
    /* 详情页 */
    .gb-detail-hero { height:180px; position:relative; display:flex; align-items:center; justify-content:center; }
    .gb-detail-icon { font-size:64px; color:#fff; }
    .gb-detail-rule-tag { position:absolute; top:12px; left:12px; background:rgba(0,0,0,.35); color:#fff; padding:4px 12px; border-radius:14px; font-size:12px; }
    .gb-detail { padding:16px; }
    .gb-detail-title { font-size:19px; font-weight:700; color:#1a1a1a; margin-bottom:6px; }
    .gb-detail-shop { font-size:13px; color:#999; margin-bottom:12px; }
    .gb-detail-price-row { margin-bottom:14px; }
    .gb-detail-price-now { color:#FF5252; font-size:22px; font-weight:700; margin-right:10px; }
    .gb-detail-price-origin { color:#bbb; text-decoration:line-through; }
    .gb-detail-rule-box { background:#f8f9fb; border-radius:12px; padding:14px; margin-bottom:16px; }
    .gb-detail-rule-title { font-size:14px; font-weight:600; color:#333; margin-bottom:8px; }
    .gb-rule-list { margin:0; padding-left:18px; color:#555; font-size:13px; line-height:1.9; }
    .gb-detail-progress { margin-bottom:16px; }
    .gb-detail-progress-text { font-size:13px; color:var(--warning); margin-top:6px; }
    .gb-detail-members { display:flex; gap:6px; margin-bottom:80px; }
    .gb-member-avatar { width:36px; height:36px; border-radius:50%; color:#fff; display:flex; align-items:center; justify-content:center; font-size:14px; }
    .gb-member-more { background:#ddd; color:#666; }
    .gb-detail-bottombar { position:fixed; bottom:0; left:0; right:0; max-width:480px; margin:0 auto; background:#fff; border-top:1px solid #eee; display:flex; align-items:center; padding:10px 15px; gap:12px; }
    .gb-detail-bottom-info { flex:1; }
    .gb-bottom-price { color:#FF5252; font-size:18px; font-weight:700; }
    .gb-bottom-sub { font-size:12px; color:#999; }
    .gb-join-btn { background:var(--warning); color:#fff; border:none; border-radius:22px; padding:11px 36px; font-size:15px; font-weight:600; cursor:pointer; }
    /* 我的团购 */
    .gb-my-tabs { display:flex; background:#fff; border-bottom:1px solid #f0f0f0; }
    .gb-my-tab { flex:1; padding:12px 0; background:none; border:none; color:#666; font-size:14px; cursor:pointer; border-bottom:2px solid transparent; }
    .gb-my-tab.active { color:var(--warning); border-bottom-color:var(--warning); font-weight:600; }
    .gb-my-card { display:flex; align-items:center; background:#fff; margin:12px 15px; padding:12px; border-radius:12px; gap:12px; }
    .gb-my-thumb { width:60px; height:60px; border-radius:10px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; color:#fff; font-size:26px; }
    .gb-my-info { flex:1; min-width:0; }
    .gb-my-title { font-size:14px; font-weight:600; color:#1a1a1a; margin-bottom:4px; }
    .gb-my-status { font-size:12px; margin-bottom:4px; }
    .gb-status-joining { color:var(--warning); } .gb-status-completed { color:var(--success); } .gb-status-failed { color:#bbb; }
    .gb-my-price { font-size:15px; color:#FF5252; font-weight:600; }
    .gb-my-btn { background:var(--warning); color:#fff; border:none; border-radius:16px; padding:7px 16px; font-size:13px; cursor:pointer; }

    /* 团购详情-一键转广告按钮 */
    .gb-ad-btn { background:#fff; color:var(--primary); border:1px solid var(--primary); padding:11px 18px; font-weight:600; }
    /* 商家详情-广告投放引导 */
    .merchant-ad-box { display:flex; align-items:center; gap:12px; background:linear-gradient(135deg,#FFF7F0,#FFEFE2); border-radius:12px; padding:14px; }
    .merchant-ad-text { flex:1; min-width:0; }
    .merchant-ad-title { font-size:14px; font-weight:700; color:#1a1a1a; margin-bottom:4px; }
    .merchant-ad-sub { font-size:12px; color:#8a6a52; line-height:1.5; }
    .merchant-ad-btn { flex:0 0 auto; background:var(--primary); color:#fff; border:none; border-radius:20px; padding:9px 16px; font-size:13px; font-weight:700; cursor:pointer; }

    /* ===== 一期·广告演示页样式 ===== */
    /* 邻里奖金 */
    .bonus-hero { background:linear-gradient(135deg,var(--primary),#FF9A6C); color:#fff; padding:28px 20px 22px; }
    .bonus-hero-label { font-size:13px; opacity:.9; margin-bottom:6px; }
    .bonus-hero-amount { font-size:40px; font-weight:800; line-height:1; }
    .bonus-hero-sub { font-size:12px; opacity:.92; margin-top:10px; line-height:1.5; }
    .bonus-stats { display:flex; background:#fff; padding:16px 0; border-bottom:1px solid #f0f0f0; }
    .bonus-stat { flex:1; text-align:center; position:relative; }
    .bonus-stat + .bonus-stat::before { content:''; position:absolute; left:0; top:20%; height:60%; width:1px; background:#eee; }
    .bonus-stat-v { font-size:18px; font-weight:700; color:#1a1a1a; }
    .bonus-stat-l { font-size:12px; color:#999; margin-top:4px; }
    .bonus-actions { display:flex; gap:10px; padding:14px 15px; background:#fff; border-bottom:8px solid #f5f5f5; }
    .bonus-btn { flex:1; background:var(--primary); color:#fff; border:none; border-radius:22px; padding:11px 0; font-size:14px; font-weight:600; cursor:pointer; }
    .bonus-btn.ghost { background:#fff; color:var(--primary); border:1px solid var(--primary); }
    .bonus-section-title { display:flex; justify-content:space-between; align-items:center; padding:14px 15px 8px; font-size:15px; font-weight:700; color:#1a1a1a; }
    .bonus-list { background:#fff; padding:0 15px 8px; }
    .bonus-item { display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid #f5f5f5; }
    .bonus-item-ic { width:40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:18px; flex:0 0 auto; }
    .bonus-item-mid { flex:1; min-width:0; }
    .bonus-item-t { font-size:14px; color:#1a1a1a; }
    .bonus-item-d { font-size:12px; color:#999; margin-top:3px; }
    .bonus-item-am { font-size:15px; font-weight:700; color:var(--primary); flex:0 0 auto; }
    .bonus-privacy { margin:8px 15px 24px; background:#f8f9fb; border-radius:12px; padding:14px; }
    .bonus-privacy-head { font-size:14px; font-weight:700; color:#333; margin-bottom:10px; }
    .bonus-switch-row { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; font-size:13px; color:#555; line-height:1.5; padding:8px 0; }
    .bonus-privacy-tip { font-size:12px; color:#999; line-height:1.6; margin-top:6px; }
    .bonus-switch { width:44px; height:24px; flex:0 0 auto; margin-top:2px; }
    /* 一键转广告 */
    .cv-banner { background:#FFF7F0; color:#C2410C; font-size:13px; padding:10px 15px; display:flex; align-items:center; gap:8px; }
    .cv-source { padding:14px 15px; background:#fff; }
    .cv-source-label { font-size:12px; color:#999; margin-bottom:8px; }
    .cv-source-card { display:flex; gap:12px; align-items:center; background:#fafafa; border-radius:12px; padding:10px; }
    .cv-source-thumb { width:56px; height:56px; border-radius:10px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:24px; flex:0 0 auto; }
    .cv-source-title { font-size:15px; font-weight:600; color:#1a1a1a; }
    .cv-source-meta { font-size:12px; color:#999; margin-top:4px; }
    .cv-form { background:#fff; margin-top:8px; padding:6px 15px 16px; }
    .cv-field { padding:12px 0; border-bottom:1px solid #f5f5f5; }
    .cv-field > label { display:block; font-size:13px; color:#888; margin-bottom:8px; }
    .cv-static { font-size:14px; color:#1a1a1a; }
    .cv-static i { color:var(--primary); margin-right:4px; }
    .cv-chips { display:flex; flex-wrap:wrap; gap:8px; }
    .cv-chip { font-size:13px; padding:7px 14px; border:1px solid #e0e0e0; border-radius:16px; background:#fff; color:#666; cursor:pointer; }
    .cv-chip.active { background:var(--primary); color:#fff; border-color:var(--primary); }
    .cv-toggle-row { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#555; font-size:13px; line-height:1.5; }
    .cv-bottombar { position:fixed; bottom:0; left:0; right:0; max-width:480px; margin:0 auto; background:#fff; border-top:1px solid #eee; display:flex; align-items:center; padding:10px 15px; gap:12px; }
    .cv-est { flex:1; font-size:13px; color:#666; }
    .cv-est strong { color:var(--primary); }
    .cv-submit { background:var(--primary); color:#fff; border:none; border-radius:22px; padding:11px 28px; font-size:15px; font-weight:700; cursor:pointer; }
    /* 广告预览 */
    .ad-card { margin:14px 15px; background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 2px 10px rgba(0,0,0,.06); }
    .ad-badge { background:#FDECEC; color:var(--danger); font-size:12px; padding:7px 12px; display:flex; align-items:center; gap:6px; }
    .ad-hero { height:150px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:56px; }
    .ad-title { font-size:16px; font-weight:700; color:#1a1a1a; padding:12px 14px 4px; }
    .ad-desc { font-size:13px; color:#666; padding:0 14px 10px; line-height:1.5; }
    .ad-reward { margin:0 14px 12px; background:#FFF7F0; color:#C2410C; font-size:12px; padding:8px 10px; border-radius:10px; display:flex; align-items:center; gap:6px; }
    .ad-actions { display:flex; gap:10px; padding:0 14px 14px; }
    .ad-btn { flex:1; border:1px solid var(--primary); background:#fff; color:var(--primary); border-radius:20px; padding:9px 0; font-size:14px; font-weight:600; cursor:pointer; }
    .ad-btn.primary { background:var(--primary); color:#fff; }
    .ad-info { margin:0 15px 12px; background:#f8f9fb; border-radius:12px; padding:14px; }
    .ad-info-title { font-size:14px; font-weight:700; color:#333; margin-bottom:10px; }
    .ad-info-row { display:flex; justify-content:space-between; gap:12px; font-size:12px; color:#666; padding:6px 0; border-top:1px solid #eee; }
    .ad-info-row span:first-child { color:#999; flex:0 0 auto; }
    .ad-info-row span:last-child { text-align:right; }
    .ad-gov-sep { margin:8px 15px; font-size:12px; color:#999; display:flex; align-items:center; gap:6px; }
    .ad-gov-card { margin:0 15px 24px; background:#E8F4FF; border-radius:12px; padding:14px; }
    .ad-gov-t { font-size:14px; color:#1257B0; font-weight:600; }
    .ad-gov-d { font-size:12px; color:#6a93c7; margin-top:6px; }
    /* 信息流原生广告卡（与 post-card 统一：图片在上，标题/头像/信息在下方） */
    .ad-feed-card { background:#fff; border-radius:var(--radius); overflow:hidden; break-inside:avoid; margin-bottom:12px; box-shadow:0 2px 10px rgba(0,0,0,.05); }
    .ad-feed-banner { width:100%; aspect-ratio:16/7; display:flex; align-items:center; justify-content:center; color:#fff; font-size:42px; }
    .ad-feed-video { width:100%; aspect-ratio:16/9; position:relative; background:#000; cursor:pointer; }
    .ad-feed-video img { width:100%; height:100%; object-fit:cover; display:block; }
    .ad-feed-title-line { font-size:var(--font-size-xs); font-weight:600; color:var(--text-primary); padding:10px 12px 0; line-height:1.4; word-break:break-all; }
    .ad-feed-head { display:flex; align-items:center; gap:10px; padding:10px 12px 0; }
    .ad-feed-icon { width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-size:18px; flex-shrink:0; }
    .ad-feed-meta { flex:1; min-width:0; }
    .ad-feed-name { font-size:var(--font-size-sm); font-weight:600; color:var(--text-primary); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .ad-feed-sub { font-size:var(--font-size-xs); color:var(--text-tertiary); margin-top:1px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .ad-feed-badge { flex-shrink:0; font-size:11px; color:var(--danger); background:#FDECEC; padding:2px 8px; border-radius:10px; display:flex; align-items:center; gap:4px; font-weight:600; }
    .ad-feed-footer { display:flex; align-items:center; gap:10px; padding:10px 12px 12px; font-size:12px; }
    .ad-feed-price { color:var(--primary); font-weight:700; font-size:13px; white-space:nowrap; }
    .ad-feed-reward { color:var(--primary); white-space:nowrap; }
    .ad-feed-btn { margin-left:auto; padding:5px 16px; border:none; border-radius:16px; background:var(--primary); color:#fff; font-size:13px; font-weight:600; cursor:pointer; flex-shrink:0; }
    .cv-mini-upload { padding:8px 14px; border:1px dashed var(--border); border-radius:var(--radius); background:#fff; color:var(--primary); font-size:var(--font-size-sm); cursor:pointer; }

    