/* =====================================================
   trust.css — transparency · report · methodology
   All classes prefixed tr- (module prefix). Relies on
   base.css for .trow/.tbar/.rep/.bar/.plist/.caveat etc.
   ===================================================== */

/* ---------- shared: honest links ---------- */
.tr-a{text-decoration:none;color:inherit}
.tr-focus:focus-visible{outline:2px solid var(--acc);outline-offset:2px;background:#f6f3ea}
.tr-plink{color:var(--acc);cursor:pointer;border-bottom:1px dotted var(--acc);transition:border-color .15s}
.tr-plink:hover{border-bottom-style:solid}
.tr-mlink{color:var(--acc);text-decoration:none;cursor:pointer;font-style:normal}
.tr-mlink:hover{text-decoration:underline}

/* ---------- transparency: computed distribution ---------- */
.tr-dist{max-width:660px;margin:34px auto 0}
.tr-dlab{text-align:center;font-size:10.5px;letter-spacing:3px;color:var(--soft);margin-bottom:10px;font-weight:400}
.tr-band{display:flex;height:26px;border:1px solid var(--ink);background:#fff}
.tr-seg{min-width:0}
.tr-seg + .tr-seg{border-right:1px solid rgba(28,25,21,.35)}
.tr-legend{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;margin-top:12px;font-size:12px;color:var(--soft);font-weight:300}
.tr-legend .tr-li{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.tr-legend .tr-sw{width:12px;height:12px;border:1px solid var(--ink);display:inline-block;flex-shrink:0}
.tr-legend b{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}

/* ---------- transparency: ranked rows ---------- */
.tr-rank{min-width:26px;text-align:center;font-size:11px;color:#b5afa2;font-variant-numeric:tabular-nums;letter-spacing:.5px;font-weight:300}

/* ---------- report: difficulty scale note ---------- */
.tr-dnote{font-size:11.5px;color:var(--soft);margin-top:10px;font-weight:300;letter-spacing:.3px}

/* ---------- report: "what it means for the engine" ---------- */
.tr-engine{
  border:1px solid var(--ink);outline:1px solid var(--ink);outline-offset:3px;
  background:#fff;padding:26px 26px 12px;margin:54px 4px 10px;
}
.tr-etitle{text-align:center;font-size:14px;letter-spacing:5px;font-weight:700}
.tr-esub{text-align:center;font-size:12.5px;color:var(--soft);margin:8px 0 16px;font-weight:300;line-height:1.8}
.tr-conc{display:flex;gap:16px;padding:14px 0;border-top:1px solid var(--faint2)}
.tr-cnum{
  font-family:"Frank Ruhl Libre","David Libre",serif;font-size:26px;font-weight:900;
  color:var(--acc);line-height:1;min-width:32px;text-align:center;
  font-variant-numeric:tabular-nums;
}
.tr-ctxt{font-size:13.5px;line-height:1.9;font-weight:300}
.tr-ctxt b{font-weight:700}

/* ---------- methodology: the charter ---------- */
.tr-method{max-width:660px;margin:0 auto}
.tr-kick{font-size:11.5px;letter-spacing:5px;color:var(--soft);font-weight:400;margin-bottom:14px}
.tr-lede{
  font-size:18.5px;line-height:2.05;text-align:center;font-weight:400;
  max-width:600px;margin:26px auto 4px;
}
.tr-prins{margin-top:28px}
.tr-prin{display:flex;gap:26px;padding:36px 2px;border-bottom:1px solid var(--faint2)}
.tr-prin:last-child{border-bottom:none}
.tr-pnum{font-size:40px;font-weight:900;line-height:1.1;min-width:58px;text-align:center;flex-shrink:0}
.tr-pnum i{display:block;width:20px;height:3px;background:var(--acc);margin:12px auto 0}
.tr-pbody{min-width:0}
.tr-ptitle{font-size:20px;font-weight:700;letter-spacing:.3px;line-height:1.4}
.tr-ptext{font-size:15.5px;line-height:2.05;margin-top:10px;font-weight:300}
.tr-ptext b{font-weight:700}
.tr-pfacts{
  font-size:12px;color:var(--soft);margin-top:14px;line-height:2;letter-spacing:.3px;font-weight:300;
  border-top:1px dotted var(--faint);padding-top:10px;
}
.tr-pfacts b{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}
.tr-endseal{text-align:center;margin:58px auto 0}
.tr-sealw{width:96px;height:96px;margin:0 auto}
.tr-sealw svg{width:100%;height:100%}
.tr-endword{margin-top:14px;font-size:12px;letter-spacing:4px;color:var(--soft);font-weight:300}
.tr-mlinks{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;margin-top:32px;font-size:13px}
.tr-mlinks a{color:var(--acc);text-decoration:none;cursor:pointer}
.tr-mlinks a:hover{text-decoration:underline}

/* ---------- small screens ---------- */
@media(max-width:640px){
  .tr-rank{display:none}
  .tr-trows .trow{flex-wrap:wrap}
  .tr-band{height:22px}
  .tr-legend{gap:6px 14px;font-size:11px}
  .tr-engine{padding:20px 16px 8px;margin:46px 4px 8px}
  .tr-prin{gap:15px;padding:28px 0}
  .tr-pnum{font-size:30px;min-width:40px}
  .tr-ptitle{font-size:18px}
  .tr-lede{font-size:16.5px;line-height:2}
}

/* ---------- print: the charter reads like a document ---------- */
@media print{
  .tr-mlinks{display:none}
  .tr-engine{outline-offset:3px}
  .tr-focus:focus-visible{outline:none;background:none}
}
