/* Solving ME/CFS. Layout after Distill and Tufte: one serif reading column, wider figures, sans for labels and captions, colour only where it carries data. */
:root{
  --bg:#ffffff; --surface:#ffffff; --sunk:#f7f7f5; --ink:#1a1a1a; --ink-2:#3d3d3d; --muted:#6b6b6b; --faint:#9a9a9a; --rule:#e3e3e0; --line:var(--rule);
  --link:#1f5c99; --accent:#1f5c99; --accent-2:#174a7c; --accent-soft:#eef3f8;
  --warm:#c0392b; --warm-soft:#fbeceb; --cool:#5d7f99;
  --rep:#2e7d32; --rep-bg:#2e7d32; --sev:#558b6e; --sev-bg:#558b6e; --early:#b7791f; --early-bg:#b7791f; --cont:#7e6aa8; --cont-bg:#7e6aa8; --ref:#b23b2e; --ref-bg:#b23b2e;
  --go:var(--rep); --maybe:var(--early); --no:var(--ref);
  --f-serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --f-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  --f-body:var(--f-serif); --f-display:var(--f-sans);
  --body:50rem; --page:50rem; --radius:4px;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#161616; --surface:#161616; --sunk:#1d1d1d; --ink:#e8e8e6; --ink-2:#cfcfcc; --muted:#9d9d99; --faint:#77776f; --rule:#333331;
  --link:#8ab4e0; --accent:#8ab4e0; --accent-2:#a9c8ea; --accent-soft:#1e2833; --warm:#ef7d6e; --warm-soft:#3a201d; --cool:#93adc2;
  --rep:#7cc283; --rep-bg:#7cc283; --sev:#8fbfa3; --sev-bg:#8fbfa3; --early:#e0ae55; --early-bg:#e0ae55; --cont:#b3a3da; --cont-bg:#b3a3da; --ref:#ec8b80; --ref-bg:#ec8b80;
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#161616; --surface:#161616; --sunk:#1d1d1d; --ink:#e8e8e6; --ink-2:#cfcfcc; --muted:#9d9d99; --faint:#77776f; --rule:#333331;
  --link:#8ab4e0; --accent:#8ab4e0; --accent-2:#a9c8ea; --accent-soft:#1e2833; --warm:#ef7d6e; --warm-soft:#3a201d; --cool:#93adc2;
  --rep:#7cc283; --rep-bg:#7cc283; --sev:#8fbfa3; --sev-bg:#8fbfa3; --early:#e0ae55; --early-bg:#e0ae55; --cont:#b3a3da; --cont-bg:#b3a3da; --ref:#ec8b80; --ref-bg:#ec8b80;
  color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-serif);font-size:18.5px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden;font-variant-numeric:oldstyle-nums proportional-nums}
img,svg{max-width:100%;height:auto}
a{color:var(--link);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--link) 35%,transparent);text-underline-offset:.16em;text-decoration-thickness:1px}
a:hover{text-decoration-color:var(--link)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--link);outline-offset:2px;border-radius:2px}
.wrap,.l-body{max-width:calc(var(--body) + 32px);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.wrap{padding-block:2.5rem 3rem}
.wide,.l-page{max-width:calc(var(--page) + 32px);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3,h4{font-family:var(--f-sans);color:var(--ink);line-height:1.2;margin:0;text-wrap:balance;font-variant-numeric:lining-nums}
h1{font-size:clamp(2rem,4.6vw,2.75rem);font-weight:700;letter-spacing:-.02em}
h2{font-size:1.4rem;font-weight:650;margin:2.8rem 0 .2rem;letter-spacing:-.01em}
h3{font-size:1.05rem;font-weight:650;margin:1.8rem 0 .1rem}
p,ul,ol{margin:.75rem 0}
ul,ol{padding-left:1.3rem}
li{margin:.3rem 0}
li::marker{color:var(--faint)}
strong{font-weight:600}
.deck,.lede{font-size:1.2rem;line-height:1.5;color:var(--ink-2);margin:.8rem 0 0}
.byline,.meta{font-family:var(--f-sans);font-size:.8rem;color:var(--muted);margin:1rem 0 0;line-height:1.5;font-variant-numeric:lining-nums}
.byline{padding:.7rem 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-top:1.4rem}
.eyebrow{display:none}
.small,.note{font-size:.88rem;color:var(--muted)}
.note{font-family:var(--f-sans);font-size:.82rem;line-height:1.5;margin-top:1rem}
.box{border-left:2px solid var(--rule);padding:.1rem 0 .1rem 1rem;margin:1.2rem 0}
.box.key{border-left-color:var(--link)}
.box.warn{border-left-color:var(--warm)}
.box p:first-child{margin-top:0}.box p:last-child{margin-bottom:0}
/* tables: booktabs */
.tbl,.tablewrap{overflow-x:auto;margin:1.2rem 0;border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink)}
table{border-collapse:collapse;width:100%;font-size:.86rem;line-height:1.45;font-variant-numeric:lining-nums tabular-nums}
th,td{text-align:left;vertical-align:top;padding:.5rem .6rem .5rem 0;border-bottom:1px solid var(--rule)}
th{font-family:var(--f-sans);font-weight:600;font-size:.76rem;color:var(--ink);border-bottom:1px solid var(--ink);background:none}
tr:last-child td{border-bottom:0}
td.num,.num{font-family:var(--f-sans);font-size:.92em;white-space:normal}
.mono{font-family:var(--f-mono);font-size:.85em}
code{font-family:var(--f-mono);font-size:.84em;background:var(--sunk);padding:.05rem .25rem;border-radius:2px}
/* grade and verdict labels: coloured text with a dot, no badges */
.pill,.badge{display:inline-flex;align-items:center;gap:.32em;font-family:var(--f-sans);font-size:.74rem;font-weight:600;letter-spacing:0;text-transform:none;white-space:nowrap;background:none!important;padding:0;border:0!important;color:var(--muted);vertical-align:.08em;font-variant-numeric:lining-nums}
.pill::before,.badge::before{content:"";width:.5em;height:.5em;border-radius:50%;background:currentColor;flex:none}
.go,.rep,.b-strong{color:var(--rep)} .go2,.sev{color:var(--sev)} .maybe,.early,.b-mid{color:var(--early)} .contest,.cont,.b-weak{color:var(--cont)} .no,.ref,.b-no{color:var(--ref)}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.cols>div{min-width:0}
.sources li{font-size:.86rem;word-break:break-word}
details{min-width:0}
summary{cursor:pointer}
/* figures */
figure{margin:2rem 0}
.figure{margin:2.2rem 0}
figure svg{display:block;width:100%}
figcaption,.caption{font-family:var(--f-sans);font-size:.8rem;line-height:1.5;color:var(--muted);margin-top:.7rem;max-width:var(--body)}
figcaption b,.caption b{color:var(--ink);font-weight:600}
.only-narrow{display:none}
@media (max-width:640px){.only-wide{display:none}.only-narrow{display:block}}
/* margin notes on wide screens */
.sidenote{font-family:var(--f-sans);font-size:.78rem;line-height:1.45;color:var(--muted)}
@media (min-width:1400px){.l-body .sidenote,.wrap .sidenote{float:right;clear:right;width:14rem;margin-right:-16.5rem;margin-top:.3rem}}
@media (max-width:1399px){.sidenote{display:block;margin:.4rem 0 .8rem;padding-left:.8rem;border-left:2px solid var(--rule)}}
/* site chrome */
.site-head{border-bottom:1px solid var(--rule);padding-top:env(safe-area-inset-top,0px);font-family:var(--f-sans)}
.site-head .wide{display:flex;align-items:center;gap:1.6rem;min-height:3.2rem}
.brand{font-weight:650;font-size:.98rem;color:var(--ink);text-decoration:none;white-space:nowrap;letter-spacing:-.01em}
.brand svg{display:none}
.site-nav{display:flex;gap:1.15rem;overflow-x:auto;scrollbar-width:none;min-width:0;flex:1;font-size:.84rem}
.site-nav::-webkit-scrollbar{display:none}
.site-nav a{color:var(--muted);text-decoration:none;white-space:nowrap;padding:.9rem 0;border-bottom:1.5px solid transparent;margin-bottom:-1px}
.site-nav a:hover{color:var(--ink)}
.site-nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--ink)}
.theme-btn{flex:none;background:none;border:0;color:var(--faint);width:1.8rem;height:1.8rem;display:grid;place-items:center;cursor:pointer;padding:0}
.theme-btn:hover{color:var(--ink)}
.theme-btn svg{width:15px;height:15px}
@media (max-width:640px){.site-head .wide{flex-wrap:wrap;gap:0 1rem;padding-top:.5rem}.site-nav{flex-basis:100%;order:3;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent);padding-right:1.5rem}.site-nav a{padding:.55rem 0}.brand{flex:1}}
.site-foot{border-top:1px solid var(--rule);margin-top:4rem;padding:1.4rem 0 2.5rem;font-family:var(--f-sans);font-size:.8rem;color:var(--muted);line-height:1.6}
.site-foot a{color:var(--muted)}
.site-foot p{margin:.2rem 0}
.pagenext{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1rem;border-top:1px solid var(--rule);font-family:var(--f-sans);font-size:.88rem}
.pagenext small{display:block;font-size:.72rem;color:var(--muted)}
@media (max-width:720px){.cols{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition:none!important}}
@media print{.site-head,.site-foot,.filters,.tfilter{display:none}body{font-size:11pt}}
/* shared components used by the open-questions and data pages */
.hero{padding-block:0 .5rem}
.intro{color:var(--ink-2);margin:0 0 1.2rem}
section.blk{padding:1rem 0}
.grid{display:grid;gap:1.2rem}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}
.card{border-top:1px solid var(--rule);padding:.8rem 0 0;min-width:0;background:none}
.card h3{margin:0 0 .2rem;font-size:1rem}
.card p{margin:.35rem 0 0;font-size:.95rem}
.card ul{margin:.4rem 0 0}
a.card{display:block;color:var(--ink);text-decoration:none}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.5rem 1.4rem;margin-top:.6rem;font-size:.92rem}
.facts div b{display:block;font-family:var(--f-sans);font-size:.72rem;color:var(--muted);font-weight:600;margin-bottom:.1rem}
.src{font-family:var(--f-sans);font-size:.8rem;margin-top:.6rem;color:var(--muted)}
.src a{margin-right:.7rem;display:inline-block}
.legend{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;font-family:var(--f-sans);font-size:.8rem;color:var(--muted);margin:0 0 1rem}
/* evidence map (data-driven, built by site_build.py) */
.evmap{display:grid;gap:.3rem;margin:1rem 0 .4rem;font-family:var(--f-sans)}
.em-row{display:grid;grid-template-columns:minmax(7.5rem,11rem) 1fr 2rem;align-items:center;gap:.8rem;text-decoration:none;color:var(--ink);font-size:.8rem;padding:.08rem 0}
.em-row:hover .em-name{text-decoration:underline}
.em-bar{display:flex;height:.95rem;gap:1px;min-width:2rem}
.em-s{display:grid;place-items:center;font-size:.62rem;font-weight:600;min-width:0;overflow:hidden;color:var(--bg);font-variant-numeric:lining-nums}
.em-n{font-size:.74rem;color:var(--muted);text-align:right;font-variant-numeric:lining-nums tabular-nums}
.em-rep{background:var(--rep)} .em-sev{background:var(--sev)} .em-early{background:var(--early)} .em-cont{background:var(--cont)} .em-ref{background:var(--ref)}
.em-leg{display:flex;flex-wrap:wrap;gap:.2rem 1rem;margin-top:.5rem;font-size:.74rem;color:var(--muted)}
.em-leg i{display:inline-block;width:.6rem;height:.6rem;margin-right:.3rem;vertical-align:-.02rem}
@media (max-width:520px){.em-row{grid-template-columns:6.8rem 1fr 1.6rem;gap:.5rem;font-size:.74rem}}
