/* Runs directory — printed results ledger */

/* summary strip */
.summary{display:grid;grid-template-columns:repeat(4,1fr);border:3px solid var(--ink);margin:22px 0 6px}
.summary div{padding:14px 18px;border-right:2px solid var(--ink)}
.summary div:last-child{border-right:0}
.summary b{display:block;font-size:34px;font-weight:900;line-height:1}
.summary span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#777}
.summary .acc-b b{color:var(--blue)}
.summary .acc-p b{color:var(--pink)}

/* results list */
.runs{border:3px solid var(--ink);border-top:0}
.run{animation:floatin .55s cubic-bezier(.2,.7,.3,1) backwards;animation-delay:var(--d,0s)}
@keyframes floatin{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.run{animation:none}}
.run{display:grid;grid-template-columns:74px 1fr 150px 110px 26px;align-items:center;gap:16px;
     padding:14px 18px;border-top:2px solid var(--ink);text-decoration:none;color:var(--ink);background:var(--paper2)}
.run:hover{background:#fff}
.run.live{cursor:pointer}
.run.dead{background:var(--paper);cursor:default}

.rdate{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:600;line-height:1.3;color:#555}
.rdate b{display:block;font-size:15px;color:var(--ink)}

.rname{font-size:22px;font-weight:900;letter-spacing:-.5px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rmeta{font-size:13px;color:#7a7468;margin-top:3px;font-weight:500}
.rvs{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:#6f6657;margin-top:5px}
.rvs .vs{color:#bcb4a4;margin:0 2px}
/* half-half disc: model color | harness color — the combo indicator */
.rvs .duo{display:inline-block;width:11px;height:11px;border-radius:50%;border:1.5px solid var(--ink);
          vertical-align:-1.5px;margin-right:4px}
.rvs .duo.c2{margin-left:8px}
/* harness half of the <model × harness> entrant */
.rvs .hb{font-style:normal;font-weight:700;font-size:9px;letter-spacing:.5px;color:#8a8378;
         border:1px solid #cfc7b6;padding:1px 4px;margin-left:5px;vertical-align:1px}

.badge{font-family:'Hanken Grotesk';font-weight:800;font-size:10px;letter-spacing:1px;text-transform:uppercase;
       padding:3px 8px;border:2px solid var(--ink);color:var(--paper)}
.badge.pwn{background:var(--ink)}
.badge.web{background:var(--blue)}
.badge.lfi{background:var(--pink)}
.badge.rce{background:var(--purple)}

.rscore{font-size:26px;font-weight:900;font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}
.rscore .lo{color:#bcb4a4}
.rscore .dash{color:#bcb4a4;margin:0 4px}

.rwin{justify-self:end;text-align:right}
.rwin .tag{font-family:'Hanken Grotesk';font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.5px;
          display:inline-block;padding:4px 10px;border:2px solid var(--ink)}
.rwin .tag.draw{background:none;color:#7a7468;border-style:dashed}
.rwin .rounds{display:block;font-weight:600;font-size:11px;color:#9a9486;margin-top:5px;text-transform:uppercase;letter-spacing:.5px}

.rgo{font-size:20px;font-weight:900;color:var(--ink);justify-self:center}
.run.dead .rgo{color:#cfc7b6}

@media(max-width:760px){
  .summary{grid-template-columns:1fr 1fr}
  .summary div:nth-child(2){border-right:0}
  .summary div{border-bottom:2px solid var(--ink)}
  .run{grid-template-columns:60px 1fr auto;gap:10px}
  .run .rwin,.run .rgo{display:none}
  .rname{font-size:18px}
}

/* status tags in the run title line — one consistent pill, three colours */
.stag{display:inline-block;vertical-align:middle;color:var(--paper);border:2px solid var(--ink);
  border-radius:20px;font:800 10px/1 'JetBrains Mono',monospace;padding:3px 7px;margin-left:2px}
.stag.live-tag{background:var(--pink);animation:livepulse 1.4s ease-in-out infinite}
.stag.ana-tag{background:#e08a1e;animation:livepulse 1.4s ease-in-out infinite}
.stag.anafail-tag{background:var(--paper);color:#b0472e;border-color:#b0472e}
.stag.fail-tag{background:#8a8378}
/* run mode: hint (agents got the vuln hint); hard mode is the default, untagged */
.stag.hint-tag{background:var(--purple);color:var(--paper)}
.stag.live-tag i{font-size:6px;vertical-align:1px}
@keyframes livepulse{50%{opacity:.45}}

/* status filter tags — match the row pill colours */
.filt button b{font-weight:700;opacity:.5;margin-left:3px;font-size:11px}
.filt button.on b{opacity:.85}
.filt button.live{border-color:var(--pink);color:var(--pink)}
.filt button.live.on{background:var(--pink);color:var(--paper)}
.filt button.analysing{border-color:#e08a1e;color:#c2740f}
.filt button.analysing.on{background:#e08a1e;color:var(--paper)}
.filt button.analysis_failed{border-color:#b0472e;color:#b0472e}
.filt button.analysis_failed.on{background:#b0472e;color:var(--paper)}
.filt button.failed{border-color:#8a8378;color:#8a8378}
.filt button.failed.on{background:#8a8378;color:var(--paper)}
