#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""生成《2026-10月 朋友圈集赞送礼活动方案》自包含 HTML（零外部依赖，图全内嵌）"""
import base64
import os
import re

WS = os.path.expanduser('~/Desktop/Hermes输出-工作类')
OUTDIR = os.path.join(WS, '营销活动', '2026-10月朋友圈集赞送礼')
os.makedirs(OUTDIR, exist_ok=True)
GIFT = '/tmp/gift_imgs'


def b64(path, mime='image/jpeg'):
    if not os.path.exists(path):
        return ''
    return 'data:%s;base64,%s' % (mime, base64.b64encode(open(path, 'rb').read()).decode())


# ── 礼品图（等值奶茶券档 ¥8–23）──
GIFTS = [
    ('07_科研实验记录本.jpg', '科研实验记录本', '¥8.0', '实验室刚需 · 印宝锐 logo，PI 和研究生人手一本'),
    ('11_定制笔记本磁吸扣.jpg', '定制笔记本 + 磁吸扣', '¥11.5', 'B5 烫金 logo，学术会议 / 拜访伴手礼'),
    ('09_冰箱贴.jpg', '实验室冰箱贴', '¥12.0', '贴在冰箱 / 通风橱，长期曝光'),
    ('10_生肖公仔.jpg', '生肖公仔', '¥12.0', '国潮风，节日拜访伴手礼'),
    ('13_三合一数据线手机支架.jpg', '三合一数据线 + 手机支架', '¥16.0', '天天用，实用高频'),
    ('12_天堂遮阳伞.jpg', '天堂遮阳伞', '¥23.0', '品牌伞，中档拜访伴手礼'),
]
LOGO = b64(os.path.expanduser('~/work/公司资料/logo_transparent.png'), 'image/png')
QR = b64(os.path.expanduser('~/work/公司资料/试用装申请.png'), 'image/png')

gift_cards = ''
for fn, name, price, scene in GIFTS:
    img = b64(os.path.join(GIFT, fn))
    if not img:
        continue
    gift_cards += ('<div class="gc"><div class="gc-img"><img src="%s" alt="%s"></div>'
                   '<div class="gc-b"><div class="gc-n">%s</div>'
                   '<div class="gc-p">%s</div><div class="gc-s">%s</div></div></div>'
                   % (img, name, name, price, scene))

HTML = r'''<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>2026-10月 朋友圈集赞送礼 · 活动方案</title>
<style>
*{margin:0;padding:0;box-sizing:border-box}
:root{--pri:#1852B6;--pri2:#1a73e8;--deep:#0f3460;--gold:#f4a236;--red:#d93025;
--green:#0d904f;--bg:#f4f6f9;--card:#fff;--text:#202124;--sub:#5f6368;--line:#e3e8ef}
body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
background:var(--bg);color:var(--text);line-height:1.7;padding-bottom:60px}
.topbar{position:sticky;top:0;z-index:100;height:56px;background:#fff;border-bottom:1px solid #e0e0e0;
display:flex;align-items:center;padding:0 20px;gap:12px;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.topbar img{height:30px}
.topbar .t{font-size:15px;font-weight:800;color:var(--pri)}
.topbar .s{font-size:11.5px;color:var(--sub);margin-left:auto}
.page{max-width:1080px;margin:0 auto;padding:22px 18px}
h2.sec{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:800;color:var(--deep);margin:30px 0 14px}
h2.sec::before{content:"";width:5px;height:20px;background:var(--pri);border-radius:3px}
h2.sec small{font-size:12px;font-weight:400;color:var(--sub);margin-left:6px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
/* Hero */
.hero{background:linear-gradient(135deg,#0f3460 0%,#1852B6 55%,#1a73e8 100%);color:#fff;
border-radius:16px;padding:30px 28px;position:relative;overflow:hidden}
.hero::after{content:"8";position:absolute;right:-10px;bottom:-70px;font-size:260px;font-weight:900;
opacity:.09;line-height:1}
.hero h1{font-size:30px;font-weight:900;letter-spacing:.5px}
.hero .sub{font-size:15px;opacity:.94;margin-top:8px}
.hero .kicker{display:inline-block;font-size:12px;background:rgba(255,255,255,.18);
border:1px solid rgba(255,255,255,.32);padding:3px 12px;border-radius:14px;margin-bottom:12px}
.hero .row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.hero .kpi{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);
border-radius:10px;padding:9px 14px;min-width:130px}
.hero .kpi b{display:block;font-size:17px;font-weight:900}
.hero .kpi span{font-size:11px;opacity:.85}
/* 产品卡 */
.prods{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px}
.prod{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px;
border-top:4px solid var(--pri);box-shadow:0 1px 3px rgba(0,0,0,.04)}
.prod .sku{font-family:ui-monospace,Menlo,monospace;font-size:12px;font-weight:800;color:#fff;
background:var(--pri);display:inline-block;padding:2px 9px;border-radius:5px}
.prod h3{font-size:14.5px;font-weight:800;color:var(--deep);margin:9px 0 4px}
.prod .en{font-size:11px;color:var(--sub);margin-bottom:9px;line-height:1.5}
.prod ul{margin-left:0;list-style:none}
.prod li{font-size:12.5px;color:#3c4043;padding:3px 0 3px 18px;position:relative}
.prod li::before{content:"▸";position:absolute;left:2px;color:var(--pri2);font-weight:900}
.prod .hl{margin-top:10px;background:#eef4ff;border-left:3px solid var(--pri);
padding:7px 10px;border-radius:0 6px 6px 0;font-size:12.5px;color:#0d47a1;font-weight:700}
/* 规则 */
.rule-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;
border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:10px}
.rule-line .n{flex:0 0 34px;height:34px;line-height:34px;text-align:center;border-radius:50%;
background:var(--pri);color:#fff;font-weight:900;font-size:15px}
.rule-line .tx{font-size:13.5px;flex:1;min-width:200px}
.rule-line .tx b{color:var(--deep)}
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:12px;margin-top:14px}
.tier{background:#fff;border:2px solid #dfe7f5;border-radius:13px;padding:16px;text-align:center;position:relative}
.tier.hot{border-color:var(--gold);box-shadow:0 4px 16px rgba(244,162,54,.18)}
.tier.hot::after{content:"最受欢迎";position:absolute;top:-11px;left:50%;transform:translateX(-50%);
background:var(--gold);color:#fff;font-size:11px;font-weight:800;padding:2px 12px;border-radius:10px}
.tier .pz{font-size:26px;font-weight:900;color:var(--pri)}
.tier .pz small{font-size:13px;font-weight:700}
.tier .lbl{font-size:12px;color:var(--sub);margin:3px 0 10px}
.tier .gift{font-size:12.5px;color:#3c4043;line-height:1.65}
/* 券（CSS 绘制） */
.coupons{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.coupon{border-radius:14px;padding:16px 18px;color:#fff;position:relative;overflow:hidden;
display:flex;align-items:center;gap:14px;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.coupon::before,.coupon::after{content:"";position:absolute;width:18px;height:18px;background:var(--bg);
border-radius:50%;left:-9px}
.coupon::before{top:calc(50% - 24px)}
.coupon::after{bottom:calc(50% - 24px)}
.c-luckin{background:linear-gradient(135deg,#002d72,#0d47a1 60%,#1565c0)}
.c-tea{background:linear-gradient(135deg,#7b3f00,#b06000 55%,#e08b00)}
.c-star{background:linear-gradient(135deg,#0b5c3f,#0d904f 60%,#19a86b)}
.coupon .cico{flex:0 0 46px;height:46px;border-radius:12px;background:rgba(255,255,255,.18);
display:flex;align-items:center;justify-content:center;font-size:23px;font-weight:900}
.coupon .cbd{flex:1}
.coupon .cn{font-size:14.5px;font-weight:800}
.coupon .cd{font-size:11.5px;opacity:.9;margin-top:2px}
.coupon .cv{font-size:21px;font-weight:900;white-space:nowrap}
.coupon .cut{border-left:1px dashed rgba(255,255,255,.45);padding-left:14px;text-align:center}
.coupon .cut small{display:block;font-size:10px;opacity:.8}
/* 礼品网格 */
.gifts{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:13px}
.gc{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;
box-shadow:0 1px 3px rgba(0,0,0,.04)}
.gc-img{height:150px;background:#fafbfc;display:flex;align-items:center;justify-content:center;padding:9px}
.gc-img img{max-height:132px;max-width:100%;object-fit:contain}
.gc-b{padding:11px 13px 13px}
.gc-n{font-size:13px;font-weight:800;color:var(--deep)}
.gc-p{font-size:14px;font-weight:900;color:var(--pri);margin:2px 0 4px}
.gc-s{font-size:11.5px;color:var(--sub);line-height:1.5}
/* 文案框 */
.copy{background:#fff;border:1px solid var(--line);border-left:4px solid var(--pri2);
border-radius:10px;padding:16px 18px;margin-bottom:14px}
.copy .ch{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.copy .ch b{font-size:13.5px;color:var(--deep)}
.copy .ch .tag{font-size:11px;background:#e8f0fe;color:var(--pri);padding:2px 9px;border-radius:10px;font-weight:700}
.copy .ch .use{margin-left:auto;font-size:11.5px;color:var(--sub)}
.copy pre{font-family:-apple-system,"PingFang SC",sans-serif;font-size:13px;line-height:1.85;
white-space:pre-wrap;word-break:break-word;background:#f8fafc;border-radius:8px;padding:13px 15px;color:#202124}
/* 表格 */
table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;
box-shadow:0 1px 3px rgba(0,0,0,.04);font-size:13px}
th{background:#eef4ff;color:var(--deep);font-weight:800;padding:10px 12px;text-align:left;font-size:12.5px;white-space:nowrap}
td{padding:10px 12px;border-top:1px solid #f1f3f4;vertical-align:top}
td.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--pri);font-weight:700}
/* 排版预览 */
.preview{display:flex;gap:22px;flex-wrap:wrap;align-items:flex-start}
.mock-a4{width:250px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;flex:0 0 auto}
.mock-a4 .mh{height:74px;background:linear-gradient(135deg,#0f3460,#1a73e8);color:#fff;
display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:11px;font-weight:800}
.mock-a4 .mb{height:296px;padding:9px;display:flex;flex-direction:column;gap:6px;background:#fbfcfe}
.mstrip{height:15px;background:#e8eef7;border-radius:4px}
.mblock{flex:1;background:#f1f5fb;border-radius:6px;border:1px dashed #cfdcee;
display:flex;align-items:center;justify-content:center;font-size:10.5px;color:#8fa3bd;text-align:center;padding:4px}
.mock-grid{display:grid;grid-template-columns:repeat(2,118px);gap:8px}
.mock-grid .cell{width:118px;height:118px;border-radius:9px;background:#f1f5fb;border:1px dashed #cfdcee;
display:flex;align-items:center;justify-content:center;text-align:center;font-size:10.5px;color:#8fa3bd;padding:6px}
/* 分工 */
.owner{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:12px}
.own{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}
.own .wh{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.own .av{width:30px;height:30px;border-radius:50%;background:var(--pri);color:#fff;
display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}
.own .nm{font-size:13.5px;font-weight:800;color:var(--deep)}
.own .dl{font-size:11px;color:var(--red);font-weight:700;margin-left:auto}
.own ul{list-style:none}
.own li{font-size:12.5px;color:#3c4043;padding:2.5px 0 2.5px 16px;position:relative}
.own li::before{content:"•";position:absolute;left:3px;color:var(--pri2)}
.notice{border-radius:11px;padding:14px 16px;font-size:12.5px;line-height:1.8;margin-top:12px}
.notice.warn{background:#fff8e1;border-left:4px solid var(--gold);color:#5c4813}
.notice.info{background:#e8f0fe;border-left:4px solid var(--pri2);color:#0d3a72}
.notice b{font-weight:800}
.foot{text-align:center;font-size:11.5px;color:#9aa0a6;margin-top:34px;padding-top:16px;border-top:1px solid var(--line)}
</style>
</head>
<body>
<div class="topbar">
  <img src="__LOGO__" alt="BIORI BIOTECH">
  <span class="t">2026-10月 朋友圈集赞送礼 · 活动方案</span>
  <span class="s">宝锐生物 · 生命科学产品线 ｜ 内部方案</span>
</div>

<div class="page">

  <div class="hero">
    <span class="kicker">宝锐生命科学 · 10月实验加速季</span>
    <h1>把省下的时间，换杯咖啡</h1>
    <div class="sub">三款"省时间"好物开放试用 ｜ 朋友圈集赞逢 8 送礼，上不封顶</div>
    <div class="row">
      <div class="kpi"><b>10.1–10.31</b><span>活动期</span></div>
      <div class="kpi"><b>每满 8 赞</b><span>送 1 份好礼</span></div>
      <div class="kpi"><b>3 款产品</b><span>全部可申请试用</span></div>
      <div class="kpi"><b>11.10 前</b><span>礼品统一寄出</span></div>
    </div>
  </div>

  <div class="notice info" style="margin-top:18px">
    <b>一句话逻辑：</b>三款产品的卖点都是「<b>省时间</b>」（室温克隆 / 5 分钟逆转录 / 30 分钟 qPCR），
    奖励是「<b>一杯咖啡的时间</b>」—— 产品价值与奖励线索同频，客户一看就懂，也让"晒朋友圈"有理由。
  </div>

  <h2 class="sec">一、活动机制 <small>集赞逢 8，好礼到手</small></h2>
  <div class="rule-line"><span class="n">1</span><span class="tx"><b>集赞规则：</b>本条朋友圈点赞数<b>每满 8 个</b>，即获 1 份奖励，可累计、上不封顶（8 赞 = 1 份，16 赞 = 2 份，24 赞 = 3 份…）</span></div>
  <div class="rule-line"><span class="n">2</span><span class="tx"><b>奖励二选一：</b>① <b>瑞幸咖啡券</b>（或同档奶茶券，15–20 元档）② <b>等值宝锐伴手礼</b>（¥11.5–23 档，见下方实物图）</span></div>
  <div class="rule-line"><span class="n">3</span><span class="tx"><b>参与方式：</b>点赞 → 截图私信销售 → 报「集赞」+ 备注客户/课题组 → 选券或选礼 → 登记寄送</span></div>
  <div class="rule-line"><span class="n">4</span><span class="tx"><b>同享试用：</b>参与集赞即优先安排 <b>BR1C103 / BR1D303 / BR1E102 试用装</b>（每课题组限 1 份，数量有限）</span></div>

  <div class="tiers">
    <div class="tier"><div class="pz">8<small> 赞</small></div><div class="lbl">基础档</div>
      <div class="gift">瑞幸咖啡券 ×1<br><span style="color:#9aa0a6">或</span> 科研实验记录本 ¥8</div></div>
    <div class="tier hot"><div class="pz">16<small> 赞</small></div><div class="lbl">进阶档</div>
      <div class="gift">瑞幸咖啡券 ×2<br><span style="color:#9aa0a6">或</span> 笔记本 / 冰箱贴 / 生肖公仔（¥11.5–12）</div></div>
    <div class="tier"><div class="pz">24<small> 赞</small></div><div class="lbl">高阶档</div>
      <div class="gift">瑞幸咖啡券 ×3<br><span style="color:#9aa0a6">或</span> 数据线支架 / 遮阳伞（¥16–23）</div></div>
  </div>

  <div class="notice warn">
    <b>⚠️ 合规提示（生命科学客户务必看）：</b>高校/科研院所走单位采购，赠品落个人名下有"回扣"嫌疑。
    建议：① 优先引导选<b>实物礼品（记录本、办公周边）</b>而非纯现金等价券；② 保留<b>点赞截图 + 领取登记表</b>，
    做到"一次活动、一份礼品、一张签收"；③ 券类奖励以"集赞互动回馈"名义发放，不与其他采购量挂钩。
  </div>

  <h2 class="sec">二、三款主推产品 <small>都是"省时间"的活</small></h2>
  <div class="prods">
    <div class="prod">
      <span class="sku">BR1C103</span>
      <h3>VellixClon™ 室温无缝克隆预混</h3>
      <div class="en">VellixClon™ Ambient Seamless Cloning Mix</div>
      <ul>
        <li><b>室温操作</b>：不用冰盒、不用冰上配制，桌面配完直接上机</li>
        <li>无缝克隆（同源重组），单片段 / 多片段通用</li>
        <li>面向载体构建高频课题组，替代"冰上等半天"的旧流程</li>
      </ul>
      <div class="hl">🧊 卖点一句话：不用冰盒的克隆</div>
    </div>
    <div class="prod">
      <span class="sku">BR1D303</span>
      <h3>4×Neoscript All-in-One cDNA 合成预混</h3>
      <div class="en">4×Neoscript All-in-One cDNA Synthesis Premix for qPCR</div>
      <ul>
        <li><b>一管到底</b>：gDNA 清除 + 逆转录同管完成，减少加样污染</li>
        <li><b>最快 5 min</b> 出 cDNA（42℃ 5min → 85℃ 5sec）</li>
        <li>含热敏 DNase + Random 6 mers / Oligo(dT)18 双引物，<b>无需跨内含子设计引物</b></li>
        <li>产物兼容染料法与探针法 qPCR，推荐搭配 BR1E102</li>
      </ul>
      <div class="hl">⏱️ 卖点一句话：一管 5 分钟，省掉一个环节</div>
    </div>
    <div class="prod">
      <span class="sku">BR1E102</span>
      <h3>2×FastAmpli SYBR qPCR 预混（通用 ROX）</h3>
      <div class="en">2×FastAmpli SYBR qPCR Premix (Universal ROX)</div>
      <ul>
        <li><b>30 min 跑完</b> 40 个循环（快速程序 95℃1s / 56–64℃10s）</li>
        <li><b>通用型 ROX</b>：大部分仪器免调浓度，一次配方通吃</li>
        <li>抗体修饰 Taq + 优化 Buffer，特异性和灵敏度更高</li>
        <li>实测：10 倍梯度稀释 <b>R²=0.999、Eff%=97.55%</b>；1 copy/μL 仍可检出</li>
        <li>高抗干扰（耐样本抑制物）、宽 GC 适应（31% / 68% / 75%）</li>
      </ul>
      <div class="hl">🚀 卖点一句话：半小时出结果，竞品 58 分钟</div>
    </div>
  </div>

  <h2 class="sec">三、奖励实物 <small>咖啡券 / 奶茶券 + 等值宝锐伴手礼</small></h2>
  <div class="coupons">
    <div class="coupon c-luckin">
      <div class="cico">☕</div>
      <div class="cbd"><div class="cn">瑞幸咖啡券</div><div class="cd">全场通用 · 有效期 12 个月 · 可转赠</div></div>
      <div class="cut"><div class="cv">¥16</div><small>单张面值</small></div>
    </div>
    <div class="coupon c-tea">
      <div class="cico">🧋</div>
      <div class="cbd"><div class="cn">同档奶茶券</div><div class="cd">霸王茶姬 / 古茗 / 茶百道 / 沪上阿姨（任选其一）</div></div>
      <div class="cut"><div class="cv">15–20</div><small>单张面值 ¥</small></div>
    </div>
    <div class="coupon c-star">
      <div class="cico">🎁</div>
      <div class="cbd"><div class="cn">或换等值伴手礼</div><div class="cd">宝锐礼品平台实物 · 与咖啡券等值同享</div></div>
      <div class="cut"><div class="cv">8–23</div><small>单份价值 ¥</small></div>
    </div>
  </div>

  <div style="margin-top:16px">
    <div style="font-size:13px;color:var(--sub);margin-bottom:10px">
      等值伴手礼（取自宝锐礼品订货平台 <b>gift/index.html</b>，均为在架在库款）：
    </div>
    <div class="gifts">__GIFTS__</div>
  </div>

  <h2 class="sec">四、朋友圈文案 <small>可直接复制发布</small></h2>

  <div class="copy">
    <div class="ch"><b>版本 A ｜ 主推版</b><span class="tag">推荐</span><span class="use">配 9 图或 A4 长图</span></div>
<pre>🧪 实验加速季｜把省下的时间，换杯咖啡 ☕

做实验最贵的不是试剂，是时间。

10 月，我们带来三款"省时间"的试剂：
⏱ BR1C103 室温无缝克隆 —— 不用冰盒，桌面配完直接上机
⏱ BR1D303 一管式 cDNA —— gDNA 清除+逆转录同管，最快 5 min
⏱ BR1E102 快速 qPCR —— 30 min 跑完 40 循环，通用 ROX 免调浓度

🎁 集赞逢 8，好礼到手
本条点赞每满 8 个 → 送 1 张瑞幸咖啡券（或同档奶茶券）
也可换成等值宝锐伴手礼 🎀
8 赞=1 份｜16 赞=2 份｜24 赞=3 份，上不封顶

参与方式：
1️⃣ 点赞本条
2️⃣ 截图私信我，备注「集赞」
3️⃣ 选咖啡券 or 伴手礼

📅 10.1–10.31 ｜ 📦 11.10 前统一寄出
想先测产品的直接说，三款都能申请试用装 👇

#宝锐生物 #实验加速季 #科研日常 #实验室</pre>
  </div>

  <div class="copy">
    <div class="ch"><b>版本 B ｜ 短版</b><span class="tag">群发/私聊适用</span><span class="use">3 行读完</span></div>
<pre>🎁 10 月福利：本条点赞每满 8 个，送 1 张瑞幸咖啡券（或同档奶茶券）
也可换等值伴手礼：记录本/冰箱贴/数据线/遮阳伞 🎀
顺带一提，我们三款"省时间"的试剂都开放试用：室温克隆 BR1C103、5min 逆转录 BR1D303、30min qPCR BR1E102
点赞截图私我就行～ #实验加速季</pre>
  </div>

  <div class="copy">
    <div class="ch"><b>版本 C ｜ 课题组向</b><span class="tag">PI / 博士师兄师姐</span><span class="use">强调省时间+可测</span></div>
<pre>老师/师兄师姐好 ——

我们 10 月做了个「实验加速季」，三款产品都指向同一件事：帮课题组把实验时间压下来。
· BR1C103  室温无缝克隆：省掉冰上配制的等待
· BR1D303  一管式 cDNA：gDNA 清除+逆转录同管，最快 5 min
· BR1E102  快速 qPCR：30 min 完成 40 循环，通用 ROX

本条朋友圈点赞每满 8 个，送 1 张瑞幸咖啡券（或同档奶茶券），也可换等值伴手礼。
更重要的是：三款都可申请试用装，先测再决定。需要的话我这边直接安排寄样。</pre>
  </div>

  <h2 class="sec">五、展示图片方案 <small>给设计：10月8日前输出 5–10 张</small></h2>
  <div class="notice info" style="margin-bottom:14px">
    <b>交付形式二选一（或都做）：</b>① <b>朋友圈 A4 长图</b>（竖版一次性读完，建议 1080×6000+px）
    ② <b>4 宫格图片</b>（4 张 1:1 方图，朋友圈九宫格首选）
  </div>
  <table>
    <tr><th style="width:38px">#</th><th style="width:130px">画面</th><th>内容要点</th><th style="width:96px">建议尺寸</th><th style="width:78px">主责</th></tr>
    <tr><td class="mono">01</td><td><b>主 KV</b></td><td>活动主视觉：<b>「实验加速季 / 把省下的时间，换杯咖啡」</b>+ 三款产品货号并排 + 宝锐 logo + "集赞逢8送礼"角标</td><td>1080×1440</td><td>设计</td></tr>
    <tr><td class="mono">02</td><td><b>BR1C103 卖点卡</b></td><td>「不用冰盒的克隆」：左=传统冰上配制流程（多步骤、等），右=室温操作（一步到位）；配室温操作实拍/示意图</td><td>1080×1080</td><td>设计</td></tr>
    <tr><td class="mono">03</td><td><b>BR1D303 卖点卡</b></td><td>「一管 5 分钟」：gDNA 清除 + 逆转录合一的流程图（对比传统两步法），标注 42℃5min→85℃5sec</td><td>1080×1080</td><td>设计</td></tr>
    <tr><td class="mono">04</td><td><b>BR1E102 卖点卡</b></td><td>「半小时出结果」：时间轴对比条（宝锐 28–30min vs 竞品 56–58min）；ROX 通用图标</td><td>1080×1080</td><td>设计</td></tr>
    <tr><td class="mono">05</td><td><b>实测案例 ①</b><br><span style="font-size:11px;color:#9aa0a6">扩增曲线</span></td><td>BR1E102 10 倍梯度稀释扩增曲线 + 标准曲线（R²=0.999、Eff%=97.55%）—— <b>用真实数据截图重绘</b>，去掉原始仪器水印</td><td>1080×1080</td><td>设计+技术</td></tr>
    <tr><td class="mono">06</td><td><b>实测案例 ②</b><br><span style="font-size:11px;color:#9aa0a6">灵敏度</span></td><td>BR1E102 灵敏度：1 copy/μL 非洲猪瘟质粒检出率 100%（附图 C 曲线）；配文字"单个拷贝也能检出"</td><td>1080×1080</td><td>设计+技术</td></tr>
    <tr><td class="mono">07</td><td><b>实测案例 ③</b><br><span style="font-size:11px;color:#9aa0a6">抗干扰/宽GC</span></td><td>BR1E102 不同 GC 含量（31% / 68% / 75%）扩增效果 + 抑制物耐受性对比（vs 竞品 A/B）—— 柱状图或曲线组图</td><td>1080×1080</td><td>设计+技术</td></tr>
    <tr><td class="mono">08</td><td><b>实测案例 ④</b><br><span style="font-size:11px;color:#9aa0a6">全流程联用</span></td><td>BR1D303 → BR1E102 联用全流程：RNA → cDNA → qPCR，标注各步骤耗时，总时长对比"传统两步法"</td><td>1080×1080</td><td>设计</td></tr>
    <tr><td class="mono">09</td><td><b>活动规则卡</b></td><td>集赞逢 8 规则 + 三档奖励图示（咖啡券/奶茶券/伴手礼）+ 参与 3 步 + 试用装申请二维码</td><td>1080×1080</td><td>设计</td></tr>
    <tr><td class="mono">10</td><td><b>伴手礼合集</b></td><td>6 款等值伴手礼平铺图（记录本/笔记本/冰箱贴/公仔/数据线/遮阳伞）+ 价格标</td><td>1080×1080</td><td>设计</td></tr>
  </table>

  <div class="notice warn" style="margin-top:12px">
    <b>案例图三条硬要求：</b>① <b>用真实测试数据</b>（可取自产品单页与实测报告），不得改动数值或夸大；
    ② <b>去掉原始仪器截图的水印/序列号/操作人信息</b>；③ 涉及客户实测的，<b>不出现客户名称与logo</b>，
    统一写"某高校课题组实测"。
  </div>

  <h2 class="sec">六、两种版式示意</h2>
  <div class="preview">
    <div>
      <div style="font-size:13px;font-weight:800;color:var(--deep);margin-bottom:9px">① 朋友圈 A4 长图（竖版）</div>
      <div class="mock-a4">
        <div class="mh"><span>实验加速季</span><span style="font-size:9px;opacity:.85">把省下的时间，换杯咖啡</span></div>
        <div class="mb">
          <div class="mstrip" style="width:60%"></div>
          <div class="mblock">① 主 KV + 三产品并排</div>
          <div class="mblock">② 三张卖点卡（室温/5min/30min）</div>
          <div class="mblock">③ 集赞规则 + 三档奖励</div>
          <div class="mblock">④ 实测案例 3 图</div>
          <div class="mblock">⑤ 二维码 + 参与方式</div>
        </div>
      </div>
      <div style="font-size:11.5px;color:var(--sub);margin-top:7px;max-width:250px">一次读完，适合"单图发朋友圈 + 微信私聊转发"</div>
    </div>
    <div>
      <div style="font-size:13px;font-weight:800;color:var(--deep);margin-bottom:9px">② 4 宫格（1:1 方图 ×4）</div>
      <div class="mock-grid">
        <div class="cell">图1<br>主 KV<br>活动主题</div>
        <div class="cell">图2<br>三产品<br>卖点合集</div>
        <div class="cell">图3<br>实测数据<br>案例</div>
        <div class="cell">图4<br>集赞规则<br>+ 二维码</div>
      </div>
      <div style="font-size:11.5px;color:var(--sub);margin-top:8px;max-width:250px">4 图并排发朋友圈，点击可放大；信息密度低、更适合手机阅读</div>
    </div>
  </div>

  <h2 class="sec">七、排期与分工</h2>
  <div class="owner">
    <div class="own">
      <div class="wh"><span class="av">刘</span><span class="nm">刘新元</span><span class="dl">9月29日前</span></div>
      <ul>
        <li>审定活动机制与文案（本方案第六节）</li>
        <li>确定咖啡券/奶茶券采购渠道与单价</li>
        <li>确认合规口径（券类奖励名义）</li>
      </ul>
    </div>
    <div class="own">
      <div class="wh"><span class="av">文</span><span class="nm">文杰</span><span class="dl">10月8日前</span></div>
      <ul>
        <li>按第五节清单输出 <b>5–10 张</b>展示图</li>
        <li>选定 A4 长图 / 4 宫格 版式并出定稿</li>
        <li>案例图用真实数据重绘（去水印）</li>
      </ul>
    </div>
    <div class="own">
      <div class="wh"><span class="av">销</span><span class="nm">生命科学销售（浙江/广东）</span><span class="dl">10月1日起</span></div>
      <ul>
        <li>统一转发朋友圈，跟进点赞与私信</li>
        <li>收集点赞截图 → 报「集赞」→ 登记奖励</li>
        <li>顺势推进三款产品试用装寄样</li>
      </ul>
    </div>
    <div class="own">
      <div class="wh"><span class="av">技</span><span class="nm">技术支持</span><span class="dl">10月8日前</span></div>
      <ul>
        <li>提供 BR1E102 实测曲线/灵敏度/宽GC 原始图</li>
        <li>核对案例图数据与产品单页一致性</li>
      </ul>
    </div>
  </div>

  <h2 class="sec">八、预算测算 <small>示例口径，按实际参与人数替换</small></h2>
  <table>
    <tr><th>项目</th><th>单价</th><th>预估份数</th><th>小计</th><th>备注</th></tr>
    <tr><td>瑞幸咖啡券</td><td>¥16/张</td><td>60 张</td><td>¥960</td><td>按 30 人参与、人均 2 份估</td></tr>
    <tr><td>同档奶茶券</td><td>¥18/张</td><td>20 张</td><td>¥360</td><td>按 1/3 客户选奶茶估</td></tr>
    <tr><td>等值伴手礼</td><td>¥15/份（均）</td><td>40 份</td><td>¥600</td><td>记录本8 / 笔记本11.5 / 数据线16 / 伞23</td></tr>
    <tr><td>试用装（三款）</td><td>按成本</td><td>30 份</td><td>另计</td><td>走市场费用，不计入本活动</td></tr>
    <tr><td colspan="3" style="text-align:right;font-weight:800">合计（不含试用装）</td>
        <td style="font-weight:900;color:var(--pri)">¥1,920</td><td>示例口径</td></tr>
  </table>
  <div class="notice warn" style="margin-top:12px">
    预算为<b>示例测算</b>（按 30 人参与估），非实际预算。实际以登记表人数结算；礼品走宝锐礼品订货平台下单，
    可自动进物料台账。
  </div>

  <h2 class="sec">九、执行清单（Checklist）</h2>
  <table>
    <tr><th style="width:38px">✓</th><th>事项</th><th style="width:96px">主责</th><th style="width:96px">时间</th></tr>
    <tr><td>☐</td><td>确认活动机制 + 文案定稿</td><td>刘新元</td><td>9/29</td></tr>
    <tr><td>☐</td><td>咖啡券/奶茶券采购渠道落定（单价、有效期、可否转赠）</td><td>刘新元</td><td>9/29</td></tr>
    <tr><td>☐</td><td>输出 5–10 张展示图（含 3 张实测案例）</td><td>文杰</td><td>10/8</td></tr>
    <tr><td>☐</td><td>提供实测原始数据给设计</td><td>技术支持</td><td>10/8</td></tr>
    <tr><td>☐</td><td>A4 长图 / 4 宫格 版式定稿</td><td>文杰</td><td>10/8</td></tr>
    <tr><td>☐</td><td>销售统一转发朋友圈</td><td>生科销售部</td><td>10/9</td></tr>
    <tr><td>☐</td><td>建立「集赞登记表」（客户/课题组、点赞数、奖励品类、签收）</td><td>销售支持</td><td>10/9</td></tr>
    <tr><td>☐</td><td>礼品统一寄出 + 台账登记</td><td>销售支持</td><td>11/10</td></tr>
  </table>

  <div class="foot">
    宝锐生物 BIORI BIOTECH ｜ 生命科学销售部 · 2026年10月朋友圈集赞送礼活动方案<br>
    本方案为内部物料，含价格与成本口径，请勿外发 ｜ 奖励实物图取自宝锐礼品订货平台在架款
  </div>
</div>
</body>
</html>'''

HTML = HTML.replace('__LOGO__', LOGO).replace('__GIFTS__', gift_cards)
out = os.path.join(OUTDIR, '10月朋友圈集赞送礼方案.html')
open(out, 'w', encoding='utf-8').write(HTML)
print('OK →', out, '(%d KB)' % (os.path.getsize(out) // 1024))
print('  礼品图嵌入:', gift_cards.count('<img'), '张 ｜ logo:', '有' if LOGO else '无')
