/* =========================================================
   AI 网站检测 · 模块专用样式（自包含）
   ---------------------------------------------------------
   设计原则：本文件不依赖上一级 styles.css 的版本。
   所有颜色/圆角/阴影都通过 var(--token, fallback) 兜底，
   只要上传 ai-check 目录即可保证样式 100% 生效。
   ========================================================= */

:root {
  /* —— 与全站设计系统对接；若缺失则使用兜底值 —— */
  --ac-surface:      var(--surface, #ffffff);
  --ac-surface-soft: var(--surface-soft, #f8fafd);
  --ac-ink:          var(--ink, #0f1b33);
  --ac-ink-soft:     var(--ink-soft, #5b6470);
  --ac-muted:        var(--muted, #8a93a3);
  --ac-line:         var(--line, #e7ebf2);
  --ac-line-soft:    var(--line-soft, #eef1f6);
  --ac-brand:        var(--brand, #4f5dff);
  --ac-brand-dark:   var(--brand-dark, #3346d6);
  --ac-radius:       var(--radius, 16px);
  --ac-radius-sm:    var(--radius-sm, 12px);
  --ac-shadow-sm:    var(--shadow-sm, 0 6px 22px rgba(24, 39, 75, .06));
  --ac-shadow:       var(--shadow, 0 14px 44px rgba(24, 39, 75, .10));
  --ac-font:         var(--font-ui, "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif);
  --ac-ease:         cubic-bezier(.16, 1, .3, 1);
  --ac-good:         #1f9d5e;
  --ac-mid:          #d3831f;
  --ac-low:          #d94f4f;
  --ac-grad:         linear-gradient(135deg, #5b6bff 0%, #3b8cff 100%);
}

/* =========================================================
   1. 检测表单
   ========================================================= */
.detect-form {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  max-width: 560px;
  margin-top: 8px;
}
.detect-input {
  flex: 1 1 260px;
  min-width: 0;
  min-height: 52px;
  padding: 0 16px;
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius-sm);
  font-size: 15px;
  font-family: var(--ac-font);
  color: var(--ac-ink);
  background: var(--ac-surface);
  transition: border-color .2s, box-shadow .2s;
}
.detect-input:focus {
  outline: none;
  border-color: var(--ac-brand);
  box-shadow: 0 0 0 4px rgba(79, 93, 255, .12);
}
.detect-form .btn { min-height: 52px; }

/* 表单下方的轻提示 */
.detect-hint {
  margin: 10px 0 0;
  font-size: 13px;
  color: var(--ac-muted);
}

/* =========================================================
   2. 实时检测进度
   ========================================================= */
.progress-panel {
  background: var(--ac-surface);
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius);
  box-shadow: var(--ac-shadow-sm);
  padding: 24px 26px 22px;
}
.progress-panel[hidden] { display: none; }

.pp-head {
  display: flex;
  align-items: baseline;
  gap: 12px;
  justify-content: space-between;
}
.pp-title {
  font-weight: 800;
  font-size: 17px;
  letter-spacing: -.01em;
}
.pp-title .pp-domain {
  color: var(--ac-brand-dark);
  word-break: break-all;
}
.pp-pct {
  font-weight: 800;
  font-size: 17px;
  color: var(--ac-brand);
  font-variant-numeric: tabular-nums;
}
.pp-track {
  height: 8px;
  border-radius: 999px;
  background: var(--ac-line-soft);
  overflow: hidden;
  margin-top: 14px;
}
.pp-track > i {
  display: block;
  height: 100%;
  width: 0;
  border-radius: 999px;
  background: var(--ac-grad);
  transition: width .5s var(--ac-ease);
}
.pp-steps {
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
  display: grid;
  gap: 11px;
}
.pp-steps li {
  display: flex;
  align-items: center;
  gap: 11px;
  font-size: 14px;
  color: var(--ac-muted);
  transition: color .2s;
}
.pp-dot {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid var(--ac-line);
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: border-color .2s, background .2s;
}
.pp-steps li.running { color: var(--ac-ink); font-weight: 700; }
.pp-steps li.running .pp-dot {
  border-color: var(--ac-brand);
  border-top-color: transparent;
  animation: ac-spin .75s linear infinite;
}
.pp-steps li.done { color: var(--ac-ink-soft); }
.pp-steps li.done .pp-dot {
  background: var(--ac-good);
  border-color: var(--ac-good);
}
.pp-steps li.done .pp-dot::after {
  content: "✓";
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  animation: ac-pop .25s var(--ac-ease);
}
.pp-steps li.error .pp-dot { background: var(--ac-low); border-color: var(--ac-low); }
.pp-steps li.error .pp-dot::after {
  content: "!";
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}
.pp-steps li .pp-note {
  margin-left: auto;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--ac-muted);
  text-align: right;
}
@keyframes ac-spin { to { transform: rotate(360deg); } }
@keyframes ac-pop { from { transform: scale(.4); opacity: 0; } to { transform: scale(1); opacity: 1; } }

/* AI 思考过程（实时流式） */
.think-box {
  margin-top: 18px;
  border: 1px dashed var(--ac-line);
  border-radius: var(--ac-radius-sm);
  background: var(--ac-surface-soft);
  padding: 2px 16px 14px;
}
.think-box[hidden] { display: none; }
.think-box > summary {
  cursor: pointer;
  list-style: none;
  font-weight: 700;
  font-size: 13.5px;
  color: var(--ac-ink-soft);
  padding: 12px 0 10px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.think-box > summary::-webkit-details-marker { display: none; }
.think-box > summary::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ac-brand);
  box-shadow: 0 0 0 4px rgba(79, 93, 255, .14);
  flex: 0 0 auto;
}
.think-text {
  font-size: 13px;
  line-height: 1.9;
  color: var(--ac-ink-soft);
  white-space: pre-wrap;
  word-break: break-word;
  max-height: 220px;
  overflow-y: auto;
  padding-right: 6px;
}
.ac-caret {
  display: inline-block;
  width: 7px;
  height: 14px;
  margin-left: 2px;
  vertical-align: -2px;
  background: var(--ac-brand);
  animation: ac-blink 1s steps(2, start) infinite;
}
@keyframes ac-blink { 50% { opacity: 0; } }

/* 进度面板内的「AI 输出实时预览」 */
.progress-panel .ai-box {
  margin-top: 14px;
  max-height: 300px;
  overflow-y: auto;
  font-size: 14px;
}
.progress-panel .ai-box[hidden] { display: none; }

/* =========================================================
   3. 检测结果面板
   ========================================================= */
.result-panel {
  background: var(--ac-surface);
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius);
  box-shadow: var(--ac-shadow-sm);
  padding: 28px;
  margin-top: 26px;
}
.result-panel[hidden] { display: none; }

.rp-top {
  display: flex;
  align-items: center;
  gap: 26px;
  flex-wrap: wrap;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--ac-line-soft);
}
.rp-info { flex: 1 1 260px; min-width: 0; }
.rp-domain {
  font-weight: 800;
  font-size: 22px;
  letter-spacing: -.01em;
  word-break: break-all;
  line-height: 1.3;
}
.rp-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 7px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--ac-ink-soft);
  word-break: break-word;
}
.rp-title[hidden] { display: none; }
.rp-sub {
  margin-top: 6px;
  font-size: 13.5px;
  color: var(--ac-muted);
}
.rp-chips {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
}
.rp-chip {
  font-size: 12.5px;
  font-weight: 700;
  padding: 4px 11px;
  border-radius: 999px;
  background: var(--ac-surface-soft);
  border: 1px solid var(--ac-line);
  color: var(--ac-ink-soft);
}
.rp-chip.ok { background: #e9f8f0; border-color: #c9ecdb; color: #17754a; }
.rp-chip.no { background: #fdf0f0; border-color: #f6d8d8; color: #b93b3b; }
.rp-chip.level { background: rgba(79, 93, 255, .10); border-color: rgba(79, 93, 255, .22); color: var(--ac-brand-dark); }

/* 评分环 */
.score-ring {
  --pct: 0;
  --ring: var(--ac-brand);
  width: 134px;
  height: 134px;
  flex: 0 0 auto;
  border-radius: 50%;
  position: relative;
  display: grid;
  place-items: center;
  background: conic-gradient(var(--ring) calc(var(--pct) * 1%), var(--ac-line-soft) 0);
  transition: background .7s var(--ac-ease);
}
.score-ring::before {
  content: "";
  position: absolute;
  inset: 11px;
  border-radius: 50%;
  background: var(--ac-surface);
}
.score-ring .sr-inner { position: relative; text-align: center; }
.score-ring b {
  display: block;
  font-size: 38px;
  font-weight: 800;
  line-height: 1;
  color: var(--ac-brand-dark);
  font-variant-numeric: tabular-nums;
}
.score-ring small {
  display: block;
  font-size: 12px;
  color: var(--ac-muted);
  margin-top: 3px;
}
.score-ring.lv-good { --ring: #22b573; }
.score-ring.lv-mid { --ring: #f0a93e; }
.score-ring.lv-low { --ring: #ef6f6f; }

/* 结果区整体布局 */
.rp-body {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
  gap: 30px;
  margin-top: 24px;
}
.rp-h {
  font-size: 15px;
  font-weight: 800;
  margin: 0 0 14px;
  padding-left: 11px;
  position: relative;
  letter-spacing: -.01em;
}
.rp-h::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  bottom: 3px;
  width: 4px;
  border-radius: 999px;
  background: var(--ac-grad);
}

/* 分项卡片 */
.dim-list { display: grid; gap: 12px; }
.dim-item {
  border: 1px solid var(--ac-line-soft);
  border-radius: var(--ac-radius-sm);
  padding: 13px 15px 14px;
  background: var(--ac-surface);
  transition: border-color .2s, box-shadow .2s;
}
.dim-item:hover { border-color: var(--ac-line); box-shadow: 0 2px 12px rgba(24, 39, 75, .05); }
.di-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 14px;
}
.di-name { color: var(--ac-ink-soft); }
.di-score {
  font-weight: 800;
  font-size: 15px;
  font-variant-numeric: tabular-nums;
}
.di-score.good { color: var(--ac-good); }
.di-score.mid { color: var(--ac-mid); }
.di-score.low { color: var(--ac-low); }
.di-bar {
  height: 8px;
  border-radius: 999px;
  background: var(--ac-line-soft);
  overflow: hidden;
  margin-top: 9px;
}
.di-bar > i {
  display: block;
  height: 100%;
  width: 0;
  border-radius: 999px;
  background: var(--ac-grad);
  transition: width .9s var(--ac-ease);
}
.di-bar > i.good { background: linear-gradient(90deg, #34c98a, #1f9d5e); }
.di-bar > i.mid { background: linear-gradient(90deg, #ffc26b, #e08a2a); }
.di-bar > i.low { background: linear-gradient(90deg, #ff8f8f, #d94f4f); }
.di-tip {
  margin: 9px 0 0;
  font-size: 12.5px;
  line-height: 1.75;
  color: var(--ac-muted);
  border-top: 1px dashed var(--ac-line-soft);
  padding-top: 9px;
}

/* 优先优化建议 */
.advice-card {
  background: var(--ac-surface-soft);
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius-sm);
  padding: 18px;
}
.advice-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}
.advice-list li {
  display: flex;
  gap: 11px;
  font-size: 13.5px;
  line-height: 1.75;
  color: var(--ac-ink-soft);
}
.advice-list li .ai-idx {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin-top: 2px;
  border-radius: 50%;
  background: var(--ac-grad);
  color: #fff;
  font-size: 11.5px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.advice-list li b { color: var(--ac-ink); }

/* AI 解读区 */
.ai-panel {
  margin-top: 26px;
  padding-top: 24px;
  border-top: 1px solid var(--ac-line-soft);
}
.ai-box {
  background: var(--ac-surface-soft);
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius-sm);
  padding: 18px 20px;
  line-height: 1.9;
  color: var(--ac-ink);
  font-size: 14.5px;
}
.ai-box .ai-h {
  font-size: 15.5px;
  font-weight: 800;
  color: var(--ac-brand-dark);
  margin: 18px 0 8px;
  letter-spacing: -.01em;
}
.ai-box .ai-h:first-child { margin-top: 0; }
.ai-box p { margin: 0 0 10px; }
.ai-box p:last-child { margin-bottom: 0; }
.ai-box strong { color: var(--ac-ink); font-weight: 800; }
.ai-box ol, .ai-box ul { margin: 6px 0 12px; padding-left: 22px; }
.ai-box li { margin-bottom: 6px; }
.ai-box .ai-quote {
  border-left: 3px solid var(--ac-brand);
  background: rgba(79, 93, 255, .05);
  padding: 10px 14px;
  border-radius: 0 8px 8px 0;
  margin: 10px 0;
  color: var(--ac-ink-soft);
  font-size: 13.5px;
}

/* 结果操作区 */
.rp-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 22px;
}
.disclaimer {
  margin-top: 20px;
  font-size: 12.5px;
  line-height: 1.8;
  color: var(--ac-muted);
  background: rgba(79, 93, 255, .05);
  border: 1px solid rgba(79, 93, 255, .14);
  border-radius: var(--ac-radius-sm);
  padding: 12px 15px;
}

/* 状态提示 */
.result-status {
  margin-top: 14px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ac-brand-dark);
  display: none;
}
.result-status.show { display: block; }
.result-status.error { color: var(--ac-low); }

/* =========================================================
   4. 最近检测 / 全部结果 卡片
   ========================================================= */
.rc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(248px, 1fr));
  gap: 18px;
}
.rc {
  display: flex;
  flex-direction: column;
  background: var(--ac-surface);
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius);
  overflow: hidden;
  box-shadow: var(--ac-shadow-sm);
  transition: transform .28s var(--ac-ease), box-shadow .28s var(--ac-ease), border-color .28s;
}
/* 卡片内可点击区域（跳转报告），与底部评价区并列，避免链接嵌套 */
.rc-main {
  display: flex;
  flex-direction: column;
  flex: 1;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
.rc-foot {
  border-top: 1px solid var(--ac-line-soft);
  background: var(--ac-surface-soft);
}
.rc:hover {
  transform: translateY(-5px);
  box-shadow: var(--ac-shadow);
  border-color: rgba(79, 93, 255, .3);
}
.rc-banner {
  --h: 220;
  position: relative;
  min-height: 108px;
  display: grid;
  place-items: center;
  padding: 20px 40px 16px;
  text-align: center;
  background: linear-gradient(135deg, hsl(var(--h), 70%, 55%), hsl(calc(var(--h) + 42), 68%, 43%));
  overflow: hidden;
}
.rc-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(120% 100% at 78% 0%, rgba(255, 255, 255, .3), transparent 62%);
  pointer-events: none;
}
.rc-domain {
  position: relative;
  z-index: 1;
  color: #fff;
  font-weight: 800;
  font-size: 19px;
  line-height: 1.3;
  word-break: break-all;
  text-shadow: 0 2px 10px rgba(0, 0, 0, .22);
}
.rc-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  background: rgba(255, 255, 255, .95);
  border-radius: 999px;
  padding: 3px 10px;
  font-size: 12px;
  font-weight: 800;
  color: var(--ac-brand-dark);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .12);
  font-variant-numeric: tabular-nums;
}
.rc-body {
  padding: 15px 16px 16px;
  display: grid;
  gap: 7px;
  flex: 1;
}
.rc-scoreline {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-bottom: 2px;
}
.rc-scoreline b {
  font-size: 25px;
  font-weight: 800;
  color: var(--ac-brand-dark);
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.rc-scoreline span { font-size: 12.5px; color: var(--ac-muted); font-weight: 600; }
.rc-scoreline em {
  margin-left: auto;
  font-style: normal;
  font-size: 11.5px;
  font-weight: 800;
  padding: 2px 9px;
  border-radius: 999px;
}
.rc-scoreline em.good { background: #e9f8f0; color: #17754a; }
.rc-scoreline em.mid { background: #fdf5e8; color: #a8641a; }
.rc-scoreline em.low { background: #fdf0f0; color: #b93b3b; }
.rc-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 1px 0 3px;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--ac-ink);
  word-break: break-word;
}
.rc-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 12.5px;
  line-height: 1.6;
}
.rc-k { color: var(--ac-muted); flex: 0 0 auto; }
.rc-v {
  color: var(--ac-ink-soft);
  font-weight: 600;
  text-align: right;
  word-break: break-all;
}
.rc-cta {
  margin-top: auto;
  padding-top: 10px;
  font-size: 13px;
  font-weight: 800;
  color: var(--ac-brand);
  border-top: 1px dashed var(--ac-line-soft);
}

/* 空态 / 骨架 */
.rc-empty {
  text-align: center;
  color: var(--ac-muted);
  padding: 44px 16px;
  font-size: 15px;
  background: var(--ac-surface);
  border: 1px dashed var(--ac-line);
  border-radius: var(--ac-radius);
}
.rc-empty a { color: var(--ac-brand); font-weight: 700; }
.rc-skeleton {
  height: 216px;
  border-radius: var(--ac-radius);
  background: linear-gradient(100deg, #f2f5fa 20%, #e9eef7 40%, #f2f5fa 60%);
  background-size: 220% 100%;
  animation: ac-shimmer 1.2s linear infinite;
}
@keyframes ac-shimmer { to { background-position: -220% 0; } }

/* =========================================================
   5. 全部结果页（list.php）
   ========================================================= */
.list-hero { padding: 44px 0 8px; }
.search-form {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  max-width: 560px;
  margin-top: 20px;
}
.search-form .detect-input { min-height: 48px; }
.search-form .btn { min-height: 48px; }
.list-stats {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 18px;
  font-size: 13.5px;
  color: var(--ac-muted);
}
.list-stats b { color: var(--ac-brand-dark); font-size: 16px; font-weight: 800; }
.pager {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 30px;
  justify-content: center;
}
.pager a, .pager span {
  min-width: 40px;
  padding: 9px 13px;
  border: 1px solid var(--ac-line);
  border-radius: 10px;
  font-size: 14px;
  text-align: center;
  color: var(--ac-ink);
  font-weight: 600;
  transition: background .18s, border-color .18s, color .18s;
}
.pager a:hover { background: var(--ac-surface); border-color: var(--ac-brand); color: var(--ac-brand-dark); }
.pager .cur { background: var(--ac-brand); border-color: var(--ac-brand); color: #fff; }
.pager .gap { border: 0; color: var(--ac-muted); min-width: 22px; }

/* =========================================================
   6. 报告页（reports/{domain}-report.html）
   ========================================================= */
.report-hero {
  display: flex;
  align-items: center;
  gap: 30px;
  flex-wrap: wrap;
  background: var(--ac-surface);
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius);
  box-shadow: var(--ac-shadow-sm);
  padding: 28px 30px;
  margin-top: 22px;
}
.report-hero .rh-domain {
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -.02em;
  word-break: break-all;
  line-height: 1.25;
}
.report-hero .rh-title {
  margin-top: 8px;
  font-size: 14.5px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--ac-ink-soft);
  word-break: break-word;
}
.report-meta {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}
.report-meta span {
  font-size: 12.5px;
  color: var(--ac-ink-soft);
  background: var(--ac-surface-soft);
  border: 1px solid var(--ac-line);
  border-radius: 999px;
  padding: 4px 12px;
}
.report-block {
  background: var(--ac-surface);
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius);
  box-shadow: var(--ac-shadow-sm);
  padding: 26px 28px;
}
.report-block + .report-block { margin-top: 22px; }
.report-note {
  margin-top: 22px;
  font-size: 12.5px;
  line-height: 1.85;
  color: var(--ac-muted);
}
.section-head-lite {
  margin-bottom: 18px;
}
.section-head-lite .kicker {
  display: inline-block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ac-brand);
  margin-bottom: 6px;
}
.section-head-lite h2 {
  margin: 0;
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -.02em;
}

/* 顶部固定条（滚动时回到列表） */
.ac-toolbar {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 18px;
  font-size: 13.5px;
}
.ac-toolbar a { color: var(--ac-brand); font-weight: 700; }

/* =========================================================
   6.5 用户评价（有用 / 不准确）
   ========================================================= */
.vote-widget {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding: 12px 16px;
}
.vw-label {
  font-size: 13px;
  font-weight: 700;
  color: var(--ac-ink-soft);
}
.vw-btns { display: flex; gap: 8px; flex-wrap: wrap; }
.vw-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--ac-font);
  font-size: 13px;
  font-weight: 700;
  padding: 7px 13px;
  border-radius: 999px;
  border: 1px solid var(--ac-line);
  background: var(--ac-surface);
  color: var(--ac-ink-soft);
  cursor: pointer;
  transition: background .18s, border-color .18s, color .18s, transform .18s;
}
.vw-btn:hover {
  border-color: var(--ac-brand);
  color: var(--ac-brand-dark);
  transform: translateY(-1px);
}
.vw-btn .vw-count {
  font-style: normal;
  font-size: 12px;
  font-weight: 800;
  min-width: 18px;
  padding: 1px 6px;
  border-radius: 999px;
  background: var(--ac-line-soft);
  color: var(--ac-ink-soft);
  font-variant-numeric: tabular-nums;
}
/* 已投票状态 */
.vw-btn.on { background: rgba(79, 93, 255, .10); border-color: var(--ac-brand); color: var(--ac-brand-dark); }
.vw-btn.on .vw-count { background: var(--ac-brand); color: #fff; }
.vw-btn[data-type="inaccurate"].on { background: #fdf0f0; border-color: #f0b8b8; color: #b93b3b; }
.vw-btn[data-type="inaccurate"].on .vw-count { background: #d94f4f; color: #fff; }

/* 结果面板内的评价（略大一点，独立成行） */
.result-panel .vote-widget {
  margin-top: 18px;
  padding: 14px 16px;
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius-sm);
  background: var(--ac-surface-soft);
}

/* =========================================================
   6.6 SKILL.md 下载（报告页）
   ========================================================= */
.skill-download { background: var(--ac-surface); }
.sd-desc {
  font-size: 14px;
  line-height: 1.85;
  color: var(--ac-ink-soft);
  margin: 0 0 16px;
}
.sd-desc b { color: var(--ac-ink); }
.skill-download .btn { display: inline-flex; }

/* =========================================================
   7. 响应式
   ========================================================= */
@media (max-width: 1024px) {
  .rp-body { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 768px) {
  .result-panel { padding: 20px 18px; }
  .progress-panel { padding: 20px 18px; }
  .rp-top { gap: 18px; }
  .score-ring { width: 112px; height: 112px; }
  .score-ring b { font-size: 32px; }
  .rp-domain { font-size: 19px; }
  .rp-title { font-size: 13px; }
  .report-hero { padding: 22px 20px; gap: 20px; }
  .report-hero .rh-domain { font-size: 21px; }
  .report-hero .rh-title { font-size: 13px; }
  .report-block { padding: 20px 18px; }
  .rc-grid { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; }
  .pp-steps li .pp-note { display: none; }
}
@media (max-width: 560px) {
  .detect-form { flex-direction: column; }
  .detect-form .btn { width: 100%; }
  .search-form { flex-direction: column; }
  .search-form .btn { width: 100%; }
  .rc-grid { grid-template-columns: 1fr; }
  .score-ring { width: 100px; height: 100px; }
  .score-ring b { font-size: 28px; }
  .rc-title { font-size: 12px; }
  .ai-box { padding: 15px 15px; font-size: 14px; }
  .vote-widget { flex-direction: column; align-items: flex-start; gap: 8px; }
  .result-panel .vote-widget { flex-direction: row; align-items: center; }
}
