:root{
  --bg:#F7F7F5;--surface:#FFF;--surface2:#F1EFE8;--text:#2C2C2A;--muted:#5F5E5A;--hint:#888780;
  --border:#E6E4DD;--accent:#185FA5;--accent-soft:#E6F1FB;--good:#0F6E56;--warn:#BA7517;--bad:#A32D2D;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#1B1A18;--surface:#242320;--surface2:#2E2C28;--text:#E9E7E1;--muted:#B4B2A9;--hint:#8A8880;
    --border:#3A3833;--accent:#85B7EB;--accent-soft:#1D2A38;--good:#6FD3AE;--warn:#EFB057;--bad:#F09797;
  }
  .gate-badge.hi{color:#9FE1CB;background:#0E2A22;border-color:#1D5A47}
  .gate-badge.mid{color:#FAC775;background:#33270F;border-color:#6B4E14}
  .gate-badge.lo{color:#F7C1C1;background:#331717;border-color:#6B2A2A}
  .fresh.ok{color:#9FE1CB;background:#0E2A22;border-color:#1D5A47}
  .fresh.warn{color:#FAC775;background:#33270F;border-color:#6B4E14}
  .fresh.bad{color:#F7C1C1;background:#331717;border-color:#6B2A2A}
  .skip-link:focus{background:#242320;color:#E9E7E1}
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  font-size:14px;line-height:1.6}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-999px;top:8px;z-index:100;background:#FFF;color:#185FA5;border:1px solid #185FA5;
  border-radius:8px;padding:8px 14px;font-size:13px}
.skip-link:focus{left:16px}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wrap{max-width:1080px;margin:0 auto;padding:28px 24px 64px}
.sitenav{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--hint);margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.sitenav a{color:var(--hint)}
.sitenav a[aria-current="page"]{color:var(--accent);font-weight:600}
.topnav{font-size:12px;color:var(--hint);margin-bottom:14px}
.topnav a{color:var(--hint)}
header h1{font-size:22px;font-weight:600;margin:0 0 6px;letter-spacing:.3px}
header p{margin:0;color:var(--muted);font-size:13px}
.stats{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 24px}
.chip{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:5px 12px;font-size:12px;color:var(--muted)}
.chip b{color:var(--text);font-weight:600}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
.toolbar input,.toolbar select{background:var(--surface);border:1px solid var(--border);border-radius:8px;
  padding:8px 12px;font-size:13px;color:var(--text);outline:none;font-family:inherit}
.toolbar input[type=search]{flex:1;min-width:180px}
.toolbar input:focus,.toolbar select:focus{border-color:var(--accent)}
.toolbar label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.toolbar label input[type=checkbox]{accent-color:var(--accent)}
.resultcount{font-size:12px;color:var(--hint);margin:-6px 0 12px}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);
  border-radius:12px;overflow:hidden}
thead th{text-align:left;font-size:12px;font-weight:600;color:var(--muted);padding:10px 12px;
  border-bottom:1px solid var(--border);background:var(--surface2);white-space:nowrap}
tbody td{padding:12px;border-bottom:1px solid var(--border);vertical-align:middle}
tbody tr.row{cursor:pointer}
tbody tr.row:hover{background:var(--surface2)}
tbody tr.row:focus{outline:2px solid var(--accent);outline-offset:-2px}
tfoot td{padding:10px 12px;color:var(--hint);font-size:12px;text-align:center}
.id{color:var(--hint);font-size:12px;font-variant-numeric:tabular-nums}
.rname{font-weight:600}
.rrepo{color:var(--hint);font-size:12px;font-family:ui-monospace,Consolas,monospace;word-break:break-all}
.tags{display:flex;gap:6px;flex-wrap:wrap}
.tag{background:var(--accent-soft);color:var(--accent);border-radius:6px;padding:2px 8px;font-size:11px;white-space:nowrap}
.num{font-variant-numeric:tabular-nums}
.score{font-weight:600}
.hi{color:var(--good)}.mid{color:var(--warn)}.lo{color:var(--bad)}
.gate-badge{display:inline-block;min-width:30px;text-align:center;border-radius:5px;padding:1px 6px;font-size:11px;font-weight:600;border:1px solid transparent;white-space:nowrap}
.gate-badge.hi{color:#085041;background:#E1F5EE;border-color:#9FE1CB}
.gate-badge.mid{color:#633806;background:#FAEEDA;border-color:#FAC775}
.gate-badge.lo{color:#791F1F;background:#FCEBEB;border-color:#F7C1C1}
.re-note{display:inline-block;font-size:10px;color:var(--warn);border:1px solid var(--warn);
  border-radius:4px;padding:0 4px;margin-left:4px;vertical-align:1px}
.fresh{display:inline-block;font-size:10px;border-radius:4px;padding:0 5px;margin-left:6px;vertical-align:1px;border:1px solid transparent;white-space:nowrap}
.fresh.ok{color:#085041;background:#E1F5EE;border-color:#9FE1CB}
.fresh.warn{color:#633806;background:#FAEEDA;border-color:#FAC775}
.fresh.bad{color:#791F1F;background:#FCEBEB;border-color:#F7C1C1}
.cmp-check{accent-color:var(--accent);width:15px;height:15px;cursor:pointer}
footer{margin-top:28px;color:var(--hint);font-size:12px;text-align:center;line-height:1.9}
footer a{color:var(--hint);text-decoration:underline}
.empty{text-align:center;color:var(--hint);padding:32px}
.card-head{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px 22px;margin-bottom:18px}
.card-head h1{font-size:20px;margin:0 0 4px}
.card-head .sub{color:var(--muted);font-size:13px;margin-bottom:12px}
.bars{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 24px;margin:14px 0}
.bar-row{display:grid;grid-template-columns:84px 1fr 24px;align-items:center;gap:10px;font-size:12px;height:18px}
.bar-row .lbl{color:var(--muted)}
.bar{height:6px;background:var(--surface2);border-radius:3px;overflow:hidden}
.bar span{display:block;height:100%;border-radius:3px}
.bar-row .val{text-align:right;color:var(--text);font-variant-numeric:tabular-nums}
.verdict{background:var(--bg);border:1px solid var(--border);border-left:3px solid var(--accent);
  border-radius:8px;padding:10px 14px;margin-bottom:14px;font-size:13px}
.meta-line{font-size:12px;color:var(--muted);display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.meta-line a{color:var(--accent)}
.btn-copy{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:4px 10px;
  font-size:12px;color:var(--muted);cursor:pointer;font-family:inherit}
.btn-copy:hover{border-color:var(--accent);color:var(--accent)}
.toc{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 20px;margin-bottom:18px}
.toc h2{font-size:13px;margin:0 0 8px;color:var(--muted);font-weight:600}
.toc ol{margin:0;padding-left:20px;font-size:13px}
.toc li{margin:4px 0}
.md{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:8px 24px 24px}
.md h1{font-size:19px;margin:22px 0 10px}
.md h2{font-size:16px;margin:26px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border);scroll-margin-top:16px}
.md h3{font-size:14px;margin:20px 0 8px;scroll-margin-top:16px}
.md h4{font-size:13px;margin:16px 0 6px;color:var(--muted)}
.md p{margin:10px 0}
.md ul,.md ol{margin:10px 0;padding-left:22px}
.md li{margin:5px 0}
.md code{background:var(--surface2);border-radius:4px;padding:1px 6px;font-size:12px;font-family:ui-monospace,Consolas,monospace}
.md blockquote{margin:14px 0;padding:10px 16px;background:var(--bg);border-left:3px solid var(--hint);
  border-radius:6px;color:var(--muted)}
.md hr{border:none;border-top:1px solid var(--border);margin:22px 0}
.md pre{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:12px 14px;overflow-x:auto;margin:14px 0}
.md pre code{background:none;padding:0;font-size:12px;line-height:1.5}
.md .tbl-wrap{overflow-x:auto;margin:14px 0}
.md table{font-size:13px}
.md thead th{background:var(--surface2);padding:8px 10px}
.md tbody td{padding:8px 10px;border-bottom:1px solid var(--border)}
.pager{display:flex;justify-content:space-between;gap:12px;margin-top:20px;font-size:13px}
.related{margin-top:24px}
.related h3{font-size:14px;margin:0 0 10px;color:var(--muted);font-weight:600}
.rel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.rel-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;display:block}
.rel-card:hover{border-color:var(--accent);text-decoration:none}
.rel-card .rn{font-weight:600;font-size:13px;color:var(--text)}
.rel-card .rr{font-size:11px;color:var(--hint);font-family:ui-monospace,Consolas,monospace}
.rel-card .rv{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.5}
.rel-card .rm{font-size:11px;color:var(--hint);margin-top:6px}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin:0 0 16px}
.legend b{color:var(--text)}
#toTop{position:fixed;right:20px;bottom:20px;width:40px;height:40px;border-radius:50%;
  background:var(--surface);border:1px solid var(--border);color:var(--muted);font-size:16px;
  cursor:pointer;display:none;box-shadow:0 2px 10px rgba(0,0,0,.08);line-height:1;z-index:40}
#toTop:hover{border-color:var(--accent);color:var(--accent)}
.cmpbar{position:fixed;left:50%;transform:translateX(-50%);bottom:16px;background:var(--surface);
  border:1px solid var(--border);border-radius:999px;padding:8px 10px 8px 18px;display:none;
  align-items:center;gap:12px;font-size:13px;box-shadow:0 4px 18px rgba(0,0,0,.12);z-index:50}
.cmpbar b{color:var(--text)}
.cmpbar .clr{background:none;border:none;color:var(--hint);cursor:pointer;font-size:12px;font-family:inherit}
.cmpgrid{display:grid;gap:10px}
.cmp-pick{display:flex;flex-wrap:wrap;gap:8px 14px;margin-bottom:16px}
.cmp-pick label{display:flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:8px;
  padding:6px 10px;font-size:12px;background:var(--surface);cursor:pointer}
.cmp-pick input{accent-color:var(--accent)}
.cmp-table td:first-child{color:var(--muted);white-space:nowrap}
.cmp-win{color:var(--good);font-weight:700}
@media (max-width:1080px){ .wrap{padding:24px 18px 56px} }
@media (max-width:720px){
  .wrap{padding:20px 14px 48px}
  th.hide-sm,td.hide-sm{display:none}
  .md{padding:4px 16px 18px}
  .sitenav{gap:4px 10px}
  .tbl-wrap table{min-width:460px}
}
@media (max-width:560px){
  thead th,tbody td{padding:9px 8px}
  .cmp-pick{gap:6px}
  #toTop{right:12px;bottom:12px}
  .hide-xs{display:none}
  .tbl-wrap table{min-width:340px}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
}