/* ============================================================
   网页端 v7 极简归一层 · 仅 index.html 加载（位于 styles.css 之后）
   靶心 = report_value_mockup_v7（2026-09-18 晶哥锁定）：
   白底 hairline 卡 · 单一蓝源 · 扁平按钮 · 单色 SVG 图标 · 大数字+灰阶层级
   纪律：只做视觉归一覆盖，不改任何 id / 逻辑类；不动 admin / mobile
   ============================================================ */

/* ---- 0. 页面底色：去天空渐变 + 科技网格，回归纯浅底 ---- */
body{
  background:var(--bg);
  background-attachment:scroll;
  background-size:auto;
}

/* ---- 1. 卡片归一：白底 + 1px hairline + 极轻投影 ---- */
.card{border:1px solid var(--hair);box-shadow:var(--shadow-hair)}

/* ---- 2. 顶栏 / 导航：纯白 + hairline 分隔 ---- */
header.top{background:var(--surface);border-bottom:1px solid var(--hair)}
.tabs{background:var(--surface);border-bottom:1px solid var(--hair)}
.tab.active{color:var(--blue)}

/* ---- 3. 按钮扁平化：单一蓝源，去渐变/高光/扫光/浮起 ---- */
.btn{background:var(--blue);box-shadow:none}
.btn::before,.btn::after{display:none}
.btn:hover{filter:none;transform:none;background:var(--blue-deep);box-shadow:none}
.btn.btn-lg{border-radius:12px}
.btn.ghost{background:var(--surface);border:1px solid var(--hair);color:var(--text);box-shadow:none}
.btn.ghost:hover{background:var(--surface);border-color:var(--blue);color:var(--blue)}
.btn.warm{background:var(--amber);box-shadow:none}
.btn.warm:hover{background:var(--amber);box-shadow:none;filter:brightness(1.05)}

/* 顶栏用户区：紫渐变 → 扁平蓝（会员紫仅留给会员场景） */
#user-bar .ub-btn-guest{background:var(--blue);box-shadow:none;letter-spacing:.5px}
#user-bar .ub-btn-guest:hover{background:var(--blue-deep);transform:none;box-shadow:none}

/* ---- 4. 首页 Hero ---- */
.hp-h1{letter-spacing:-.5px}
.hp-preview{border:1px solid var(--hair);box-shadow:none}
.hp-coverage{color:var(--faint)}
.hp-coverage b{color:var(--muted)}
/* 首次提示：渐变底 → 蓝雾底 */
.first-hint{background:var(--blue-ghost);border:1px solid var(--blue-hair)}
/* 信任行（替代原自动轮播）：静态一行，真实数据 */
.hp-trust{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;margin-top:28px;padding:14px 18px;background:var(--surface);border:1px solid var(--hair);border-radius:12px;font-size:13px;color:var(--muted);line-height:1.6}
.hp-trust b{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--blue);font-weight:700}
.hp-trust .sep{width:1px;height:14px;background:var(--hair)}
.hp-trust-item[data-live="0"]{display:none}

/* ---- 5. PK 模块 ---- */
.pk-emoji{display:flex;align-items:center;justify-content:center;background:var(--blue-ghost);color:var(--blue);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:800;letter-spacing:1px}
.pk-hero .pk-emoji{background:var(--blue-ghost);color:var(--blue);border-radius:16px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:800;letter-spacing:1px;display:flex;align-items:center;justify-content:center}
.pk-start{background:var(--blue);box-shadow:none;border-radius:12px}
.pk-start:hover{background:var(--blue-deep);transform:none;filter:none}

/* ---- 6. 舆情模块 ---- */
.sent-tag{background:var(--surface);border:1px solid var(--hair);color:var(--muted)}
.sent-tag.src,.sent-tag.trace{background:var(--surface);border:1px solid var(--hair);color:var(--muted)}
.sent-icon{color:var(--blue)}
.sent-head .note-warn{background:var(--surface);border:1px dashed var(--hair);color:var(--muted)}
.sent-btn{background:var(--blue);box-shadow:none;border-radius:12px}
.sent-btn:hover{background:var(--blue-deep);transform:none}
.patrol-card-web{background:var(--surface);border:1px solid var(--hair)}
.patrol-badge-free{background:var(--amber-ghost);color:var(--amber);border-radius:var(--pill)}

/* ---- 7. 客服浮标：紫渐变 → 单一蓝源 ---- */
.cs-float-btn{background:var(--blue);box-shadow:var(--shadow-md)}
.cs-float-btn:hover{background:var(--blue-deep);transform:none}
.cs-float-header{background:var(--blue-deep)}

/* ---- 8. 表单微提示 / 页脚（原行内样式收编） ---- */
.row-hint{font-size:12px;color:var(--faint);margin:4px 2px 0;line-height:1.6}
.site-footer{text-align:center;padding:18px 16px 24px;font-size:13px;color:var(--muted);background:var(--surface);border-top:1px solid var(--hair)}
.site-footer p{margin:0 0 6px 0}
.site-footer .beian-row{margin:0;display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}
.site-footer a{color:var(--muted);text-decoration:none}
.site-footer a:hover{color:var(--blue)}
.site-footer .mps-ico{height:16px;width:auto;vertical-align:middle}
.cs-float-tip{font-size:12px;color:var(--muted);margin-bottom:8px;line-height:1.6}
.cs-float-tip b{color:var(--blue)}
.adv-toggle-link{color:var(--faint)}
.adv-toggle-link:hover{color:var(--blue)}

/* ============================================================
   Phase 2 · 留白与字号节律（把 v7 报告的松弛感铺到全站）
   ============================================================ */

/* ---- 10. 遗留渐变清零（仅保留单一蓝/蓝雾/中性） ---- */
/* 注：下列选择器刻意提高优先级（原规则多为 .brand .logo-chip / .sr-bar .sr-track i 等三层），否则覆盖不生效 */
.top .brand .logo-chip{background:var(--blue-deep);box-shadow:none}
#user-bar .ub-inner.ub-guest{background:var(--surface);border:1px solid var(--hair)}
#user-bar .ub-left .ub-guest-dot{background:var(--blue);box-shadow:none}
.hp-prev-bars .hp-prev-bar .hp-prev-track>i,.sr-bars .sr-bar .sr-track>i{background:var(--blue)}
.sent-card .sent-empty{background:var(--surface);border:1px dashed var(--hair)}
.card .me-group button{background:var(--blue);box-shadow:none}
.card .me-group button:hover{background:var(--blue-deep);transform:none;filter:none}

/* ---- 11. 表单控件：统一继承字号，修掉浏览器默认 13.3333px ---- */
input,select,textarea,button{font-family:inherit;font-size:14px}
input::placeholder,textarea::placeholder{color:var(--faint)}

/* ---- 12. 标题节律（层级靠字重+字号，不靠颜色堆砌） ---- */
h1,.hp-h1{font-size:30px;font-weight:800;letter-spacing:-.6px;line-height:1.34}
.panel .card>h2:first-child,.sample-report>h2:first-child{font-size:19px;font-weight:800;letter-spacing:-.3px;line-height:1.45;margin-bottom:20px}
.panel .card>h3:first-child{font-size:16px;font-weight:800;letter-spacing:-.2px;margin-bottom:16px}
.hint,.cap,.note-sm{color:var(--faint)}
.hp-sub{font-size:15px;color:var(--muted);line-height:1.7}

/* ---- 13. 卡片留白（松弛感：更大 padding + 更轻边界） ---- */
.panel>.card{padding:28px 32px;border-radius:16px}
.panel>.card+.card,.panel>.card+details{margin-top:24px}
.hint{margin-top:12px}

/* ---- 14. 移动端窄屏留白回缩，防挤压 ---- */
@media (max-width:860px){
  .panel>.card{padding:20px 18px;border-radius:14px}
  h1,.hp-h1{font-size:24px}
}

/* ---- 15. 碎片字号收编（消除 11.5px / 10.5px 等零碎值） ---- */
.hp-prev-nm,.hp-prev-v{font-size:12px}
.hp-prev-foot{font-size:12px;color:var(--faint)}
.small,.mini,.tiny{font-size:12px}

/* ============================================================
   Phase 3a · 诊断报告区 v7 节律（CSS 层归整，不动渲染逻辑）
   依据：_report_dump.html 真实 DOM（.crd 为报告卡容器）
   ============================================================ */
#diag-result{background:transparent;border:none;padding:0;box-shadow:none}
/* 报告卡行内样式密度极高（样本 174 处），盒模型属性必须显式 !important 才能压过；
   这是过渡手段，长期清债（Phase 4）应把行内样式收编进类。 */
#diag-result>.crd,#diag-result .crd{
  background:var(--surface)!important;border:1px solid var(--hair)!important;border-radius:16px!important;
  padding:24px 28px!important;margin:0 0 20px!important;box-shadow:var(--shadow-hair)!important;
}
#diag-result .crd h2{font-size:19px!important;font-weight:800!important;letter-spacing:-.3px;line-height:1.45;margin:0 0 16px!important;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#diag-result .crd h3{font-size:16px!important;font-weight:800;letter-spacing:-.2px;margin:0 0 12px!important}
/* 报告顶部主卡：渐变底 → 白底 + 蓝色 hairline（v7 不留渐变底） */
#diag-result .crd[style*="linear-gradient"]{background:var(--surface)!important;border:1px solid var(--blue-hair)!important}
#diag-result .mod-badge{border-radius:6px;font-size:10px;font-weight:800;letter-spacing:.5px;padding:3px 8px}
#diag-result .tier-badge{border-radius:8px;font-size:12px;padding:4px 12px}
/* 折叠区：白底 hairline，去蓝底渐变感 */
#diag-result .fold-deep{border:1px solid var(--hair);border-radius:12px;background:var(--surface);margin-top:20px}
#diag-result .fold-deep>summary{padding:14px 18px;font-size:14px}
#diag-result .fold-deep>summary>span:first-child{color:var(--text);font-weight:800}
#diag-result .basis-details{border:1px dashed var(--hair);border-radius:10px;background:var(--surface);margin-top:16px}
#diag-result .compare-card{border:1px solid var(--hair);border-radius:16px;overflow:hidden}
#diag-result .compare-card .cc-head{background:var(--blue-ghost);border-bottom:1px solid var(--hair)}
#diag-result .report-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:16px}
#diag-result .btn-share{background:var(--blue);box-shadow:none}
#diag-result .btn-share:hover{background:var(--blue-deep);transform:none}
#diag-result .dim6-title{font-size:19px;letter-spacing:-.3px}
@media (max-width:860px){
  #diag-result .crd{padding:18px 16px;border-radius:14px}
  #diag-result .crd h2{font-size:17px}
}

/* ══════════════════════════════════════════════════════════════════════════
 * ma79.187 · 诊断报告结构重写（v7 定稿结构落地）
 * 结构：HERO 综合分环 → 01 现状六维 → 02 行业基准 → 03 根因与方案 → 深度检测报告折叠
 * 单一蓝源 · amber 只标「最弱/不足」 · 白底 + hairline · 8pt 栅格 · 内容级微动效
 * ══════════════════════════════════════════════════════════════════════════ */
#diag-result .rv7{
  --rv7-blue:#2563EB; --rv7-deep:#1E3A8A; --rv7-mid:#3B82F6; --rv7-bright:#60A5FA;
  --rv7-ghost:rgba(37,99,235,.07); --rv7-bhair:rgba(37,99,235,.22);
  --rv7-text:#0F172A; --rv7-muted:#475569; --rv7-faint:#94A3B8;
  --rv7-line:#D8E0EC; --rv7-track:#EEF2F7;
  --rv7-amber:#B45309; --rv7-amber-ghost:rgba(180,83,9,.08);
  --rv7-mono:"SF Mono","JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
}
#diag-result .rv7-card{
  background:#fff;border:1px solid var(--hair,var(--rv7-line));border-radius:18px;
  padding:28px 32px;margin:0 0 24px;box-shadow:0 1px 2px rgba(15,23,42,.03);
}
#diag-result .rv7-card:last-child{margin-bottom:0}

/* ── HERO ── */
#diag-result .rv7-hero{display:flex;gap:40px;align-items:center}
#diag-result .rv7-ring{position:relative;width:172px;height:172px;flex:none}
#diag-result .rv7-ring svg{transform:rotate(-90deg);display:block}
#diag-result .rv7-ring .ctr{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
#diag-result .rv7-ring .lbl{font-size:11px;letter-spacing:2px;color:#94A3B8;font-weight:600;margin-bottom:3px}
#diag-result .rv7-ring .num{font-family:var(--rv7-mono);font-size:64px;font-weight:800;line-height:.9;letter-spacing:-3px;color:#1E3A8A;font-variant-numeric:tabular-nums}
#diag-result .rv7-ring .den{font-family:var(--rv7-mono);font-size:13px;color:#94A3B8;font-weight:600;margin-top:4px}
#diag-result .rv7-hero .right{flex:1;min-width:0}
#diag-result .rv7-eyebrow{font-size:11px;font-weight:700;letter-spacing:3px;color:var(--rv7-blue);margin-bottom:16px}
#diag-result .rv7-tier{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:800;color:#1E3A8A;background:var(--rv7-ghost);border:1px solid var(--rv7-bhair);padding:6px 15px;border-radius:99px;margin-bottom:16px}
#diag-result .rv7-tier .d{width:7px;height:7px;border-radius:50%;background:var(--rv7-blue);flex:none}
#diag-result .rv7-verdict{font-size:18px;font-weight:700;line-height:1.62;letter-spacing:-.2px;color:#0F172A}
#diag-result .rv7-verdict em{font-style:normal;color:var(--rv7-blue);font-weight:800}
#diag-result .rv7-meta{display:flex;flex-wrap:wrap;gap:16px 32px;margin-top:24px;padding-top:24px;border-top:1px solid var(--rv7-line)}
#diag-result .rv7-meta .it .k{font-size:11px;color:#94A3B8;letter-spacing:.5px;margin-bottom:4px}
#diag-result .rv7-meta .it .v{font-family:var(--rv7-mono);font-size:22px;font-weight:700;color:#0F172A;font-variant-numeric:tabular-nums;line-height:1}
#diag-result .rv7-meta .it .v.hl{color:var(--rv7-blue)}
#diag-result .rv7-meta .it .v small{font-family:inherit;font-size:11px;font-weight:600;color:#94A3B8;margin-left:3px}

/* ── 段落标题 ── */
#diag-result .rv7-head{display:flex;align-items:baseline;gap:16px;margin-bottom:24px}
#diag-result .rv7-no{font-family:var(--rv7-mono);font-size:13px;font-weight:700;color:var(--rv7-blue);background:var(--rv7-ghost);border:1px solid var(--rv7-bhair);border-radius:7px;padding:4px 10px;letter-spacing:1px;flex:none}
#diag-result .rv7-t{font-size:19px;font-weight:800;letter-spacing:-.3px;color:#0F172A}
#diag-result .rv7-s{font-size:11px;color:#94A3B8;margin-left:auto;letter-spacing:.5px;font-family:var(--rv7-mono);text-align:right}

/* ── 01 现状六维 ── */
#diag-result .rv7-dims{position:relative}
#diag-result .rv7-dims .refline{position:absolute;top:0;bottom:8px;width:1px;background:repeating-linear-gradient(to bottom,#94A3B8 0 4px,transparent 4px 8px);opacity:.45}
#diag-result .rv7-dims .refline::after{content:attr(data-l);position:absolute;top:-12px;left:6px;font-size:10px;color:#94A3B8;font-family:var(--rv7-mono);white-space:nowrap}
#diag-result .rv7-dim{display:flex;align-items:center;gap:16px;margin:14px 0}
#diag-result .rv7-dim .rv7-nm{width:108px;font-size:13px;font-weight:500;color:#475569;flex:none}
#diag-result .rv7-dim .rv7-nm em{font-style:normal;font-family:var(--rv7-mono);font-size:10px;color:#94A3B8;border:1px dashed #D8E0EC;border-radius:5px;padding:1px 5px;margin-left:5px;vertical-align:1px}
#diag-result .rv7-dim .rv7-track{flex:1;height:10px;background:var(--rv7-track);border-radius:99px;overflow:hidden}
#diag-result .rv7-dim .rv7-track i{display:block;height:100%;background:linear-gradient(90deg,#60A5FA,#2563EB);border-radius:99px;animation:rv7fill .9s cubic-bezier(.22,1,.36,1) both;transform-origin:left center}
@keyframes rv7fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
#diag-result .rv7-dim .rv7-slot{width:96px;flex:none;display:flex;align-items:center;justify-content:flex-end;gap:6px}
#diag-result .rv7-dim .rv7-v{font-family:var(--rv7-mono);font-size:22px;font-weight:800;color:#0F172A;font-variant-numeric:tabular-nums;line-height:1}
#diag-result .rv7-dim.weak .rv7-v{color:var(--rv7-amber)}
#diag-result .rv7-dim.weak .rv7-nm{color:var(--rv7-amber);font-weight:700}
#diag-result .rv7-dim .rv7-tag{font-family:var(--rv7-mono);font-size:10px;font-weight:700;color:var(--rv7-amber);background:var(--rv7-amber-ghost);border:1px solid rgba(180,83,9,.28);border-radius:5px;padding:2px 7px;white-space:nowrap}

/* ── 02 行业基准 ── */
#diag-result .rv7-ladder{position:relative;padding:28px 8px 20px}
#diag-result .rv7-ladder .grid{position:relative;height:72px}
#diag-result .rv7-ladder .gl{position:absolute;top:0;bottom:0;width:1px;background:var(--rv7-line)}
#diag-result .rv7-ladder .gl b{position:absolute;bottom:-22px;left:50%;transform:translateX(-50%);font-family:var(--rv7-mono);font-size:10px;color:#94A3B8;white-space:nowrap}
#diag-result .rv7-ladder .rail{position:absolute;top:50%;left:0;right:0;height:8px;background:var(--rv7-track);border-radius:99px;transform:translateY(-50%)}
#diag-result .rv7-ladder .rv7-mk{position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}
#diag-result .rv7-ladder .rv7-mk .rv7-dot{width:18px;height:18px;border-radius:50%;background:var(--rv7-blue);border:3px solid #fff;box-shadow:0 0 0 1.5px var(--rv7-blue);position:relative}
#diag-result .rv7-ladder .rv7-mk .rv7-cap{position:absolute;top:-30px;left:50%;transform:translateX(-50%);font-family:var(--rv7-mono);font-size:11px;font-weight:700;color:var(--rv7-blue);white-space:nowrap}
#diag-result .rv7-ladder .rv7-mk.avg .rv7-dot{background:#475569;box-shadow:0 0 0 1.5px #475569,0 0 0 6px rgba(71,85,105,.12)}
#diag-result .rv7-ladder .rv7-mk.avg .rv7-cap{top:26px;color:#475569}
#diag-result .rv7-ladder .rv7-mk.none .rv7-dot{background:#fff;box-shadow:0 0 0 1.5px #CBD5E1;border-style:dashed}
#diag-result .rv7-ladder .rv7-mk.none .rv7-cap{color:#94A3B8}
/* ma79.195：「你」蓝点涟漪动效——传达"继续往前推进"的动态感（仅你；均值/待接入不加） */
#diag-result .rv7-ladder .rv7-mk:not(.avg) .rv7-dot::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid rgba(37,99,235,.45);animation:rv7ripple 2.2s ease-out infinite;pointer-events:none}
@keyframes rv7ripple{0%{transform:scale(1);opacity:.75}75%{transform:scale(2);opacity:0}100%{transform:scale(2);opacity:0}}
@media (prefers-reduced-motion:reduce){#diag-result .rv7-ladder .rv7-mk .rv7-dot::after{animation:none;opacity:0}}
#diag-result .rv7-ladder .good{position:absolute;top:50%;transform:translate(-50%,-50%);width:2px;height:22px;background:var(--rv7-mid);border-radius:2px;z-index:1}
#diag-result .rv7-annot{display:flex;align-items:flex-start;gap:16px;margin-top:28px;padding:16px;border-radius:12px;background:var(--rv7-ghost);border:1px solid var(--rv7-bhair)}
#diag-result .rv7-annot .ar{font-family:var(--rv7-mono);font-size:22px;color:var(--rv7-blue);line-height:1;flex:none}
#diag-result .rv7-annot .tx{font-size:14px;color:#1E3A8A;line-height:1.75}
#diag-result .rv7-annot .tx b{font-weight:800}

/* ── 03 根因与方案 ── */
#diag-result .rv7-fix{display:flex;gap:40px;flex-wrap:wrap}
#diag-result .rv7-fix .col{flex:1;min-width:260px}
#diag-result .rv7-fix .cap{font-size:12px;font-weight:800;color:var(--rv7-blue);letter-spacing:1px;margin-bottom:16px;display:flex;align-items:center;gap:8px}
#diag-result .rv7-fix .cap::before{content:"";width:16px;height:2px;background:var(--rv7-blue);border-radius:2px;flex:none}
#diag-result .rv7-bigline{font-size:21px;font-weight:800;line-height:1.5;letter-spacing:-.3px;margin-bottom:12px;color:#0F172A}
#diag-result .rv7-bigline .hl{color:var(--rv7-amber);font-size:30px;font-weight:800;letter-spacing:-.5px;line-height:1;font-family:var(--rv7-mono)}
#diag-result .rv7-lack{display:inline-block;font-family:var(--rv7-mono);font-size:10px;font-weight:700;color:var(--rv7-amber);background:var(--rv7-amber-ghost);border:1px solid rgba(180,83,9,.28);border-radius:6px;padding:2px 7px;margin-left:6px;vertical-align:middle;letter-spacing:.3px}
#diag-result .rv7-badge{margin-left:auto;font-family:var(--rv7-mono);font-size:10px;font-weight:700;color:var(--rv7-amber);background:var(--rv7-amber-ghost);border:1px solid rgba(180,83,9,.28);border-radius:6px;padding:2px 8px;letter-spacing:.3px;white-space:nowrap}
#diag-result .rv7-sub{font-size:13px;color:#475569;line-height:1.75;margin-bottom:6px}
#diag-result .rv7-micro{font-family:var(--rv7-mono);font-size:11px;color:#94A3B8;letter-spacing:.3px}
/* 冲刺路径：左轨 0→目标线，右侧留 72px 放目标标签，三向不碰撞 */
#diag-result .rv7-sprint{position:relative;margin:8px 0 24px;height:60px}
#diag-result .rv7-sprint .rail{position:absolute;left:0;right:72px;top:32px;height:12px;transform:translateY(-50%);background:var(--rv7-track);border-radius:99px}
#diag-result .rv7-sprint .done{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#60A5FA,#2563EB);border-radius:99px;animation:rv7sprint 1.3s cubic-bezier(.22,1,.36,1) both;transform-origin:left center}
@keyframes rv7sprint{from{transform:scaleX(0)}to{transform:scaleX(1)}}
#diag-result .rv7-sprint .gap{position:absolute;top:0;bottom:0;border-radius:0 99px 99px 0;background:repeating-linear-gradient(45deg,rgba(37,99,235,.22) 0 6px,transparent 6px 12px)}
#diag-result .rv7-sprint .you{position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}
#diag-result .rv7-sprint .you .d{display:block;width:14px;height:14px;border-radius:50%;background:var(--rv7-blue);border:3px solid #fff;box-shadow:0 0 0 1.5px var(--rv7-blue)}
#diag-result .rv7-sprint .you .n{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);font-family:var(--rv7-mono);font-size:11px;font-weight:700;color:var(--rv7-blue);white-space:nowrap;line-height:1}
#diag-result .rv7-sprint .plus{position:absolute;top:14px;transform:translateX(-50%);font-family:var(--rv7-mono);font-size:11px;font-weight:700;color:var(--rv7-amber);white-space:nowrap;line-height:1;animation:rv7nudge 1.8s ease-in-out infinite}
@keyframes rv7nudge{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,3px)}}
#diag-result .rv7-sprint .goal{position:absolute;right:0;top:32px;transform:translateY(-50%);display:flex;align-items:center;gap:7px;white-space:nowrap}
#diag-result .rv7-sprint .goal svg{display:block;flex:none}
#diag-result .rv7-sprint .goal .n{font-family:var(--rv7-mono);font-size:11px;font-weight:700;color:#1E3A8A;line-height:1}
#diag-result .rv7-steps{display:flex;flex-direction:column;gap:16px;margin-top:8px}
#diag-result .rv7-step{display:flex;gap:16px;align-items:flex-start;position:relative}
#diag-result .rv7-step:not(:last-child)::after{content:"";position:absolute;left:15px;top:28px;bottom:-2px;width:1px;background:var(--rv7-bhair)}
#diag-result .rv7-step .n{width:28px;height:28px;border-radius:50%;background:var(--rv7-blue);color:#fff;font-family:var(--rv7-mono);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none;z-index:1}
#diag-result .rv7-step .tx{font-size:13px;color:#0F172A;line-height:1.55;padding-top:3px}
#diag-result .rv7-step .tx b{font-weight:700}
#diag-result .rv7-step .tx span{display:block;color:#94A3B8;font-family:var(--rv7-mono);font-size:11px;margin-top:3px}
#diag-result .rv7-goalnote{margin-top:24px;width:100%;font-size:13px;font-weight:700;color:#1E3A8A;background:var(--rv7-ghost);border:1px solid var(--rv7-bhair);border-radius:10px;padding:16px;line-height:1.65}

/* ── 深度检测报告入口 + 展开区 ── */
#diag-result .rv7-depth{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--rv7-bhair);border-radius:16px;padding:24px;margin-bottom:24px;cursor:pointer;transition:.15s;user-select:none}
#diag-result .rv7-depth:hover{border-color:var(--rv7-blue);box-shadow:0 4px 14px rgba(37,99,235,.10)}
#diag-result .rv7-depth .ic{width:44px;height:44px;border-radius:12px;background:var(--rv7-ghost);color:#1E3A8A;display:flex;align-items:center;justify-content:center;flex:none}
#diag-result .rv7-depth .rv7-t{font-size:15px;font-weight:800;color:#0F172A}
#diag-result .rv7-depth .rv7-d{font-size:12px;color:#475569;margin-top:3px;line-height:1.6}
#diag-result .rv7-depth .go{margin-left:auto;font-size:13px;font-weight:800;color:var(--rv7-blue);display:flex;align-items:center;gap:6px;flex:none}
#diag-result .rv7-depth .go .arr{transition:.15s}
#diag-result .rv7-depth:hover .go .arr{transform:translateX(3px)}
#diag-result .rv7-deep{display:none}
#diag-result .rv7-deep.open{display:block}
#diag-result .rv7-sec{margin-top:32px}
#diag-result .rv7-sec:first-child{margin-top:0}
#diag-result .rv7-drow{display:flex;gap:16px;align-items:baseline;margin:14px 0}
#diag-result .rv7-drow .rv7-nm{width:96px;font-size:13px;font-weight:700;color:#0F172A;flex:none}
#diag-result .rv7-drow .rv7-sc{width:40px;font-family:var(--rv7-mono);font-size:17px;font-weight:800;color:#1E3A8A;flex:none;text-align:right;font-variant-numeric:tabular-nums}
#diag-result .rv7-drow.weak .rv7-sc,#diag-result .rv7-drow.weak .rv7-nm{color:var(--rv7-amber)}
#diag-result .rv7-drow .rv7-dx{font-size:12px;color:#475569;line-height:1.75}
#diag-result .rv7-drow .rv7-dx em{font-style:normal;color:var(--rv7-blue)}
#diag-result .rv7-fstep{display:flex;align-items:center;gap:16px;margin-bottom:12px}
#diag-result .rv7-fstep .k{width:104px;font-size:13px;color:#475569;flex:none;white-space:nowrap}
/* ma79.195：灰底轨道——满宽即 100 分，分值条长短一眼可读出距满分差距 */
#diag-result .rv7-fstep .ftrack{flex:1;height:28px;background:#F1F5F9;border-radius:8px;position:relative;min-width:0}
#diag-result .rv7-fstep .bar{position:absolute;left:0;top:0;height:100%;border-radius:8px;background:linear-gradient(90deg,#60A5FA,#2563EB);min-width:64px}
#diag-result .rv7-fstep .bar .n{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#fff;font-family:var(--rv7-mono);font-size:12px;font-weight:700;line-height:1}
#diag-result .rv7-fnote{font-size:12px;color:#94A3B8;margin-top:12px}
#diag-result .rv7-srow{display:flex;gap:12px;align-items:center;margin:12px 0;font-size:13px;color:#0F172A}
#diag-result .rv7-srow .sn{flex:1}
#diag-result .rv7-pill{font-family:var(--rv7-mono);font-size:10px;padding:3px 10px;border-radius:99px;letter-spacing:.3px;flex:none;font-weight:700}
#diag-result .rv7-pill.ok{color:#1E3A8A;background:var(--rv7-ghost);border:1px solid var(--rv7-bhair)}
#diag-result .rv7-pill.no{color:#94A3B8;border:1px dashed var(--rv7-line)}
#diag-result .rv7-todo{display:flex;gap:12px;align-items:baseline;margin:12px 0;font-size:13px}
#diag-result .rv7-todo .box{width:14px;height:14px;border:1.5px solid var(--rv7-blue);border-radius:4px;flex:none;position:relative;top:2px}
#diag-result .rv7-todo .tx{flex:1;color:#0F172A;line-height:1.65}
#diag-result .rv7-todo .exp{margin-left:auto;font-family:var(--rv7-mono);font-size:11px;color:#94A3B8;flex:none}
/* 既有沉淀下沉区：统一节律，不再各自 16px 挤排 */
#diag-result .rv7-deep .crd{padding:20px 0 !important;margin:0 !important;border:none !important;border-radius:0 !important;box-shadow:none !important;background:transparent !important}
#diag-result .rv7-deep .crd h2{font-size:16px !important;margin-bottom:10px}

@media (max-width:860px){
  #diag-result .rv7-hero{flex-direction:column;align-items:flex-start;gap:24px}
  #diag-result .rv7-ring{align-self:center}
  #diag-result .rv7-card{padding:20px 18px;border-radius:14px}
  #diag-result .rv7-dim .rv7-nm{width:88px}
  #diag-result .rv7-dim .rv7-slot{width:84px}
}
@media (prefers-reduced-motion:reduce){
  #diag-result .rv7-dim .rv7-track i{animation:none}
  #diag-result .rv7-sprint .done{animation:none}
  #diag-result .rv7-sprint .plus{animation:none}
}

/* 下沉区（A3–A5）遗留卡 v7 卡片化：白底 + hairline + 14px 圆角，与主报告同一卡片语言 */
#diag-result .rv7-deep .crd{
  position:relative;background:#fff !important;border:1px solid var(--hair,var(--rv7-line)) !important;
  border-radius:14px !important;padding:18px 22px !important;margin:0 0 14px !important;box-shadow:none !important;
}
#diag-result .rv7-deep .crd:last-child{margin-bottom:0}
/* 角标根治：原 .crd>.mod-badge 是 absolute top:-11px 浮在卡上，harmonizer 去 border 后直接压住标题文字。
   改 static + mono 描边小标签，永不压字；彩色色块一律取消（v7：amber 只标最弱/不足，此处无此语义）。 */
#diag-result .rv7-deep .crd > .mod-badge{
  position:static !important;display:inline-flex;align-items:center;min-width:0;height:auto;
  padding:1px 8px;margin-bottom:6px;border-radius:5px;
  background:transparent !important;color:#94A3B8 !important;border:1px solid var(--hair,var(--rv7-line));
  box-shadow:none !important;font-family:var(--rv7-mono,"SF Mono",ui-monospace,Menlo,monospace);
  font-size:10px;font-weight:700;letter-spacing:1px;
}
#diag-result .rv7-deep .crd h2{
  border-bottom:none !important;color:#0F172A !important;margin:0 0 10px !important;padding-bottom:0 !important;
}
#diag-result .rv7-deep .crd h2 em,#diag-result .rv7-deep .crd h2 span[style]{color:#94A3B8 !important}
/* 装饰性渐变/杂色底归白（负面警示红 #FEF2F2 为真实状态语义，保留） */
#diag-result .rv7-deep [style*="linear-gradient"]{background-image:none !important;background-color:#fff !important}
#diag-result .rv7-deep [style*="#F8FAFC"],#diag-result .rv7-deep [style*="#EFF6FF"],
#diag-result .rv7-deep [style*="#F0F9FF"],#diag-result .rv7-deep [style*="#F5F3FF"],
#diag-result .rv7-deep [style*="#F0FDF4"],#diag-result .rv7-deep [style*="#FFFBEB"],
#diag-result .rv7-deep [style*="#EEF2FF"]{background-color:#fff !important;border-color:var(--hair,var(--rv7-line)) !important}
#diag-result .rv7-deep [style*="border-left:4px"]{border-left:3px solid var(--blue) !important;background:var(--blue-ghost) !important;border-radius:10px}

/* ══ ma79.188 · 「我的」页图标底色统一（根治"色块图底色都不同"）══ */
#panel-me .me-ic,#panel-me .me-ic.orange,#panel-me .me-ic.blue,#panel-me .me-ic.purple,
#panel-me .me-ic.red,#panel-me .me-ic.green,#panel-me .me-ic.gray,
.me-ic,.me-ic.orange,.me-ic.blue,.me-ic.purple,.me-ic.red,.me-ic.green,.me-ic.gray{
  background:var(--blue-ghost,rgba(37,99,235,.07)) !important;
  border:1px solid rgba(37,99,235,.14) !important;
  border-radius:10px !important;
  box-shadow:none !important;
  width:34px !important;height:34px !important;font-size:16px !important;flex:none;
}
/* 顶部积分胶囊：去 💎 后保持 mono 数字节律 */
.ub-capsule b{font-variant-numeric:tabular-nums;letter-spacing:.2px}

/* ══ ma79.189 · 「我的」me-ic 微信式改造：去底色块，单蓝线性图标即视觉 ══ */
#panel-me .me-ic,.me-ic{
  background:transparent !important;border:none !important;box-shadow:none !important;
  width:auto !important;height:auto !important;min-width:26px;flex:none;
  display:inline-flex;align-items:center;justify-content:center;
}
.me-ic svg{display:block}

/* ══ ma79.194 · 首页「更多选项」沿用上次链接（蓝主色，弱提示，非警告）══ */
.more-opts-fill{margin-top:10px}
.more-opts-fill a{
  display:inline-flex;align-items:center;gap:4px;cursor:pointer;
  font-size:13px;font-weight:600;color:#2563EB;
  padding:5px 12px;border-radius:8px;background:rgba(37,99,235,.07);
  border:1px solid rgba(37,99,235,.22);text-decoration:none;user-select:none;
}
.more-opts-fill a:hover{background:rgba(37,99,235,.12)}
.more-opts-fill a:focus{outline:2px solid rgba(37,99,235,.35);outline-offset:2px}
