body { font-family: -apple-system, BlinkMacSystemFont, sans-serif;
       margin: 2em; color: #1a1a1a; }
h1 { margin: 0 0 0.25em; }
h2 { margin: 0 0 0.5em; font-size: 1.1em;
     font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
a { color: #0366d6; text-decoration: none; }
a:hover { text-decoration: underline; }
.summary { font-size: 1.1em; margin-bottom: 1.5em; }
.back { margin-bottom: 1em; font-size: 0.9em; }
table { border-collapse: collapse; width: 100%; }
th, td { padding: 4px 10px; border-bottom: 1px solid #eee; text-align: left;
         vertical-align: top; }
th { background: #f4f4f6; }
tr.high   td { background: #e6ffec; }
tr.medium td { background: #fff7d6; }
tr.low    td { background: #ffe6e6; }
.pct { font-weight: bold; text-align: right; }
pre.source {
  background: #fafafa; border: 1px solid #ddd; padding: 0; margin: 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 12px; line-height: 1.3;
  overflow-x: auto;
}
.src-line {
  display: block;
  padding: 0 8px;
  white-space: pre;
  line-height: 1.3;
}
.src-line.hit  { background: #d3f8d3; }
.src-line.miss { background: #ffd3d3; }
.src-line.skip { color: #999; }
.src-line .ln {
  display: inline-block;
  width: 4em;
  color: #999;
  user-select: none;
  text-align: right;
  margin-right: 1em;
  line-height: 1.3;
}
.src-line .hits {
  display: inline-block;
  width: 5em;
  color: #2a7a2a;
  user-select: none;
  text-align: right;
  margin-right: 1em;
  line-height: 1.3;
}
th.sortable { cursor: pointer; user-select: none; }
th.sortable:hover { background: #e8e8ec; }
.sort-arrow { color: #666; font-size: 0.85em; margin-left: 0.3em; }
