
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;background:#f7f8fa;color:#1a1d24;line-height:1.65;font-size:15px}
a{color:#2563eb;text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:920px;margin:0 auto;padding:0 20px}
.banner{background:#fff7ed;border-bottom:1px solid #fed7aa;color:#9a3412;font-size:12.5px;padding:8px 0;text-align:center}
header{background:#fff;border-bottom:1px solid #e5e7eb;padding:13px 0;position:sticky;top:0;z-index:10}
header .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.logo{font-weight:700;font-size:16px;color:#111;letter-spacing:-.2px}
.logo b{color:#2563eb}.logo i{font-style:normal;font-weight:400;color:#6b7280;font-size:14px}
nav a{color:#4b5563;font-size:14px;margin-left:16px;white-space:nowrap}nav a:hover{color:#2563eb}
main{padding:34px 0 60px}
h1{font-size:26px;font-weight:700;letter-spacing:-.4px;margin-bottom:10px}
h2{font-size:19px;font-weight:650;margin:30px 0 12px}
h3{font-size:15.5px;font-weight:650;margin:20px 0 8px}
.lead{color:#6b7280;font-size:15px;margin-bottom:22px}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:20px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;font-size:14px;margin:10px 0;min-width:520px}
th,td{padding:10px 12px;text-align:left;border-bottom:1px solid #eef0f3;white-space:nowrap}
th{background:#fafbfc;font-weight:600;color:#374151;font-size:13px}
td.num,th.num{text-align:right;font-family:'SF Mono',Consolas,'Liberation Mono',monospace;font-size:13.5px}
tr:last-child td{border-bottom:none}
.btn{display:inline-block;background:#2563eb;color:#fff;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;border:none;cursor:pointer}
.btn:hover{background:#1d4ed8;text-decoration:none}
.scenes{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.scene{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:7px 13px;font-size:13px;color:#4b5563;cursor:pointer;font-family:inherit}
.scene:hover{border-color:#2563eb;color:#2563eb}
.scene.on{background:#eff6ff;border-color:#2563eb;color:#1d4ed8;font-weight:600}
label{display:block;font-size:13px;color:#4b5563;margin-bottom:5px;font-weight:500}
input,select{width:100%;padding:9px 11px;border:1px solid #d1d5db;border-radius:7px;font-size:14px;font-family:'SF Mono',Consolas,'Liberation Mono',monospace}
input:focus,select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:14px}
.result{background:#f0f7ff;border:1px solid #bfdbfe;border-radius:10px;padding:18px;margin-top:16px}
.result .big{font-size:31px;font-weight:700;color:#1d4ed8;font-family:'SF Mono',Consolas,'Liberation Mono',monospace}
.result .sub{font-size:13px;color:#4b5563;margin-top:4px}
.tag{display:inline-block;font-size:11.5px;padding:2px 8px;border-radius:999px;font-weight:600}
.tag-peak{background:#fee2e2;color:#991b1b}.tag-off{background:#dcfce7;color:#166534}
.updated{display:inline-flex;align-items:center;gap:6px;background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;font-size:12.5px;padding:5px 11px;border-radius:999px;font-weight:500}
.kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:16px 0}
.kpi .card{padding:16px}
.kpi .k{font-size:12.5px;color:#6b7280;margin-bottom:2px}
.kpi .v{font-size:23px;font-weight:700;font-family:'SF Mono',Consolas,'Liberation Mono',monospace}
footer{margin-top:50px;padding:26px 0;border-top:1px solid #e5e7eb;color:#9ca3af;font-size:12.5px;text-align:center}
footer a{color:#6b7280}
.muted{color:#9ca3af;font-size:12.5px}
.note{background:#fffbeb;border-left:3px solid #f59e0b;padding:11px 14px;font-size:13px;color:#78350f;border-radius:0 6px 6px 0;margin:14px 0}
.tool-link{display:block;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px;transition:border-color .15s}
.tool-link:hover{border-color:#2563eb;text-decoration:none}
.tool-link .t{font-weight:650;font-size:15px;color:#111;margin-bottom:4px}
.tool-link .d{font-size:13px;color:#6b7280}
.crumb{font-size:12.5px;color:#9ca3af;margin-bottom:14px}
.crumb a{color:#9ca3af}
@media(max-width:640px){h1{font-size:22px}nav a{margin-left:10px;font-size:13px}.logo{font-size:14.5px}.logo i{font-size:12.5px}}

/* 2026-11-04 提示詞頁樣式 */
pre.code{background:#0f172a;color:#e2e8f0;padding:16px 18px;border-radius:10px;overflow-x:auto;
  font-family:'SF Mono',Consolas,'Liberation Mono',monospace;font-size:13px;line-height:1.7;
  white-space:pre-wrap;word-break:break-word;margin:10px 0}
ul.pts{margin:8px 0 4px 0;padding-left:22px}
ul.pts li{margin-bottom:8px;font-size:14.5px;line-height:1.75}
code{background:#f1f5f9;padding:1px 5px;border-radius:4px;font-size:13px;
  font-family:'SF Mono',Consolas,monospace;color:#1e3a8a}

/* ── 首页增强区块 ── */
.hero { padding: 28px 0 20px; }
.hero h1 { font-size: 30px; margin: 0 0 10px; line-height: 1.25; }
.hero .lead { font-size: 16px; color: #4a5568; max-width: 720px; margin: 0 0 20px; }
.search-box { max-width: 560px; }
.search-box input { width: 100%; padding: 12px 16px; font-size: 15px;
  border: 1px solid #d8dce2; border-radius: 10px; font-family: inherit; outline: none; }
.search-box input:focus { border-color: #1a5fb4; box-shadow: 0 0 0 3px rgba(26,95,180,.1); }

.statbar { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 8px;
  padding: 16px 0; border-top: 1px solid #eef1f5; border-bottom: 1px solid #eef1f5; }
.stat { flex: 1 1 130px; }
.stat b { display: block; font-size: 22px; color: #1a5fb4; letter-spacing: -.5px; }
.stat span { font-size: 12px; color: #6b7280; }

.eco-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 12px; margin: 14px 0 8px; }
.eco-card { border: 1px solid #e5e9f0; border-radius: 10px; padding: 13px 14px;
  background: #fff; transition: border-color .15s; }
.eco-card:hover { border-color: #1a5fb4; }
.eco-head { font-weight: 600; font-size: 14px; margin-bottom: 6px; word-break: break-all; }
.eco-head a { color: #1a2b45; text-decoration: none; }
.eco-head a:hover { color: #1a5fb4; }
.eco-meta { display: flex; gap: 8px; align-items: center; font-size: 12px; margin-bottom: 6px; }
.eco-meta .badge { background: #eef4fd; color: #1a5fb4; padding: 1px 7px;
  border-radius: 4px; font-size: 11px; }
.eco-desc { font-size: 13px; color: #5a6676; line-height: 1.5; }

.judge { background:#fff8e6; border-left:3px solid #f0a500; padding:7px 10px;
  margin:5px 0; font-size:12.5px; color:#7a5b00; line-height:1.5; border-radius:0 4px 4px 0; }
.judge b { color:#b37800; margin-right:4px; font-weight:600; }

.prob { background:#fdf2f2; border-left:3px solid #c0392b; padding:6px 9px;
  margin:5px 0; font-size:12px; color:#7b2d26; line-height:1.5; border-radius:0 4px 4px 0; }
.prob b { color:#c0392b; margin-right:4px; }
.prob a { color:#7b2d26; text-decoration:underline; }

.chartbox { background:#fff; border:1px solid #e5e9f0; border-radius:10px;
  padding:14px 10px 6px; margin:16px 0; overflow:hidden; }
.livebox { background:#0e1626; color:#fff; border-radius:10px; padding:22px;
  text-align:center; margin:18px 0; }
.livetitle { font-size:13px; color:#8b95a5; margin-bottom:6px; }
.livenum { font-size:40px; font-weight:700; font-variant-numeric:tabular-nums;
  color:#4ec9b0; letter-spacing:-1px; }
.livesub { font-size:12px; color:#6b7688; margin-top:6px; }
@media (max-width:600px){ .livenum { font-size:26px; } }

.minichart { background:#fff; border:1px solid #e5e9f0; border-radius:10px;
  padding:14px 16px 10px; margin:18px 0; max-width:560px; }
.mc-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.mc-label { font-size:12px; color:#6b7280; }
.mc-value { font-size:22px; font-weight:700; color:#0e1626; margin-top:2px;
  font-variant-numeric:tabular-nums; }
.mc-delta { font-size:14px; color:#16a34a; font-weight:600; margin-left:6px; }
.mc-link { font-size:12px; color:#1a5fb4; white-space:nowrap; text-decoration:none; }
.mc-link:hover { text-decoration:underline; }
.mc-foot { font-size:11px; color:#9aa4b2; margin-top:4px; }
@media (max-width:520px){ .mc-value { font-size:18px; } }

.conf { display:inline-block; padding:1px 7px; border-radius:10px;
  font-size:11px; font-weight:600; white-space:nowrap; }
.conf-high { background:#dcfce7; color:#15803d; }
.conf-medium-high { background:#dbeafe; color:#1d4ed8; }
.conf-medium { background:#fef3c7; color:#b45309; }
.conf-low { background:#fee2e2; color:#b91c1c; }
.conf-lowest { background:#f3e8ff; color:#7e22ce; }

table.cmp td { vertical-align: top; }
table.cmp .ds-col { background:#eff6ff; font-weight:600; }
.muted.small { font-size:12px; }

.verdict { display:inline-block; padding:2px 8px; border-radius:10px; font-size:12px;
  font-weight:600; background:#fef3c7; color:#b45309; }

.verdict-pass { display:inline-block; padding:1px 8px; border-radius:10px; font-size:11px;
  font-weight:600; background:#dcfce7; color:#15803d; }
.verdict-fail { display:inline-block; padding:1px 8px; border-radius:10px; font-size:11px;
  font-weight:600; background:#fee2e2; color:#b91c1c; }
.verdict-warn { display:inline-block; padding:1px 8px; border-radius:10px; font-size:11px;
  font-weight:600; background:#fef3c7; color:#b45309; }

/* 一键安装按钮 */
.instbtn { display:inline-block; margin-left:8px; padding:2px 10px; font-size:12px;
  border:1px solid #1a5fb4; border-radius:12px; background:#fff; color:#1a5fb4;
  cursor:pointer; white-space:nowrap; font-family:inherit; }
.instbtn:hover { background:#1a5fb4; color:#fff; }
.instbtn.copied { background:#16a34a; border-color:#16a34a; color:#fff; }
.instcmd { font-size:11px; color:#8b95a5; }

.ptest { background:linear-gradient(135deg,#0e1626 0%,#1a2740 100%); color:#fff;
  border-radius:12px; padding:22px 24px; margin:22px 0; position:relative; }
.ptest-badge { position:absolute; top:18px; right:22px; background:#16a34a; color:#fff;
  font-size:11px; font-weight:700; padding:3px 10px; border-radius:10px; letter-spacing:.5px; }
.ptest h2 { color:#fff; margin:0 0 10px; font-size:19px; line-height:1.35; padding-right:60px; }
.ptest p { color:#b8c4d4; font-size:14px; line-height:1.65; margin:0 0 4px; }
.ptest-stats { display:flex; gap:26px; margin:16px 0 8px; flex-wrap:wrap; }
.ptest-stats div { display:flex; flex-direction:column; }
.ptest-stats b { font-size:24px; color:#4ec9b0; font-variant-numeric:tabular-nums; }
.ptest-stats span { font-size:11px; color:#8b95a5; margin-top:2px; }
.ptest-cta a { color:#4ec9b0; font-weight:600; text-decoration:none; font-size:14px; }
.ptest-cta a:hover { text-decoration:underline; }
@media (max-width:600px){ .ptest h2 { font-size:16px; } .ptest-stats b { font-size:19px; } }

.ours-wrap { background:#f8fafc; border:1px solid #dbe3ee; border-radius:12px;
  padding:18px 20px; margin:18px 0 26px; }
.ours-wrap h2 { margin-top:0; }
.ours { padding:12px 0; border-top:1px solid #e5e9f0; }
.ours:first-of-type { border-top:0; padding-top:4px; }
.ours-head { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.ours-name { font-size:17px; font-weight:700; color:#0e1626; text-decoration:none; }
.ours-name:hover { text-decoration:underline; }
.ours-badge { font-size:11px; background:#dcfce7; color:#15803d; padding:2px 9px;
  border-radius:10px; font-weight:600; }
.ours-desc { color:#4b5563; font-size:14px; line-height:1.6; margin:6px 0 10px; }
.ours-cmd { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.ours-cmd code { background:#0e1626; color:#d6e0ee; padding:6px 10px; border-radius:6px;
  font-size:12.5px; }
.ours-links { margin-top:8px; font-size:13px; }
.ours-links a { color:#1a5fb4; text-decoration:none; }
.ours-links a:hover { text-decoration:underline; }

.start-funnel { display:flex; gap:14px; flex-wrap:wrap; margin:20px 0; }
.start-funnel a { flex:1 1 180px; background:#f8fafc; border:1px solid #dbe3ee;
  border-radius:10px; padding:14px 16px; text-decoration:none; color:#0e1626; }
.start-funnel a:hover { border-color:#1a5fb4; background:#eff6ff; }
.start-funnel b { display:block; font-size:15px; margin-bottom:4px; }
.start-funnel span { font-size:12px; color:#6b7280; }

table.bench td.ds, table.bench th.ds { background:#eff6ff; }
table.bench th.ds { font-weight:700; }
.ds-legend { background:#eff6ff; padding:1px 6px; border-radius:4px; }
table.bench td { font-variant-numeric:tabular-nums; }

.gone { display:inline-block; padding:1px 7px; border-radius:10px; font-size:11px;
  font-weight:600; background:#fee2e2; color:#b91c1c; margin-right:4px; }
.notbundle { display:inline-block; padding:1px 7px; border-radius:10px; font-size:11px;
  font-weight:600; background:#f3f4f6; color:#6b7280; margin-right:4px; }

.evlist { list-style:none; padding:0; margin:0 0 8px; }
.ev { display:flex; gap:10px; align-items:flex-start; padding:9px 0;
  border-bottom:1px solid #eef2f7; }
.ev:last-child { border-bottom:none; }
.evdate { flex:0 0 44px; font-size:12px; color:#94a3b8;
  font-variant-numeric:tabular-nums; padding-top:2px; }
.evbadge { flex:0 0 auto; display:inline-block; padding:1px 7px; border-radius:10px;
  font-size:11px; font-weight:600; color:#fff; margin-right:8px; }
.evbody { flex:1 1 auto; min-width:0; }
.evtitle { font-weight:600; font-size:14px; line-height:1.45; }
.evnote { font-size:13px; color:#475569; line-height:1.6; margin-top:3px; }
.evsrc { font-size:11px; color:#94a3b8; display:block; margin-top:3px; }
.evlegend { display:inline-block; margin-right:16px; font-size:12px; color:#475569; }
.evlegend i { display:inline-block; width:10px; height:10px; border-radius:3px;
  margin-right:5px; vertical-align:middle; }
.legend { margin:10px 0 20px; }

.std-nav { background:#f8fafc; border:1px solid #dbe3ee; border-radius:8px;
  padding:10px 14px; margin:0 0 20px; font-size:13px; color:#475569; }
.std-nav a { color:#2563eb; text-decoration:none; }
.std-nav a:hover { text-decoration:underline; }
.std-nav b { color:#0e1626; font-weight:700; }

.std-meta { display:flex; flex-wrap:wrap; gap:18px; background:#0e1626; color:#cbd5e1;
  border-radius:8px; padding:12px 16px; margin:0 0 20px; font-size:12.5px;
  font-variant-numeric:tabular-nums; }
.std-meta b { color:#8b95a5; font-weight:600; margin-right:5px; }
.std-meta .stdno { color:#fff; font-weight:700; font-size:13.5px; }


/* ── 2026-11-06 手机端导航折叠 + PWA ── */
.navtog { display:none; background:#fff; border:1px solid #d1d5db; border-radius:7px;
  padding:6px 11px; font-size:17px; line-height:1; cursor:pointer; color:#374151;
  font-family:inherit; }
.navtog:active { background:#f3f4f6; }
@media(max-width:860px){
  header .wrap { flex-wrap:nowrap; position:relative; }
  .navtog { display:block; margin-left:auto; }
  header nav { display:none; position:absolute; top:calc(100% + 12px); left:-20px;
    right:-20px; background:#fff; border-top:1px solid #e5e7eb;
    border-bottom:1px solid #e5e7eb; box-shadow:0 10px 24px rgba(0,0,0,.10);
    padding:6px 20px 14px; max-height:72vh; overflow-y:auto;
    -webkit-overflow-scrolling:touch; z-index:30; }
  header nav.open { display:block; }
  header nav a { display:block; margin:0; padding:11px 2px; font-size:15px;
    border-bottom:1px solid #f3f4f6; white-space:normal; }
  header nav a:last-child { border-bottom:none; }
}
/* 表格在手机上可横向滑动（已有 .tscroll，这里兜底） */
@media(max-width:640px){
  .wrap { padding:0 16px; }
  header { padding:10px 0; }
  main { padding:24px 0 48px; }
  h1 { font-size:21px; }
  h2 { font-size:17px; margin:24px 0 10px; }
  .lead { font-size:14px; }
  .kpi .v { font-size:20px; }
  .hero h1 { font-size:24px; }
  table { font-size:13px; }
  th, td { padding:8px 10px; }
  pre.code { font-size:12px; padding:13px 14px; }
}

/* ── 2026-11-06 语言切换按钮 ── */
.langtog { background:#f1f5f9; border:1px solid #d1d5db; border-radius:7px;
  padding:6px 11px; font-size:13px; font-weight:600; cursor:pointer;
  color:#374151; font-family:inherit; line-height:1.25; margin-left:auto;
  margin-right:8px; white-space:nowrap; }
.langtog:hover { background:#e2e8f0; border-color:#9ca3af; }
.langtog:active { background:#cbd5e1; }
@media(min-width:861px){
  .langtog { margin-left:16px; }
}
@media(max-width:860px){
  .langtog { margin-left:auto; }
  .navtog { margin-left:0; }
}

/* ── 2026-11-06 自助测试提交表单 ── */
.sf { background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:18px;
  max-width:560px; }
.sf label { margin-top:12px; }
.sf label:first-of-type { margin-top:0; }
.sf input, .sf select { margin-bottom:2px; }
.sf button { margin-top:16px; width:100%; }
.sfmsg { padding:12px 14px; border-radius:8px; margin-top:14px; font-size:13.5px;
  max-width:560px; line-height:1.6; }
.sfmsg.ok { background:#f0fdf4; border:1px solid #bbf7d0; color:#166534; }
.sfmsg.err { background:#fef2f2; border:1px solid #fecaca; color:#991b1b; }

/* ── 2026-11-06 站内搜索 ── */
.sp { max-width: 760px; }
.sp-in { width:100%; padding:14px 18px; font-size:16px; border:1px solid #d1d5db;
  border-radius:10px; font-family:inherit; }
.sp-in:focus { outline:none; border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.12); }
.chips { display:flex; flex-wrap:wrap; gap:6px; margin:14px 0 4px; }
.chip { background:#f1f5f9; border:1px solid #e2e8f0; border-radius:999px;
  padding:5px 12px; font-size:12.5px; color:#475569; cursor:pointer; font-family:inherit; }
.chip:hover { border-color:#94a3b8; }
.chip.on { background:#2563eb; border-color:#2563eb; color:#fff; font-weight:600; }
.sp-hint { font-size:12.5px; color:#6b7280; margin:12px 0 10px; }
.srlist { border-top:1px solid #eef0f3; }
.sritem { padding:13px 2px; border-bottom:1px solid #eef0f3; }
.srname { font-size:15px; font-weight:650; color:#0e1626; word-break:break-all; }
.srname a { color:#0e1626; }
.srname a:hover { color:#2563eb; }
.scat { font-size:11px; font-weight:600; color:#6b7280; background:#f1f5f9;
  border-radius:4px; padding:2px 7px; margin-left:6px; vertical-align:1px; }
.sb { font-size:11px; font-weight:600; border-radius:4px; padding:2px 7px; margin-left:4px; }
.sb-pass { background:#dcfce7; color:#166534; }
.sb-fail { background:#fee2e2; color:#991b1b; }
.srdesc { font-size:13px; color:#4b5563; margin-top:4px; line-height:1.55; }
.srdesc mark, .srname mark { background:#fef08a; color:inherit; padding:0 1px; border-radius:2px; }
.srmeta { font-size:11.5px; color:#9aa4b2; margin-top:5px;
  font-variant-numeric:tabular-nums; }
@media (max-width:640px){
  .sp-in { font-size:15px; padding:12px 15px; }
  .sritem { padding:11px 2px; }
  .srname { font-size:14px; }
}

/* ── 2026-11-06 语言切换：两个并排 ── */
.langswitch { display:inline-flex; align-items:stretch; border:1px solid #d1d5db;
  border-radius:7px; overflow:hidden; background:#fff; margin-left:auto;
  margin-right:8px; }
.ls-on, .ls-off { padding:6px 11px; font-size:13px; line-height:1.25;
  text-decoration:none; white-space:nowrap; }
.ls-on { background:#eef2f7; color:#0e1626; font-weight:700; cursor:default; }
.ls-off { color:#4b5563; }
.ls-off:hover { background:#f8fafc; color:#2563eb; text-decoration:none; }
@media(min-width:861px){ .langswitch { margin-left:16px; } }
@media(max-width:860px){ .langswitch { margin-left:auto; } .navtog { margin-left:0; } }

/* ── 2026-11-06 自助测试实时状态 ── */
.lv { font-size:11.5px; font-weight:600; border-radius:4px; padding:2px 8px; }
.lv-pass { background:#dcfce7; color:#166534; }
.lv-fail { background:#fee2e2; color:#991b1b; }
.lv-warn { background:#fef3c7; color:#92400e; }
.lv-muted { background:#f1f5f9; color:#64748b; }

/* ── 2026-11-06 首页多图仪表盘 ── */
.mcgrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px;
  margin:18px 0; }
.mcgrid .minichart { margin:0; max-width:none; }
@media(max-width:760px){ .mcgrid { grid-template-columns:1fr; } }

/* ── 2026-11-07 首页热门插件 ── */
.hotp { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:10px; margin:12px 0 6px; }
.hpc { display:block; background:#fff; border:1px solid #e5e7eb; border-radius:9px;
  padding:11px 13px; transition:border-color .15s; text-decoration:none; }
.hpc:hover { border-color:#2563eb; text-decoration:none; }
.hpn { font-size:13.5px; font-weight:700; color:#0e1626; word-break:break-all;
  line-height:1.35; }
.hpv { font-size:10.5px; font-weight:700; border-radius:4px; padding:1px 6px;
  margin-left:4px; vertical-align:1px; }
.hpv-pass { background:#dcfce7; color:#166534; }
.hpv-fail { background:#fee2e2; color:#991b1b; }
.hpd { font-size:11.5px; color:#94a3b8; margin-top:2px; }
.hpm { font-size:11.5px; color:#6b7280; margin-top:5px;
  font-variant-numeric:tabular-nums; }
