:root{
  /* warm "paper" palette — easy on the eyes, no pure white anywhere */
  --bg:#f3eee1; --ink:#191712; --muted:#5d5a4e; --rule:#33322c;
  --rule-light:#d5cdb8; --link:#1f4e79; --panel:#faf6ea;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);
  font-family:Georgia,Charter,"Times New Roman",serif;font-size:18px;
  line-height:1.55;max-width:1040px;margin:0 auto;padding:18px 24px 52px}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{font-weight:400;letter-spacing:.2px}
h1{font-size:32px;margin:12px 0 2px}
h2{font-size:23px;margin:32px 0 8px;border-bottom:1px solid var(--rule-light);padding-bottom:4px}
h3{font-size:19px;margin:18px 0 4px}
p{margin:9px 0}
.masthead{display:flex;justify-content:space-between;align-items:baseline;
  border-bottom:2px solid var(--rule);padding-bottom:8px;font-size:15px;flex-wrap:wrap;gap:8px}
.masthead .brand{font-size:20px;color:var(--ink);letter-spacing:.5px}
.masthead nav a{margin-left:16px}
.subtitle{color:var(--muted);font-size:16.5px;margin:2px 0 14px}
.note,.footnotes{font-size:14.5px;color:var(--muted)}
.disclaimer{font-size:14px;color:var(--muted);border-top:1px solid var(--rule-light);
  margin-top:36px;padding-top:10px}
.chartwrap{background:var(--panel);border:1px solid var(--rule-light);
  border-radius:8px;padding:12px 10px 6px;margin:12px 0}
.controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:6px 0 2px;font-size:15px}
.controls button{font-family:inherit;font-size:14.5px;background:var(--panel);
  border:1px solid var(--rule-light);border-radius:6px;padding:5px 14px;cursor:pointer;color:var(--ink)}
.controls button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin:10px 2px;font-size:15px}
.legend .it{display:flex;align-items:center;gap:7px;cursor:pointer;user-select:none}
.legend .it.off{opacity:.35}
.legend .it b{font-weight:600}
.legend .ix{color:var(--muted);font-size:13px;font-style:italic}
.legend .sw{width:18px;height:3px;border-radius:2px;display:inline-block}
.legend .sw.dash{height:0;border-top:3px dashed currentColor;background:none}
table{border-collapse:collapse;width:100%;font-size:16px;margin:12px 0}
th,td{text-align:right;padding:7px 9px;border-bottom:1px solid var(--rule-light)}
th:first-child,td:first-child{text-align:left}
thead th{border-bottom:1px solid var(--rule);font-weight:400;color:var(--muted)}
td.code{font-weight:400}
td.ix,th.ixh{text-align:left;color:var(--muted);font-size:13.5px;font-style:italic;white-space:nowrap}
td .dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:7px;vertical-align:middle}
tr.bench td{color:var(--muted);font-style:italic}
.pill{font-size:12.5px;color:var(--muted);border:1px solid var(--rule-light);
  border-radius:20px;padding:1px 9px;margin-left:6px}
.period-tabs{display:flex;gap:8px;margin:14px 0 4px;flex-wrap:wrap}
.period-tabs button{font-family:inherit;font-size:15px;background:var(--panel);
  border:1px solid var(--rule-light);border-radius:6px;padding:6px 15px;cursor:pointer;color:var(--ink)}
.period-tabs button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
h4{font-weight:400;font-size:17px;margin:16px 0 2px;color:var(--muted)}
/* wide tables scroll sideways on narrow screens instead of breaking layout */
#table26,#table20,#table,#sigfeed,#bookview,#journal{overflow-x:auto}
details{margin:8px 0}
details summary{cursor:pointer;font-size:15.5px;padding:3px 0;color:var(--link)}
.dateline{font-size:15px;color:var(--muted);margin:2px 0 10px}
.up{color:#14401f}
.dn{color:#7a1f1f}
th.sortable{cursor:pointer;user-select:none}
th.sortable:hover{color:var(--ink)}
th.sortable.on{color:var(--ink)}
table.sig{max-width:700px}
td.l{text-align:left}
h3 .dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:2px;vertical-align:baseline}
.qltip{position:absolute;z-index:5;pointer-events:none;background:var(--panel);
  border:1px solid var(--rule-light);border-radius:8px;box-shadow:0 2px 10px rgba(20,20,15,.08);
  padding:8px 12px;font-size:14px;font-family:Georgia,serif;white-space:nowrap}
.qltip .d{color:var(--muted);font-size:12.5px;margin-bottom:5px}
.qltip .r{display:flex;align-items:center;gap:7px;margin:2px 0}
.qltip .dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none}
.qltip .n{min-width:86px}
.qltip .v{margin-left:auto;font-variant-numeric:tabular-nums}
.qltip .p{min-width:62px;text-align:right;font-variant-numeric:tabular-nums;font-size:13px}
.qltip .p.up{color:#14401f}
.qltip .p.dn{color:#7a1f1f}
.uplot{font-family:Georgia,serif}
.u-legend{font-size:13px}
code{font-family:"SF Mono",Consolas,monospace;font-size:14px;background:#e9e2cf;padding:1px 5px;border-radius:4px}
/* compact presentation for dense research blocks (Start-year explorer):
   small sans tables with tabular numerals, tight paddings — reads like a
   terminal report instead of an airy article */
.compact{font-size:14px}
.compact h1{font-size:26px;margin:8px 0 2px}
.compact h2{font-size:19px;margin:22px 0 6px}
.compact h3{font-size:16.5px;margin:18px 0 2px}
.compact .subtitle{font-size:13.5px;margin:2px 0 10px}
.compact .disclaimer{font-size:12px;margin-top:24px}
.compact .note,.compact .footnotes{font-size:12.5px;line-height:1.45}
.compact p{margin:5px 0}
.compact .period-tabs{gap:4px;margin:8px 0 4px}
.compact .period-tabs button{font-size:12.5px;padding:3px 10px;border-radius:5px}
.compact .controls{gap:5px;font-size:13px;margin:4px 0 2px}
.compact .controls button{font-size:12px;padding:3px 10px;border-radius:5px}
.compact table{font-size:12.5px;margin:6px 0;line-height:1.35;
  font-family:"Segoe UI",-apple-system,"Helvetica Neue",Arial,sans-serif;
  font-variant-numeric:tabular-nums}
.compact th,.compact td{padding:3px 6px}
.compact thead th{font-size:11.5px}
.compact td .dot{width:8px;height:8px;margin-right:5px}
.compact td.ix,.compact th.ixh{font-size:11px}
.compact .pill{font-size:10.5px;padding:0 7px;margin-left:4px}
.compact .legend{font-size:12.5px;gap:4px 12px;margin:6px 2px;
  font-family:"Segoe UI",-apple-system,Arial,sans-serif}
.compact .chartwrap{padding:8px 6px 2px;margin:8px 0}

/* verification block */
.vbox{background:var(--panel);border:1px solid var(--rule-light);border-radius:10px;
  padding:16px 20px;margin:14px 0}
.vbox ol{margin:8px 0 12px 4px;padding-left:20px}
.vbox li{margin:5px 0}
.btnrow{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0 4px}
a.btn{display:inline-block;border:1px solid var(--rule);border-radius:8px;
  padding:9px 18px;background:var(--bg);color:var(--ink);font-size:15.5px;
  white-space:nowrap}
a.btn:hover{text-decoration:none;background:var(--panel)}
a.btn.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}
a.btn.primary:hover{background:#3a382e}
