/* AI测算报告（变现①M1）v20260902a */
.rpt-wrap { max-width: 860px; margin: 24px auto 48px; padding: 0 14px; }
.rpt-card { background: #fff; border-radius: 10px; box-shadow: 0 2px 14px rgba(90,70,40,.08);
  padding: 28px 30px; border: 1px solid #eee3d0; }
.rpt-title { font-size: 22px; color: #4a3b22; margin: 0 0 6px; }
.rpt-price { float: right; color: #b03a2e; font-size: 20px; font-weight: 700; }
.rpt-sub { color: #8a7a5c; font-size: 13px; margin: 4px 0 14px; }
.rpt-label { display: block; font-size: 13px; color: #6b5d40; margin: 12px 0 6px; }
.rpt-input { width: 100%; box-sizing: border-box; padding: 9px 10px; border: 1px solid #d9cbb0;
  border-radius: 6px; font-size: 14px; background: #fffdf8; color: #3a3122; }
.rpt-input:focus { outline: none; border-color: #b8934a; }
textarea.rpt-input { resize: vertical; }
.rpt-row { display: flex; gap: 12px; flex-wrap: wrap; }
.rpt-row > div { flex: 1; min-width: 110px; }
.rpt-btn { display: block; width: 100%; margin-top: 22px; padding: 13px; border: 0; border-radius: 8px;
  background: linear-gradient(135deg, #b03a2e, #8e2f26); color: #fff; font-size: 16px;
  letter-spacing: 2px; cursor: pointer; }
.rpt-btn:hover { filter: brightness(1.08); }
.rpt-btn:disabled { background: #b9a; cursor: not-allowed; }
.rpt-note { font-size: 12px; color: #a09478; margin-top: 12px; line-height: 1.7; }
.rpt-qrbox { min-height: 190px; margin-top: 10px; }
.rpt-head { display: flex; justify-content: space-between; align-items: center; gap: 14px;
  border-bottom: 1px solid #eee3d0; padding-bottom: 12px; }
.rpt-head h1 { font-size: 20px; color: #4a3b22; margin: 0; }
.rpt-score { flex-shrink: 0; background: #fdf3e3; border: 1px solid #ecd9b0; color: #9c6b1e;
  border-radius: 20px; padding: 6px 14px; font-size: 13px; }
.rpt-score b { font-size: 20px; color: #b03a2e; margin: 0 2px; }
.rpt-summary { background: #fdf8ef; border-left: 3px solid #b8934a; color: #5c4e30;
  padding: 12px 14px; margin: 16px 0; border-radius: 0 6px 6px 0; line-height: 1.8; }
.rpt-body { line-height: 1.95; color: #3d3527; font-size: 15px; }
.rpt-body section { margin: 18px 0; }
.rpt-body h3 { font-size: 16px; color: #7a5a1e; border-left: 4px solid #b8934a;
  padding-left: 10px; margin: 0 0 8px; }
.rpt-body p { margin: 8px 0; text-align: justify; }
.rpt-actions { display: flex; gap: 10px; margin-top: 18px; flex-wrap: wrap; }
.rpt-btn2 { padding: 8px 16px; border: 1px solid #b8934a; background: #fff; color: #7a5a1e;
  border-radius: 6px; font-size: 13px; cursor: pointer; text-decoration: none; }
.rpt-btn2:hover { background: #fdf3e3; }
/* 报告生成等待动画 v20260902f */
.rw-lamp{font-size:34px;text-align:center;animation:rw-breath 1.6s ease-in-out infinite;filter:drop-shadow(0 0 8px #ffb84d)}
.rw-bar{height:6px;border-radius:3px;background:#eee3d0;overflow:hidden;margin:12px 0}
.rw-bar i{display:block;height:100%;width:34%;border-radius:3px;background:linear-gradient(90deg,#c9a15a,#b03a2e);animation:rw-slide 1.4s ease-in-out infinite}
.rw-stage{font-size:14px;color:#7a5a1e;text-align:center}
.rw-sec{font-size:12px;color:#a09478;text-align:center;margin-top:4px}
@keyframes rw-breath{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.14);opacity:1}}
@keyframes rw-slide{0%{margin-left:-34%}100%{margin-left:100%}}
@media (prefers-reduced-motion: reduce){.rw-lamp,.rw-bar i,.rw-st .rw-dot{animation:none}}
/* 真实阶段步骤条（2026-11-02）：Stage 由后端生成链路落库驱动 */
.rw-steps{display:flex;justify-content:space-between;margin:14px 0 4px;padding:0 4px}
.rw-st{flex:1;text-align:center;font-size:12px;color:#a09478;position:relative}
.rw-st:not(:first-child)::before{content:'';position:absolute;top:13px;left:-50%;width:100%;height:1px;background:#e5d9c2}
.rw-dot{display:flex;align-items:center;justify-content:center;width:26px;height:26px;margin:0 auto 6px;
  border-radius:50%;border:1px solid #d9cbb0;background:#fff;color:#a09478;font-size:13px;position:relative}
.rw-st.done{color:#9c6b1e}
.rw-st.done .rw-dot{background:#fdf3e3;border-color:#b8934a;color:#9c6b1e}
.rw-st.done:not(:first-child)::before{background:#b8934a}
.rw-st.act{color:#b03a2e;font-weight:700}
.rw-st.act .rw-dot{border-color:#b03a2e;color:#b03a2e;animation:rw-dotbreath 1.4s ease-in-out infinite}
@keyframes rw-dotbreath{0%,100%{box-shadow:0 0 0 0 rgba(176,58,46,.3)}50%{box-shadow:0 0 0 7px rgba(176,58,46,0)}}
/* 报告追问（2026-11-02）：每份报告 3 次免费追问 */
.rpt-ask{margin-top:26px;border-top:1px dashed #d9cbb0;padding-top:16px}
.rpt-ask h3{font-size:16px;color:#4a3b22;margin:0 0 4px}
.rpt-ask-item{margin:12px 0}
.rpt-ask-q{max-width:86%;margin-left:auto;background:#fdf3e3;border:1px solid #ecd9b0;color:#7a5a1e;
  border-radius:12px 12px 2px 12px;padding:9px 12px;font-size:14px;line-height:1.7}
.rpt-ask-a{max-width:92%;margin-top:8px;background:#fffdf8;border:1px solid #eee3d0;color:#3d3527;
  border-radius:12px 12px 12px 2px;padding:10px 14px;font-size:14px;line-height:1.85}
.rpt-ask-a p{margin:6px 0;text-align:justify}
.rpt-ask-pending{color:#9c6b1e;background:#fdf8ef}
.rpt-ask-fail{color:#a09478;background:#faf7f0}
.rpt-ask-form{margin-top:14px}
.rpt-ask-form textarea{margin-bottom:10px}
.rpt-ask-form .rpt-btn{margin-top:0}
@media print {
  .rpt-actions, .rpt-note, .rpt-ask { display: none; }
  .rpt-card { box-shadow: none; border: 0; }
}
@media (max-width: 640px) {
  .rpt-card { padding: 18px 14px; }
  .rpt-row > div { min-width: 45%; }
  .rpt-price { float: none; display: block; }
}

/* ══ 2026-11-04 漏斗改造 v20261104a：点击前不显价格 · 免费常规批注金卡 · 显眼付费解锁 · 分享化结果页 ══ */
.rpt-free-tag { float: right; background: #2eae7c; color: #fff; font-size: 12px; font-weight: 400;
  border-radius: 99px; padding: 3px 10px; letter-spacing: 1px; margin-top: 4px; }
/* 免费批注卡 */
.rf-card { border: 1px solid #e3cf9e; background: linear-gradient(180deg, #fffdf6, #fff9ec); }
.rf-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.rf-head h3 { font-size: 19px; color: #4a3b22; margin: 0; }
.rf-free { background: #2eae7c; color: #fff; font-size: 11px; border-radius: 99px;
  padding: 2px 9px; margin-left: 8px; vertical-align: 3px; letter-spacing: 1px; }
.rf-score { background: #fdf3e3; border: 1px solid #ecd9b0; color: #9c6b1e; border-radius: 20px;
  padding: 6px 14px; font-size: 13px; }
.rf-score b { font-size: 24px; color: #b03a2e; margin: 0 2px; }
.rf-score i { font-style: normal; font-size: 11px; color: #a09478; }
.rf-body { margin-top: 14px; }
.rf-zong { font-size: 16px; line-height: 1.9; color: #4a3b22; background: #fdf8ef;
  border-left: 4px solid #b8934a; padding: 12px 14px; border-radius: 0 8px 8px 0; }
.rf-pts { list-style: none; margin: 16px 0; padding: 0; }
.rf-pts li { display: flex; gap: 10px; align-items: baseline; background: #fff;
  border: 1px solid #eee3d0; border-radius: 10px; padding: 12px 14px; margin: 10px 0;
  line-height: 1.8; color: #5c4e30; font-size: 14px; }
.rf-pts b { flex: none; color: #7a5a1e; background: #fdf3e3; border-radius: 8px;
  padding: 2px 8px; font-size: 13px; }
.rf-jiyu { text-align: center; font-size: 18px; color: #9c6b1e; letter-spacing: 2px;
  font-family: "Kaiti SC", "STKaiti", "KaiTi", serif; margin: 18px 0 4px; }
.rf-jiyu::before { content: "「"; color: #c9a15a; }
.rf-jiyu::after { content: "」"; color: #c9a15a; }
.rf-wait-t { font-size: 14px; color: #7a5a1e; text-align: center; margin: 10px 0 2px; }
.rf-fail { text-align: center; margin-top: 12px; }
/* 付费解锁 paywall（显眼金框） */
.rw-paywall { position: relative; margin-top: 16px; background: linear-gradient(180deg, #fffaf0, #fdf3e3);
  border: 2px solid #c9a15a; border-radius: 14px; padding: 24px 22px 18px;
  box-shadow: 0 6px 24px rgba(176,147,74,.25); }
.pw-ribbon { position: absolute; top: -13px; left: 50%; transform: translateX(-50%);
  background: linear-gradient(135deg, #b03a2e, #8e2f26); color: #ffe9c9; font-size: 12px;
  letter-spacing: 3px; border-radius: 99px; padding: 4px 18px; white-space: nowrap; }
.pw-title { font-size: 20px; color: #4a3b22; text-align: center; margin: 8px 0 14px; }
.pw-title b { display: block; font-size: 30px; color: #b03a2e; margin-top: 4px; }
.pw-pts { list-style: none; margin: 0 0 6px; padding: 0; }
.pw-pts li { display: flex; gap: 10px; align-items: baseline; font-size: 13.5px; color: #6b5d40;
  line-height: 1.8; margin: 7px 0; }
.pw-pts i { font-style: normal; flex: none; }
.pw-pts b { color: #9c6b1e; }
.pw-chs { display: flex; }
.pw-go { animation: pw-pulse 1.8s ease-in-out infinite; }
@keyframes pw-pulse { 50% { box-shadow: 0 0 0 7px rgba(176,58,46,.10); } }
@media (prefers-reduced-motion: reduce) { .pw-go { animation: none; } }
/* 已付结果页装饰 hero + 分享条 */
.rpt-hero { display: flex; justify-content: space-between; gap: 16px; align-items: center;
  background: linear-gradient(135deg, #fdf8ef 0%, #f7ecd4 55%, #efdcb4 100%);
  border: 1px solid #e3cf9e; border-radius: 12px; padding: 18px 20px; margin-bottom: 14px;
  position: relative; overflow: hidden; }
.rpt-hero::before { content: "☰"; position: absolute; right: -8px; bottom: -22px; font-size: 90px;
  color: rgba(184,147,74,.12); }
.rpt-hero-main { min-width: 0; }
.rpt-hero h1 { font-size: 20px; color: #4a3b22; margin: 0 0 8px; }
.rpt-hero-jiyu { font-size: 15px; color: #7a5a1e; line-height: 1.8; margin: 0;
  font-family: "Kaiti SC", "STKaiti", "KaiTi", serif; letter-spacing: 1px; }
.rpt-hero-side { flex: none; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.rpt-seal { width: 44px; height: 44px; border: 2px solid #b03a2e; border-radius: 8px; color: #b03a2e;
  font-size: 14px; font-weight: 700; display: flex; align-items: center; justify-content: center;
  font-family: "Kaiti SC", "STKaiti", "KaiTi", serif; transform: rotate(10deg); opacity: .85; }
.rpt-share { margin-top: 18px; background: #fdf8ef; border: 1px dashed #c9a15a; border-radius: 12px;
  padding: 14px 16px; text-align: center; }
.rpt-share-tip { font-size: 13.5px; color: #7a5a1e; margin-bottom: 10px; }
.rpt-share-btns { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.rpt-share-again { display: inline-block; margin-top: 10px; font-size: 13px; color: #b03a2e; }
@media (max-width: 640px) {
  .rpt-card { padding: 18px 16px; }
  .rpt-hero { flex-direction: column; align-items: flex-start; }
  .rpt-hero-side { flex-direction: row; }
  .rf-pts li { flex-direction: column; gap: 4px; }
}
