/* Benchmark Corpus — project styles. Loaded AFTER leanscale.css; never fork the base. */

/* ---------- definition card ---------- */
.def{background:#fff;border:1px solid var(--ls-light-gray);border-radius:var(--radius);
  padding:26px 26px 22px;box-shadow:var(--shadow);transition:box-shadow .16s,border-color .16s,transform .16s}
.def:hover{box-shadow:var(--shadow-lift);border-color:var(--ls-strong-purple);transform:translateY(-2px)}
.def + .def{margin-top:18px}
.def__top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:4px}
.def__h{font-size:21px;font-weight:800;color:var(--ls-dark-purple);letter-spacing:-.01em;margin:0}
.def__also{font-size:12.5px;color:var(--ls-dark-gray);font-weight:600}
.def__f{margin:14px 0 0;padding:14px 16px;background:var(--ls-purple-soft);border-radius:12px;
  font-size:14px;line-height:1.65;color:var(--ls-dark-purple)}
.def__f code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;
  background:#fff;padding:2px 7px;border-radius:6px;border:1px solid #e6d4ec;display:inline-block;
  line-height:1.9;color:#4a1a63}
.def__f .lbl{display:block;font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
  color:var(--ls-strong-purple);margin-bottom:7px}
.def__grid{display:grid;grid-template-columns:1.25fr 1fr;gap:22px;margin-top:20px}
.def__grid h4{font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
  color:var(--ls-dark-gray);margin:0 0 9px}
.def__grid ul{margin:0;padding-left:17px}
.def__grid li{font-size:13.5px;line-height:1.62;margin-bottom:7px;color:var(--ls-ink)}
.def__grid li b{color:var(--ls-dark-purple)}
.def__eff{background:var(--ls-lime);border-radius:12px;padding:14px 16px;font-size:13.5px;line-height:1.6}
.def__eff h4{color:var(--ls-dark-purple)!important}
.def__src{margin:18px 0 0;padding-top:15px;border-top:1px solid var(--ls-light-gray);
  font-size:12.5px;line-height:1.7;color:var(--ls-dark-gray)}
.def__src b{color:var(--ls-dark-purple)}
.def__ask{margin:12px 0 0;font-size:13.5px;line-height:1.6;color:var(--ls-dark-purple);font-weight:700}
.def__ask::before{content:"Ask them: ";font-weight:800;color:var(--ls-strong-purple)}
@media(max-width:860px){.def__grid{grid-template-columns:1fr;gap:16px}}

/* ---------- risk pills ---------- */
.pill--hi{background:#f7dede;color:#8a2020}
.pill--md{background:#faf0d8;color:#7a5a10}
.pill--lo{background:#e4f0e2;color:#2c5a30}

/* ---------- source tag on any figure ---------- */
.src{font-size:11px;font-weight:700;color:var(--ls-dark-gray);letter-spacing:.02em}
.src b{color:var(--ls-strong-purple)}

/* ---------- numbered checklist ---------- */
.checks{counter-reset:c;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:6px}
.check{background:#fff;border:1px solid var(--ls-light-gray);border-radius:var(--radius);padding:22px 22px 20px;
  box-shadow:var(--shadow);position:relative}
.check::before{counter-increment:c;content:counter(c);position:absolute;top:18px;right:20px;
  font-size:30px;font-weight:800;color:var(--ls-purple-soft);line-height:1}
.check h3{font-size:15.5px;font-weight:800;color:var(--ls-dark-purple);margin:0 0 8px;padding-right:34px}
.check p{font-size:13.5px;line-height:1.62;color:var(--ls-ink);margin:0}

/* ---------- source directory card ---------- */
.srcgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}
.scard{background:#fff;border:1px solid var(--ls-light-gray);border-radius:var(--radius);padding:24px;
  box-shadow:var(--shadow);transition:box-shadow .16s,border-color .16s,transform .16s;display:flex;flex-direction:column}
.scard:hover{box-shadow:var(--shadow-lift);border-color:var(--ls-strong-purple);transform:translateY(-2px)}
.scard h3{font-size:17px;font-weight:800;color:var(--ls-dark-purple);margin:0 0 3px}
.scard .pub{font-size:12px;color:var(--ls-dark-gray);font-weight:700;margin:0 0 13px}
.scard dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:12.5px;line-height:1.55}
.scard dt{font-weight:800;color:var(--ls-dark-gray);font-size:10.5px;letter-spacing:.05em;
  text-transform:uppercase;padding-top:2px}
.scard dd{margin:0;color:var(--ls-ink)}
.scard .best{margin:15px 0 0;padding:12px 14px;background:var(--ls-lime);border-radius:11px;
  font-size:13px;line-height:1.55;color:var(--ls-dark-purple);font-weight:600}
.scard .bias{margin:11px 0 0;font-size:12.5px;line-height:1.58;color:var(--ls-dark-gray)}
.scard .bias b{color:#8a2020}
.scard a.go{margin-top:auto;padding-top:15px;font-size:12.5px;font-weight:800;color:var(--ls-strong-purple);
  text-decoration:none;word-break:break-all}
.scard a.go:hover{text-decoration:underline}

/* ---------- disagreement rows ---------- */
.dis{background:#fff;border:1px solid var(--ls-light-gray);border-left:4px solid var(--ls-strong-purple);
  border-radius:14px;padding:22px 24px;box-shadow:var(--shadow)}
.dis + .dis{margin-top:16px}
.dis h3{font-size:17px;font-weight:800;color:var(--ls-dark-purple);margin:0 0 12px}
.dis__vs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.dis__v{background:var(--ls-purple-soft);border-radius:11px;padding:11px 15px;min-width:150px}
.dis__v b{display:block;font-size:23px;font-weight:800;color:var(--ls-dark-purple);line-height:1.1}
.dis__v span{font-size:11.5px;color:var(--ls-dark-gray);font-weight:700;line-height:1.4;display:block;margin-top:4px}
.dis p{font-size:13.5px;line-height:1.68;margin:0;color:var(--ls-ink)}
.dis p + p{margin-top:9px}
.dis .verdict{margin-top:13px;padding:12px 15px;background:var(--ls-lime);border-radius:11px;
  font-size:13.5px;line-height:1.6;color:var(--ls-dark-purple)}
.dis .verdict b{font-weight:800}

/* ---------- table helpers ---------- */
table.dt td.n{font-variant-numeric:tabular-nums;font-weight:700;color:var(--ls-dark-purple);white-space:nowrap}
table.dt td.band{font-weight:800;color:var(--ls-dark-purple);white-space:nowrap}
table.dt tfoot td{padding:12px 16px;font-size:11.5px;color:var(--ls-dark-gray);border-top:2px solid var(--ls-light-gray)}
table.dt.narrow{min-width:640px}
.thin{font-weight:600;color:#a06060}

/* ---------- inline note ---------- */
.note{background:#fff;border:1px dashed var(--ls-light-gray);border-radius:14px;padding:18px 20px;
  font-size:13.5px;line-height:1.68;color:var(--ls-ink);margin-top:18px}
.note b{color:var(--ls-dark-purple)}
.note .tag{font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
  color:var(--ls-strong-purple);display:block;margin-bottom:6px}

/* ---------- TOC ---------- */
.toc{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:8px}
.toc a{background:#fff;border:1px solid var(--ls-light-gray);border-radius:13px;padding:15px 17px;
  text-decoration:none;box-shadow:var(--shadow);transition:box-shadow .16s,border-color .16s,transform .16s;display:block}
.toc a:hover{box-shadow:var(--shadow-lift);border-color:var(--ls-strong-purple);transform:translateY(-2px)}
.toc b{display:block;font-size:14.5px;font-weight:800;color:var(--ls-dark-purple);margin-bottom:3px}
.toc span{font-size:12px;color:var(--ls-dark-gray);line-height:1.5;display:block}
