/* Protocol census study assets, inherits Citerank brand tokens from /citerank.css */
.pc-kf{display:grid;grid-template-columns:repeat(auto-fit,minmax(196px,1fr));gap:1px;background:var(--border);
  border:1px solid var(--border);border-radius:12px;overflow:hidden;margin:26px 0}
.pc-kf>div{background:var(--bg-card);padding:20px;min-width:0}
.pc-kf .k{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}
.pc-kf .v{font-size:32px;font-weight:800;line-height:1.1;margin:8px 0 6px;letter-spacing:-.02em;color:var(--text)}
.pc-kf .v.bad{color:var(--red)} .pc-kf .v.good{color:var(--green)}
.pc-kf p{margin:0;font-size:14px;color:var(--text-2);line-height:1.55}
.pc-fig{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin:28px 0}
.pc-fig-h{padding:18px 20px 0}
.pc-fig-h .t{font-size:17px;font-weight:700;color:var(--text)}
.pc-fig-h .d{font-size:13px;color:var(--text-3);margin-top:3px}
.pc-fig-b{padding:16px 20px 20px;overflow-x:auto}
.pc-fig figcaption{font-size:13px;color:var(--text-2);padding:13px 20px;border-top:1px solid var(--border-light);
  background:rgba(0,0,0,.12);line-height:1.55}
.pc-fig figcaption b{color:var(--text)}
.pc-fig svg{display:block;max-width:100%;height:auto}
.pc-shot{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--bg-card);margin:26px 0}
.pc-shot .bar{display:flex;align-items:center;gap:7px;padding:9px 14px;border-bottom:1px solid var(--border);background:var(--bg-hover)}
.pc-shot .bar i{width:9px;height:9px;border-radius:50%;background:var(--border-strong);display:block}
.pc-shot .bar span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;color:var(--text-3);
  margin-left:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-shot img{width:100%;display:block}
.pc-shot .cap{font-size:13px;color:var(--text-2);padding:13px 16px;border-top:1px solid var(--border-light);line-height:1.55}
.pc-shot .cap b{color:var(--text)}
.pc-dots{display:grid;grid-template-columns:repeat(auto-fill,minmax(10px,1fr));gap:4px;margin:18px 0 0}
.pc-dot{aspect-ratio:1;border-radius:50%;background:var(--border)}
.pc-dot.pass{background:var(--accent);opacity:.5}
.pc-dot.act{background:var(--red);box-shadow:0 0 0 3px var(--red-bg)}
.pc-legend{display:flex;flex-wrap:wrap;gap:8px 24px;margin:18px 0 0;font-size:13.5px;color:var(--text-2)}
.pc-legend i{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:7px;vertical-align:-1px}
.pc-ctrl{display:flex;flex-wrap:wrap;gap:8px;padding:16px 20px 0}
.pc-ctrl button{font-size:12.5px;padding:6px 13px;border:1px solid var(--border);background:var(--bg-hover);
  color:var(--text-2);border-radius:7px;cursor:pointer;font-family:inherit}
.pc-ctrl button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.pc-ctrl button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pc-table{width:100%;border-collapse:collapse;font-size:13.5px}
.pc-table th{text-align:left;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);
  font-weight:600;padding:9px 10px;border-bottom:1px solid var(--border);white-space:nowrap;
  position:sticky;top:0;background:var(--bg-card)}
.pc-table td{padding:9px 10px;border-bottom:1px solid var(--border-light);color:var(--text-2);vertical-align:middle}
.pc-table tbody tr:hover{background:var(--bg-hover)}
.pc-table .num{text-align:right;font-variant-numeric:tabular-nums}
.pc-pill{display:inline-block;font-size:10.5px;padding:2px 7px;border-radius:5px;border:1px solid var(--border);
  color:var(--text-2);background:var(--bg-hover);white-space:nowrap;margin:1px 0}
.pc-pill.on{background:var(--green-bg);border-color:var(--green-border);color:var(--green)}
.pc-pill.no{background:var(--red-bg);border-color:var(--red-border);color:var(--red)}
.pc-g{font-weight:700;font-size:12px;width:23px;height:23px;line-height:23px;text-align:center;border-radius:6px;display:inline-block}
.pc-g.A{background:var(--green);color:#06210f} .pc-g.B{background:var(--green-bg);color:var(--green)}
.pc-g.C{background:var(--accent-glow);color:var(--accent)} .pc-g.D{background:var(--yellow-bg);color:var(--yellow)}
.pc-g.F{background:var(--red-bg);color:var(--red)}
.pc-scroll{max-height:600px;overflow-y:auto}
.pc-tier{display:inline-block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:5px}
.pc-tier.a{background:var(--red-bg);color:var(--red)} .pc-tier.p{background:var(--accent-glow);color:var(--accent)}
.pc-tier.h{background:var(--bg-hover);color:var(--text-3)}
@media(max-width:640px){.pc-kf .v{font-size:26px}}
/* On narrow screens, scale-to-fit would push chart labels below legibility.
   Hold a readable minimum and let the figure body scroll instead. */
@media(max-width:700px){
  .pc-fig-b{-webkit-overflow-scrolling:touch}
  .pc-fig-b > div > svg{min-width:600px}
  .pc-fig-b::after{content:"";display:block}
}

/* Full-bleed breakout from the 760px article column for wide data tables */
.pc-bleed{width:min(1180px,calc(100vw - 40px));margin-left:50%;transform:translateX(-50%)}
.pc-lb-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px 18px 0}
.pc-lb-head .grow{flex:1 1 auto;min-width:120px}
.pc-search{background:var(--bg-hover);border:1px solid var(--border);color:var(--text);border-radius:8px;
  padding:7px 12px;font-size:13.5px;font-family:inherit;width:100%;max-width:230px}
.pc-search:focus{outline:2px solid var(--accent);outline-offset:1px}
.pc-dl{font-size:12.5px;padding:7px 13px;border:1px solid var(--border);background:var(--bg-hover);
  color:var(--text-2);border-radius:8px;cursor:pointer;font-family:inherit;text-decoration:none;display:inline-block}
.pc-dl:hover{border-color:var(--accent);color:var(--accent)}
.pc-count{font-size:12.5px;color:var(--text-3);font-variant-numeric:tabular-nums}
.pc-fav{width:18px;height:18px;border-radius:4px;flex:none;background:var(--bg-hover)}
.pc-brand{display:flex;align-items:center;gap:9px;min-width:0}
.pc-brand b{color:var(--text);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-brand .dm{font-size:11px;color:var(--text-3);font-family:ui-monospace,Menlo,monospace}
.pc-table th.rot{font-size:9.5px;letter-spacing:.02em;padding:9px 3px;text-align:center;white-space:nowrap;
  writing-mode:vertical-rl;transform:rotate(180deg);height:96px;vertical-align:bottom}
.pc-table td.hit{text-align:center;padding:9px 3px}
.pc-yes{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--green)}
.pc-yes.act{background:var(--red)}
.pc-no{display:inline-block;width:9px;height:2px;border-radius:1px;background:var(--border-strong);opacity:.7}
.pc-scrollwrap{position:relative}
.pc-scrollwrap::after{content:"";position:absolute;left:0;right:0;bottom:0;height:44px;pointer-events:none;
  background:linear-gradient(to bottom,transparent,var(--bg-card))}
.pc-scrollnote{text-align:center;font-size:12px;color:var(--text-3);padding:8px 0 0}
/* 4-item stat blocks go 2x2 so the last row is never a lone card beside dead space */
.pc-kf.four{grid-template-columns:repeat(2,1fr)}
@media(max-width:520px){.pc-kf.four{grid-template-columns:1fr}}
.pc-table th.ctr,.pc-table td.ctr{text-align:center;font-variant-numeric:tabular-nums}
