
:root{
  --ink:#15181c; --dim:#5c636c; --faint:#878e97; --line:#e3e6ea; --bg:#fbfaf8; --card:#fff;
  --accent:#1d4e79; --accent-soft:#eef3f8; --ok:#2c6a4e; --no:#8f3a2c; --mid:#866416;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,monospace;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 var(--serif);
  -webkit-font-smoothing:antialiased}
header.top{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
header.top .in{max-width:1180px;margin:0 auto;padding:12px 22px;display:flex;flex-wrap:wrap;
  gap:8px 22px;align-items:baseline}
header.top .brand{font-weight:600;color:var(--ink);text-decoration:none;font-size:16px;letter-spacing:-.01em}
header.top nav{font-family:var(--sans);font-size:14px;display:flex;gap:18px;flex-wrap:wrap}
header.top nav a{color:var(--dim);text-decoration:none}
header.top nav a:hover,header.top nav a.on{color:var(--accent)}
header.top nav a.on{font-weight:600}
main{max-width:1180px;margin:0 auto;padding:0 22px 80px}
.wrap{display:grid;grid-template-columns:200px minmax(0,1fr);gap:46px;align-items:start}
.rail{position:sticky;top:64px;font-family:var(--sans);font-size:13.5px;padding-top:34px}
.rail a{display:block;color:var(--dim);text-decoration:none;padding:4px 0 4px 10px;
  border-left:2px solid var(--line);line-height:1.35}
.rail a:hover{color:var(--accent)}
.rail a.on{color:var(--accent);border-left-color:var(--accent);font-weight:600}
.doc{padding-top:34px;min-width:0}
h1{font-size:34px;line-height:1.18;margin:.1em 0 .3em;letter-spacing:-.015em;font-weight:600;
  text-wrap:balance;max-width:34ch}
.page h1{max-width:44ch}
h2{font-size:23px;margin:2.4em 0 .5em;font-weight:600;letter-spacing:-.01em;scroll-margin-top:72px}
h3{font-size:18px;margin:1.8em 0 .4em;font-weight:600}
h4{font-size:15px;margin:1.4em 0 .3em;font-weight:600;font-family:var(--sans)}
p,li{max-width:68ch}
p{margin:.75em 0}
ol,ul{max-width:68ch}
li{margin:.3em 0}
.lede{font-size:20px;line-height:1.5;color:#3b424a;max-width:60ch;margin:.6em 0 1em}
.lede p{margin:.35em 0;max-width:none}
.lede p:first-child{margin-top:0}
.dek{font-family:var(--sans);font-size:13px;color:var(--faint);text-transform:uppercase;
  letter-spacing:.08em;margin:0 0 6px}
.dek p{margin:0}
a{color:var(--accent)}
.small{font-size:14.5px;color:var(--dim);font-family:var(--sans);line-height:1.5}
.small p{margin:.4em 0;max-width:72ch}
.small p:first-child{margin-top:0}
code{font-family:var(--mono);font-size:13px;background:#f1f3f5;padding:1px 5px;border-radius:3px}
hr{border:0;border-top:1px solid var(--line);margin:2.6em 0}

.figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);margin:22px 0}
.figs div{background:var(--card);padding:14px 16px}
.figs .n{font-size:27px;font-weight:600;font-family:var(--sans);font-variant-numeric:tabular-nums;
  letter-spacing:-.02em}
.figs .l{font-family:var(--sans);font-size:13px;color:var(--dim);line-height:1.35;margin-top:2px}

table{border-collapse:collapse;width:100%;margin:16px 0;background:var(--card);
  font-family:var(--sans);font-size:14px}
.scroll{overflow-x:auto;margin:16px 0;border:1px solid var(--line);background:var(--card)}
.scroll table{margin:0;border:0}
th,td{border-bottom:1px solid var(--line);padding:8px 11px;text-align:left;vertical-align:top}
thead th{background:#f7f8f9;font-weight:600;color:#3b424a;white-space:nowrap;
  border-bottom:1px solid var(--line)}
tbody tr:hover{background:#fafbfc}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
caption{caption-side:top;text-align:left;font-family:var(--sans);font-size:13px;color:var(--dim);
  padding:0 0 8px}

.tag{display:inline-block;padding:1px 8px;border-radius:2px;font-size:12.5px;font-family:var(--sans);
  border:1px solid var(--line);white-space:nowrap;color:var(--dim)}
.tag.ok{color:var(--ok);border-color:#c3dbcd;background:#f4f9f6}
.tag.no{color:var(--no);border-color:#e3c4bd;background:#fdf6f4}
.tag.mid{color:var(--mid);border-color:#e4d7a9;background:#fcf9ef}
.tag.ev{color:var(--accent);border-color:#c5d6e4;background:var(--accent-soft);font-weight:500}

.note{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--accent);
  padding:14px 18px;margin:22px 0;max-width:72ch}
.note p{margin:.4em 0}
.note p:first-of-type{margin-top:0}
.note .h{font-family:var(--sans);font-size:13px;font-weight:600;text-transform:uppercase;
  letter-spacing:.06em;color:var(--accent);margin-bottom:4px}
blockquote{margin:.6em 0;padding:.3em 0 .3em 14px;border-left:2px solid var(--line);color:#3b424a;
  font-size:16px}

.hmwrap{overflow-x:auto;margin:18px 0;border:1px solid var(--line);background:var(--card)}
table.hm{font-size:13px;margin:0;border:0}
table.hm th{font-weight:500;font-size:12.5px;color:var(--dim);background:var(--card);
  border-bottom:1px solid var(--line)}
table.hm thead th{white-space:nowrap;text-align:center;padding:9px 6px;vertical-align:bottom}
table.hm th.rowh{text-align:left;white-space:nowrap;position:sticky;left:0;background:var(--card);
  border-right:1px solid var(--line);color:var(--ink);font-weight:500;z-index:1}
table.hm td{padding:0;border:0;border-bottom:1px solid #f0f2f4;text-align:center}
table.hm td a{display:block;padding:7px 4px;text-decoration:none;font-variant-numeric:tabular-nums;
  font-family:var(--sans);min-width:38px}
table.hm td a sup{font-size:9px;opacity:.75;margin-left:1px}
table.hm td.empty{background:repeating-linear-gradient(45deg,#fcfcfc,#fcfcfc 4px,#f6f7f8 4px,#f6f7f8 8px)}
table.hm td.tot a,table.hm td.tot{background:#f7f8f9;color:var(--dim);font-weight:600}
.legend{display:flex;align-items:center;gap:8px;font-family:var(--sans);font-size:12.5px;
  color:var(--dim);margin:10px 0 0;flex-wrap:wrap}
.legend .ramp{display:flex}
.legend .ramp i{width:22px;height:11px;display:block}

.controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:18px 0 10px;
  font-family:var(--sans);font-size:14px}
.controls input[type=search]{flex:1 1 260px;min-width:200px;padding:8px 11px;border:1px solid var(--line);
  border-radius:3px;font:inherit;background:var(--card);color:var(--ink)}
.controls select{padding:7px 9px;border:1px solid var(--line);border-radius:3px;font:inherit;
  background:var(--card);color:var(--ink)}
.controls input[type=search]:focus,.controls select:focus{outline:2px solid var(--accent);outline-offset:1px}
.count{font-family:var(--sans);font-size:13.5px;color:var(--dim);margin-left:auto}
.psz{font-family:var(--sans);font-size:13.5px;color:var(--dim);display:flex;align-items:center;gap:6px}
.psz select{padding:6px 8px;border:1px solid var(--line);border-radius:3px;font:inherit;
  background:var(--card);color:var(--ink)}
.pager{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin:10px 0 0;
  font-family:var(--sans);font-size:13.5px;color:var(--dim)}
.pager button{border:1px solid var(--line);background:var(--card);color:var(--accent);
  border-radius:3px;cursor:pointer;font-size:16px;line-height:1;padding:4px 12px}
.pager button:disabled{color:#c2c8cf;cursor:default}
.reset{font-family:var(--sans);font-size:13.5px;background:none;border:0;color:var(--accent);
  cursor:pointer;padding:6px 2px}
th.s{cursor:pointer;user-select:none}
th.s:hover{color:var(--accent)}
th.s::after{content:"";display:inline-block;width:0;height:0;margin-left:5px;vertical-align:middle;
  border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #c2c8cf}
th.s.asc::after{border-top:0;border-bottom:4px solid var(--accent)}
th.s.desc::after{border-top:4px solid var(--accent)}
td .stmt{font-family:var(--serif);font-size:15px;line-height:1.45;display:block;max-width:60ch}
td .src{color:var(--dim);font-size:12.5px}
.empty-state{padding:26px;text-align:center;color:var(--dim);font-family:var(--sans);font-size:14px}
tr.row{cursor:pointer}
tr.row.open{background:var(--accent-soft)}
tr.det>td{background:#fafbfc;padding:0}
.pd{padding:14px 18px;max-width:82ch}
.pd h4{margin:.9em 0 .2em;font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;
  color:var(--accent);font-family:var(--sans)}
.pd h4:first-child{margin-top:0}
.pd p{margin:.25em 0;font-family:var(--serif);font-size:15px;line-height:1.5;max-width:76ch}
.pd p.src{font-family:var(--sans);font-size:13px;color:var(--dim)}
.hint{font-family:var(--sans);font-size:13.5px;color:var(--dim);margin:0 0 4px}

footer{border-top:1px solid var(--line);margin-top:60px;padding:22px;color:var(--faint);
  font-family:var(--sans);font-size:13px}
footer .in{max-width:1180px;margin:0 auto}
/* charts: horizontal bars, area cards, funnel. One hue, same tokens as everything else. */
figure.chart{margin:20px 0;padding:0}
figure.chart figcaption{font-family:var(--sans);font-size:13px;color:var(--dim);margin:0 0 10px}
.bars{display:flex;flex-direction:column;gap:3px}
.brow{display:grid;grid-template-columns:minmax(90px,190px) minmax(0,1fr) 52px;gap:10px;
  align-items:center;font-family:var(--sans);font-size:13.5px}
.brow .bl{color:var(--ink);line-height:1.3}
.brow .bt{background:#f0f2f4;height:17px;display:block;border-radius:1px;overflow:hidden}
.brow .bt i{display:block;height:100%;background:var(--accent)}
.brow .bt i.alt{background:#8aa8c0}
.brow .bn{text-align:right;font-variant-numeric:tabular-nums;color:var(--dim)}
.cnote{font-family:var(--sans);font-size:12.5px;color:var(--dim);margin:10px 0 0;max-width:72ch}
.sankeywrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);padding:10px 12px}
.sankeywrap svg{display:block;min-width:620px;width:100%;height:auto}
text.sl{font-family:var(--sans);font-size:11px;fill:var(--dim);paint-order:stroke;
  stroke:var(--card);stroke-width:3px;stroke-linejoin:round}
.pres{display:grid;gap:8px;margin:18px 0}
.pres .p{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--accent);
  padding:11px 14px;font-family:var(--sans);font-size:13.5px}
.pres .p b{font-size:19px;font-variant-numeric:tabular-nums;margin-right:8px;color:var(--accent)}
.pres .p.none{border-left-color:var(--mid)}
.strata{margin:18px 0}
.srow{display:grid;grid-template-columns:minmax(150px,2fr) minmax(120px,3fr) 130px 68px;gap:14px;
  align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-family:var(--sans);
  font-size:13.5px}
.srow.sub .sname{padding-left:16px;color:var(--dim)}
.sbar{display:flex;height:16px;background:#f0f2f4;overflow:hidden;border-radius:2px}
.sbar i{display:block;height:100%}
.sbar i.ok{background:var(--accent)}
.sbar i.no{background:var(--no)}
.sbar i.mid{background:var(--mid)}
.sbar i.ind{background:#dde2e7}
.sval{text-align:right;font-variant-numeric:tabular-nums}
.sval .ci{color:var(--dim);font-size:12.5px}
.snum{text-align:right;font-variant-numeric:tabular-nums;color:var(--dim)}
.legend .key{width:11px;height:11px;display:inline-block;margin-right:5px;vertical-align:-1px}
.legend .key.ok{background:var(--accent)}
.legend .key.no{background:var(--no)}
.legend .key.mid{background:var(--mid)}
.legend .key.ind{background:#dde2e7}
.q4{margin:18px 0}
.q4 .figs{margin:14px 0}
table.q4m th{font-weight:500;color:var(--dim);background:var(--card)}
table.q4m td.num{font-variant-numeric:tabular-nums;font-size:15px}
table.q4m td.hi{font-weight:600;color:var(--accent);background:var(--accent-soft)}
tr.hi td{background:#fcf9ef}
.q4s{font-family:var(--sans);font-size:14.5px;color:var(--ink);border-left:3px solid var(--accent);
  padding:8px 0 8px 14px;margin:16px 0;max-width:72ch}

.areas{display:grid;gap:14px;margin:20px 0}
.acard{background:var(--card);border:1px solid var(--line);padding:16px 18px}
.atop{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:baseline;justify-content:space-between}
.atop h3{margin:0;font-size:17px}
.rank{font-family:var(--sans);font-size:12.5px;font-weight:600;color:var(--accent);
  background:var(--accent-soft);padding:3px 9px;border-radius:2px;white-space:nowrap}
.acard .bar{display:flex;height:9px;margin:13px 0 7px;background:var(--line);overflow:hidden}
.acard .bar i{display:block;height:100%}
.acard .bar i.ok{background:var(--accent)}
.acard .bar i.no{background:var(--no)}
.areah{font-size:19px;margin:26px 0 2px;font-family:var(--sans)}
.areasub{font-family:var(--sans);font-size:12.5px;color:var(--dim);margin:0 0 10px;max-width:72ch}
.acard .bar i.mx{background:var(--mid)}
.acard .bar i.ind{background:var(--line)}
.proglist{list-style:none;margin:11px 0 0;padding:0;font-family:var(--sans);font-size:13px}
.proglist li{padding:4px 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:3px 10px}
.proglist li:first-child{border-top:0}
.proglist span{color:var(--dim)}
.alegend{font-family:var(--sans);font-size:12.5px;color:var(--dim);display:flex;flex-wrap:wrap;
  gap:4px 18px}

.routes{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin:22px 0}
.rcard{background:var(--card);padding:16px 18px}
.rcard h3{margin:0 0 3px;font-size:15px;font-family:var(--sans)}
.rcard p{margin:0;font-family:var(--sans);font-size:13.5px;color:var(--dim);line-height:1.5;
  max-width:72ch}

.funnel{font-family:var(--sans);font-size:13.5px;margin:18px 0;border-left:2px solid var(--line)}
.funnel div{display:flex;justify-content:space-between;gap:18px;padding:7px 0 7px 16px;
  border-bottom:1px solid var(--line)}
.funnel div:last-child{border-bottom:0;font-weight:600;color:var(--accent)}
.funnel span:last-child{font-variant-numeric:tabular-nums;color:var(--dim);white-space:nowrap}
.funnel div:last-child span:last-child{color:var(--accent)}
.chip{display:inline-block;font-family:var(--sans);font-size:11.5px;font-weight:600;padding:1px 7px;
  border-radius:2px;white-space:nowrap;background:var(--accent-soft);color:var(--accent)}
.chip.warn{background:#fcf9ef;color:var(--mid)}

@media (max-width:900px){
  .brow{grid-template-columns:minmax(80px,130px) minmax(0,1fr) 44px;font-size:12.5px}
  .wrap{grid-template-columns:1fr;gap:0}
  .rail{position:static;padding:22px 0 0;display:flex;flex-wrap:wrap;gap:4px 14px;
    border-bottom:1px solid var(--line);padding-bottom:12px}
  .rail a{border-left:0;padding:2px 0}
  .rail a.on{border-left:0}
  body{font-size:16px}
  h1{font-size:28px}
  .lede{font-size:18px}
  /* Six filters stack one per row on a phone and push the data off screen; pair them up. */
  .controls input[type=search]{flex:1 1 100%}
  .controls select{flex:1 1 44%;min-width:0;max-width:100%}
  .count{margin-left:0;flex:1 1 100%}
}

/* deep dives */
.cx-node rect{fill:var(--card);stroke:#b8bec6;stroke-width:1.5;transition:all .25s}
.cx-node.hcrt rect{fill:var(--accent-soft);stroke:var(--accent);stroke-width:2}
.cx-node.wake rect{fill:#f4f9f6;stroke:#9cc3ad}
.cx-node.rem rect{fill:#f7f4fa;stroke:#c3b3d6}
.cx-node.emo rect{fill:#fcf9ef;stroke:#e0cf98}
.cx-node .cx-l{font-size:12.5px;font-weight:600;fill:var(--ink);text-anchor:middle}
.cx-node .cx-s{font-size:11px;fill:var(--dim);text-anchor:middle}
.cx-node.hit rect{stroke:var(--accent);stroke-width:3.5;fill:#dce8f3}
.cx-node.lost rect{fill:#f4f5f7;stroke:#b8bec6;stroke-dasharray:5 4}
.cx-node.lost .cx-l,.cx-node.lost .cx-s{fill:var(--faint)}
.cx-node.alarm rect{stroke:var(--no);stroke-width:2.5}
.cx-edge{fill:none;stroke-width:1.6;transition:all .25s}
.cx-edge.exc{stroke:var(--ok)}
.cx-edge.inh{stroke:var(--no)}
.cx-edge.lost{stroke:#c9ced4;stroke-dasharray:4 4}
.cx-edge.strong{stroke-width:3}
.cx-k{width:18px;height:0;display:inline-block;margin:0 4px 0 10px;vertical-align:middle;border-top:2px solid}
.cx-k.exc{border-color:var(--ok)}.cx-k.inh{border-color:var(--no)}.cx-k.lost{border-color:#c9ced4;border-top-style:dashed}
.cx-k.hit{height:11px;width:14px;border:3px solid var(--accent);background:#dce8f3}
.cx-drugs{margin-top:10px;align-items:center}
.cx-drugs .hint{margin:0 4px 0 0}
.cx-text{background:var(--card);border:1px solid var(--line);border-top:0;padding:12px 16px}
.cx-text p{margin:0;font-size:15.5px}

.dd-figs{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.dd-figs .n{font-size:23px;white-space:nowrap}
:root{--sp-human:#1d4e79;--sp-dog:#b4561b;--sp-mouse:#6b7280;--sp-cat:#7a4f9a;--cf:#6d4f8f}
.dd-svg{background:var(--card);border:1px solid var(--line);padding:10px 12px;overflow-x:auto}
.dd-svg svg{display:block;width:100%;height:auto;min-width:560px;font-family:var(--sans)}
.dd-svg text{font-size:12px;fill:var(--dim)}
.dd-svg .ax{font-size:11px;fill:var(--faint);text-anchor:middle}
.dd-svg .ax-t{font-size:12.5px;font-weight:600;fill:var(--ink);text-anchor:middle}
.dd-svg .rl{text-anchor:end;fill:var(--ink);font-size:12.5px}
.dd-svg .vl{font-size:11.5px;fill:var(--ink)}
.dd-svg line.grid{stroke:#eef0f2}
.dd-svg line.ref{stroke:var(--ink);stroke-dasharray:3 3;opacity:.5}
.dd-svg line.thr{stroke:var(--sp-human);stroke-dasharray:4 3}
.dd-svg .thr-t{font-size:11px;fill:var(--sp-human)}
.st{display:inline-block;padding:1px 8px;border-radius:2px;font-size:12px;font-family:var(--sans);white-space:nowrap;
  border:1px solid var(--line);color:var(--dim)}
.st.ok{color:var(--ok);border-color:#c3dbcd;background:#f4f9f6}
.st.no{color:var(--no);border-color:#e3c4bd;background:#fdf6f4}
.st.mid{color:var(--mid);border-color:#e4d7a9;background:#fcf9ef}
.st.cf{color:var(--cf);border-color:#d6cbe3;background:#f7f4fa}
.st.un{color:#4b5563;border-color:#d7dbe0;background:#f4f5f7}
.st.na{color:var(--faint);background:repeating-linear-gradient(45deg,#fff,#fff 3px,#f6f7f8 3px,#f6f7f8 6px)}
.st.weak{border-style:dashed}
.legend .key.cf,.sbar i.cf{background:var(--cf)}
.legend .key.un,.sbar i.un{background:#b8bec6}
.legend .key.na{background:#e6e9ec}
.dd-sc td.c,.dd-sc th.c{text-align:center;vertical-align:middle}
.dd-sc th .sub{font-weight:400;color:var(--faint);font-size:12px}
.dd-sc .ref{background:#fafafa}
.dd-sc td.hum{font-family:var(--serif);font-size:14.5px;line-height:1.45;max-width:46ch}
.dd-sc tr.dom td{background:#f7f8f9;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.06em;
  color:var(--accent);cursor:default}
.dd-tally .srow{grid-template-columns:minmax(130px,1.4fr) minmax(120px,3fr) minmax(150px,1.6fr)}
.dd-tally .sval{text-align:left;color:var(--dim);font-size:12.5px}
.dd-tabs,.dd-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px;font-family:var(--sans)}
.dd-tabs button,.dd-chips button{font:13px var(--sans);border:1px solid var(--line);background:var(--card);
  color:var(--ink);padding:6px 12px;border-radius:16px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.dd-tabs button{border-left:4px solid var(--c)}
.dd-tabs button.on,.dd-chips button.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}
.dd-chips button:not(.on){opacity:.7}
.dd-tabs button:focus-visible,.dd-chips button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%}
.mx-node rect{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.5;transition:all .25s}
.mx-node .mx-l{font-size:13.5px;font-weight:600;fill:var(--ink);text-anchor:middle}
.mx-node .mx-s{font-size:11.5px;fill:var(--dim);text-anchor:middle}
.mx-node .mx-state{font-size:12px;font-weight:600;text-anchor:middle;fill:var(--ok)}
.mx-node .mx-x{font-size:16px;font-weight:700;fill:var(--no);text-anchor:middle;opacity:0}
.mx-node.lost rect{fill:#f4f5f7;stroke:#b8bec6;stroke-dasharray:5 4}
.mx-node.lost .mx-l,.mx-node.lost .mx-s{fill:var(--faint)}
.mx-node.lost .mx-state,.mx-node.broken .mx-state{fill:var(--no)}
.mx-node.lost .mx-x,.mx-node.broken .mx-x{opacity:1}
.mx-node.broken rect{fill:#fdf6f4;stroke:var(--no);stroke-width:2}
.mx-node.kept .mx-state{fill:var(--ok)}
.dd-key{width:11px;height:11px;display:inline-block;margin:0 4px 0 8px;vertical-align:-1px;border:1.5px solid}
.dd-key.ok{border-color:var(--ok);background:#f4f9f6}.dd-key.no{border-color:var(--no);background:#fdf6f4}
.dd-key.mid{border-color:var(--mid);background:#fcf9ef}.dd-key.cf{border-color:var(--cf);background:#f7f4fa}.dd-key.na{border-color:#d0d5da;background:#fff}
.mx-node.reduced rect{fill:#fcf9ef;stroke:var(--mid)}
.mx-node.reduced .mx-state{fill:var(--mid)}
.mx-node.unknown rect{fill:#fff;stroke:#b8bec6;stroke-dasharray:2 3}
.mx-node.unknown .mx-state{fill:var(--faint)}
.mx-link{stroke:var(--faint);stroke-width:1.5}
.mx-link.off{stroke-dasharray:4 4;opacity:.45}
.mx-iv line{stroke:#d0d5da;stroke-dasharray:2 3}
.mx-iv rect{fill:#fff;stroke:#d0d5da;stroke-width:1.5;transition:all .25s}
.mx-iv .mx-il{font-size:12px;font-weight:600;fill:var(--ink);text-anchor:middle}
.mx-iv .mx-is{font-size:11.5px;text-anchor:middle;fill:var(--faint)}
.mx-iv.ok rect{stroke:var(--ok);fill:#f4f9f6}.mx-iv.ok .mx-is{fill:var(--ok)}
.mx-iv.no rect{stroke:var(--no);fill:#fdf6f4}.mx-iv.no .mx-is{fill:var(--no)}
.mx-iv.mid rect{stroke:var(--mid);fill:#fcf9ef}.mx-iv.mid .mx-is{fill:var(--mid)}
.mx-iv.cf rect{stroke:var(--cf);fill:#f7f4fa}.mx-iv.cf .mx-is{fill:var(--cf)}
.mx-iv.none{opacity:.35}
.mx-text{background:var(--card);border:1px solid var(--line);border-top:0;padding:12px 16px}
.mx-text p{margin:0;font-size:15.5px}
.dd-list{font-family:var(--sans);font-size:13px;color:var(--dim);margin:8px 0 0;padding-left:18px}
.dd-list li{margin:.2em 0}
.dd-events{list-style:none;margin:10px 0 0;padding:0;font-family:var(--sans);font-size:13.5px;max-height:360px;
  overflow-y:auto;border:1px solid var(--line);background:var(--card)}
.dd-events li{display:grid;grid-template-columns:44px 14px 1fr;gap:6px;align-items:baseline;padding:6px 12px;
  border-bottom:1px solid #f0f2f4}
.dd-events li.hit{background:var(--accent-soft)}
.dd-events .yr{font-variant-numeric:tabular-nums;color:var(--dim)}
.tl-dot{cursor:pointer;stroke:var(--card);stroke-width:1.5}
.tl-dot:hover,.tl-dot:focus{stroke:var(--ink);outline:none}
.dd-pc rect.pc{transition:opacity .2s}
.dd-pc rect.pc.off{opacity:0}
.dd-q{font-family:var(--sans);font-size:12.5px;color:var(--dim);margin-top:6px}
.dd-q code{font-size:11.5px;white-space:normal}
.ef{display:inline-flex;gap:5px;align-items:baseline;font-family:var(--sans);font-size:13.5px;white-space:nowrap}
.ef.ok{color:var(--ok)}.ef.no{color:var(--no)}.ef.cf{color:var(--cf)}.ef.un{color:#4b5563}.ef.na{color:var(--faint)}
td .ef+.src{display:block}
.dd-drugs tr[hidden]{display:none}
.dd-cards{display:grid;gap:14px;margin:22px 0}
.dd-card{display:block;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--sp-dog);
  padding:16px 18px;text-decoration:none;color:var(--ink);transition:border-color .2s}
.dd-card:hover{border-color:var(--accent)}
.dd-card h3{margin:.3em 0 .2em;font-size:19px}
.dd-card p{margin:.3em 0;max-width:72ch}
.dd-card-top{display:flex;justify-content:space-between;gap:10px;font-family:var(--sans)}
.dd-src .pd ul{margin:.2em 0;padding-left:18px;font-size:14.5px}
.dd-svg::before{content:"";display:none}
@media (max-width:640px){.dd-svg::before{content:"Scroll sideways to see the whole chart";display:block;
  font:12px var(--sans);color:var(--faint);margin:0 0 6px;position:sticky;left:0}}
@media (max-width:900px){.dd-tally .srow{grid-template-columns:1fr;gap:4px}.dd-sc td.hum{min-width:220px}}
