/* Fonts are self-hosted rather than CDN-linked: no third-party request on page
   load, and the typography does not silently degrade if a CDN is blocked.
   Both families are SIL Open Font License 1.1. See /evidence/credits. */
@font-face{
  font-family:"Source Serif 4";
  src:url("/fonts/source-serif-4-var.woff2") format("woff2-variations");
  font-weight:200 900;
  font-display:swap;
}
@font-face{
  font-family:"Source Sans 3";
  src:url("/fonts/source-sans-3-var.woff2") format("woff2-variations");
  font-weight:200 900;
  font-display:swap;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:15px/1.55 var(--sans);
  -webkit-font-smoothing:antialiased
}

h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.15;letter-spacing:-.02em;margin:0}
p{margin:0}
a{color:var(--accent)}
a:hover{color:var(--ink)}

/* Digits must align in columns wherever numbers are compared -- the whole point
   of the cross-check and coverage tables. Prose keeps proportional figures. */
.data-table td,.data-table th,.met b,.big,.num{font-variant-numeric:tabular-nums}

/* Focus must be visible on every interactive element, including the tooltip
   buttons, which were hover-only before this overhaul. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--accent);
  outline-offset:2px
}

.skip-link{
  position:absolute;left:12px;top:-56px;z-index:100;
  padding:10px 14px;border-radius:var(--r);
  background:var(--ink);color:var(--paper);
  text-decoration:none;font-size:.8rem;font-weight:700
}
.skip-link:focus,.skip-link:focus-visible{top:12px}

.hidden{display:none!important}
[hidden]{display:none!important}
.muted{color:var(--ink-3);font-size:.85rem}
.visually-hidden{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0
}

/* Print: the result is the thing worth keeping. */
@media print{
  .top,.footer,.skip-link,.go,.progress,.session-toolbar,.plan-actions{display:none!important}
  body{background:#fff;color:#000}
  a{color:#000;text-decoration:underline}
  .work{display:block}
  .col+.col{border-left:0;background:#fff}
  .result{display:block!important;break-inside:avoid}
  .met,.card,.callout{break-inside:avoid;page-break-inside:avoid}
}
