/* ============================================================
   evidence.css — citation, certainty labels, evidence records,
   disclosure blocks, and print stylesheet.
   ============================================================ */

/* ---------------- citations ---------------- */
sup.cite{font-family:var(--font-mono);font-size:.68em;line-height:0;vertical-align:super;white-space:nowrap}
sup.cite a{color:var(--color-primary);text-decoration:none;padding:0 .1em;border-bottom:none}
sup.cite a:hover{text-decoration:underline}
sup.cite a+a::before{content:',';color:var(--color-text-faint);padding-right:.15em}

/* ---------------- certainty labels ---------------- */
.cert{
  display:inline-flex;align-items:center;gap:var(--space-2);
  font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;
  padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);
  border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text-muted);
  white-space:nowrap
}
.cert::before{content:'';width:6px;height:6px;border-radius:var(--radius-full);background:currentColor;flex:none}
.cert--established{color:var(--color-success);border-color:color-mix(in oklab,var(--color-success) 40%,transparent);background:var(--color-success-wash)}
.cert--emerging{color:var(--color-primary);border-color:color-mix(in oklab,var(--color-primary) 40%,transparent);background:var(--color-primary-wash)}
.cert--plausible{color:var(--color-caution);border-color:color-mix(in oklab,var(--color-caution) 40%,transparent);background:var(--color-caution-wash)}
.cert--practice{color:var(--color-text-muted)}
.cert--insufficient{color:var(--color-alert);border-color:color-mix(in oklab,var(--color-alert) 40%,transparent);background:var(--color-alert-wash)}

.certkey{display:flex;flex-wrap:wrap;gap:var(--space-3)}

/* ---------------- evidence records ---------------- */
.evid{border-top:1px solid var(--color-divider)}
.evid__item{padding-block:var(--space-6);border-bottom:1px solid var(--color-divider);scroll-margin-top:calc(var(--space-20) + var(--space-4))}
.evid__item:target{background:var(--color-primary-wash);box-shadow:-4px 0 0 var(--color-primary)}
.evid__head{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;margin-bottom:var(--space-3)}
.evid__id{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-primary);letter-spacing:.1em}
.evid__cite{font-size:var(--text-sm);line-height:1.6;color:var(--color-text)}
.evid__meta{margin-top:var(--space-3);display:grid;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);max-width:82ch}
.evid__meta b{color:var(--color-text-faint);font-weight:500;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;display:block;margin-bottom:var(--space-1)}
.grade{font-family:var(--font-mono);font-size:var(--text-xs);min-width:22px;height:22px;padding:0 var(--space-1);border-radius:var(--radius-sm);display:grid;place-items:center;border:1px solid var(--color-border);color:var(--color-text-muted)}
.grade[data-g="A"]{color:var(--color-success);border-color:color-mix(in oklab,var(--color-success) 45%,transparent)}
.grade[data-g="B"]{color:var(--color-primary);border-color:color-mix(in oklab,var(--color-primary) 45%,transparent)}
.grade[data-g="C"]{color:var(--color-caution);border-color:color-mix(in oklab,var(--color-caution) 45%,transparent)}
.grade[data-g="D"]{color:var(--color-alert);border-color:color-mix(in oklab,var(--color-alert) 45%,transparent)}

/* evidence filter bar */
.filterbar{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6)}
.filterbar button{
  font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;
  padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);cursor:pointer;
  border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);
  transition:color var(--transition),border-color var(--transition),background var(--transition)
}
.filterbar button:hover{color:var(--color-text);border-color:var(--color-border-strong)}
.filterbar button[aria-pressed="true"]{color:var(--color-text-inverse);background:var(--color-primary);border-color:var(--color-primary);font-weight:600}

/* ---------------- disclosure blocks ---------------- */
details.dx{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);margin-block:var(--space-4)}
details.dx>summary{
  cursor:pointer;list-style:none;padding:var(--space-4) var(--space-5);
  font-weight:600;font-size:var(--text-sm);display:flex;align-items:center;gap:var(--space-3)
}
details.dx>summary::-webkit-details-marker{display:none}
details.dx>summary::before{content:'+';font-family:var(--font-mono);color:var(--color-primary);font-size:var(--text-base);line-height:1}
details.dx[open]>summary::before{content:'\2212'}
details.dx>summary:hover{color:var(--color-primary)}
details.dx .dx__body{padding:0 var(--space-5) var(--space-5);font-size:var(--text-sm);line-height:1.65;color:var(--color-text-muted)}
details.dx .dx__body>*+*{margin-top:var(--space-4)}

/* ---------------- ASCII / pathway diagrams ---------------- */
pre.diagram{
  font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.5;
  background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);
  padding:var(--space-5);overflow-x:auto;color:var(--color-text-muted);white-space:pre
}
pre.diagram b{color:var(--color-primary);font-weight:500}

/* ---------------- print ---------------- */
@media print{
  .header,.statusbar,.doc__aside,.footer,.skip,.icon-btn,.filterbar,.cta-band,.nav-toggle{display:none!important}
  html[data-theme='dark']{
    --color-bg:#fff;--color-text:#000;--color-surface:#fff;--color-surface-2:#f4f4f4;
    --color-text-muted:#333;--color-text-faint:#555;--color-border:#bbb;--color-divider:#ddd;
    --color-primary:#14448c;--color-alert:#8c2a14;--color-caution:#7a5510;--color-success:#1f5a38
  }
  body{background:#fff;color:#000;font-size:10.5pt}
  .doc{grid-template-columns:1fr}
  .section{padding-block:var(--space-6)}
  .doc__section{break-inside:avoid}
  .doc__section+.doc__section{border-top:1px solid #ddd}
  details.dx{border:none;background:none}
  details.dx>summary{padding-left:0}
  details.dx>summary::before{display:none}
  details.dx .dx__body{display:block!important;padding-left:0}
  details.dx:not([open]) .dx__body{display:block!important}
  a[href^="http"]::after{content:' (' attr(href) ')';font-size:8pt;color:#555;word-break:break-all}
  .table-scroll{overflow:visible;border-color:#bbb}
  table.data{min-width:0;font-size:9pt}
  .hero::before,.pagehead::before{display:none}
}

/* ---------------- wide figures ---------------- */
.figure-wide{margin-block:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-2);padding:clamp(var(--space-4),3vw,var(--space-8))}
.figure-wide > svg{min-width:640px}
.figure-wide .callout svg{min-width:0;flex:none}
@media (max-width:900px){.figure-wide{overflow-x:auto}}
