.audience-card{position:relative}.audience-card:hover:not(:disabled){border-color:#78a98e;transform:translateY(-2px);box-shadow:0 10px 24px rgba(31,99,71,.1)}.audience-card:disabled{cursor:wait;opacity:.55}.audience-card.is-loading{border:2px solid #185b43;padding:14px;background:#f3faf6;opacity:1}.audience-loading{display:none;margin-top:11px;padding-top:10px;border-top:1px solid #d9eadf;color:#185b43;font-size:12px;font-weight:700}.audience-loading:before{content:"";display:inline-block;width:10px;height:10px;border:2px solid #8cbba0;border-top-color:#185b43;border-radius:50%;margin-right:7px;vertical-align:-1px;animation:audience-spin .8s linear infinite}.audience-card.is-loading .audience-loading{display:block}@keyframes audience-spin{to{transform:rotate(360deg)}}

/* ============================================================
   统一进度条（小红书风格）
   人群分析 / 方向门禁 / 笔记生成 三个进度条共用同一套视觉：
   淡粉卡片(#fff7f8 + #ffe1e6 描边) + 品牌红渐变进度 + 粉色轨道 + 红色文案与转圈图标。
   .angle-progress / .note-progress 仅作语义标记，不再单独换色，
   三个进度条视觉完全一致。
   ============================================================ */
.analyze-progress{position:relative;margin:14px 0;padding:13px 15px 12px;background:#fff7f8;border:1px solid #ffe1e6;border-radius:var(--r-lg,16px);box-shadow:0 6px 18px rgba(255,36,66,.06)}
.analyze-progress-track{height:6px;background:#ffe3e8;border-radius:var(--r-full,999px);overflow:hidden}
.analyze-progress-bar{position:relative;height:100%;width:0%;border-radius:var(--r-full,999px);background:var(--xhs-red-grad,linear-gradient(135deg,#ff5c74 0%,#ff2442 100%));box-shadow:0 1px 6px rgba(255,36,66,.32);overflow:hidden}
.analyze-progress-bar:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.6) 50%,rgba(255,255,255,0) 100%);transform:translateX(-100%);animation:analyze-sheen 1.4s ease-in-out infinite}
@keyframes analyze-sheen{to{transform:translateX(100%)}}
.analyze-progress-label{margin-top:9px;font-size:12px;line-height:1.45;color:var(--xhs-red,#ff2442);font-weight:700;display:flex;align-items:center;gap:7px}
.analyze-progress-label:before{content:'';flex:0 0 auto;display:inline-block;width:11px;height:11px;border:2px solid #ffd0d8;border-top-color:var(--xhs-red,#ff2442);border-radius:50%;animation:audience-spin .8s linear infinite}
