:root{
  --paper:#f6f4ef;
  --paper-dim:#efece3;
  --ink:#191713;
  --muted:#6f6a5f;
  --rule:#d9d5c9;
  --accent:#a63d2a;
  --serif:Charter,"Bitstream Charter","Source Serif 4",Georgia,serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--serif);
  font-size:17px;
  line-height:1.62;
  text-wrap:pretty;
}
.wrap{max-width:720px;margin:0 auto;padding:0 24px}

/* masthead */
.masthead{padding:56px 0 0;border-bottom:1px solid var(--rule);padding-bottom:28px}
.wordmark{
  font-family:var(--mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
}
.wordmark a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule)}
.thesis{
  font-size:22px;line-height:1.35;margin:22px 0 0;max-width:44ch;letter-spacing:-.01em;
}
.cadence{
  font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--muted);
  margin:18px 0 0;display:flex;gap:18px;flex-wrap:wrap;
}
.cadence b{font-weight:600;color:var(--ink)}

/* sections */
section{padding:44px 0 0}
.sec-head{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--muted);margin:0 0 18px;display:flex;justify-content:space-between;
  gap:6px 12px;flex-wrap:wrap;border-bottom:1px solid var(--rule);padding-bottom:8px;
}
.sec-head span:last-child{text-transform:none;letter-spacing:.04em}

/* entry rows */
.entries{list-style:none;margin:0;padding:0}
.entry{
  display:grid;grid-template-columns:92px 1fr;gap:20px;
  padding:20px 0;border-bottom:1px solid var(--rule);
}
.entry time{
  font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--muted);
  padding-top:4px;font-variant-numeric:tabular-nums;
}
.entry h2{font-size:20px;line-height:1.3;margin:0 0 6px;font-weight:600;letter-spacing:-.01em}
.entry h2 a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule)}
.entry h2 a:hover{border-color:var(--accent);color:var(--accent)}
.entry .claim{margin:0;font-size:15.5px;color:#3a352c}
.entry .tags{
  font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);margin:8px 0 0;
}
.entry .tags span+span::before{content:" · "}

/* index table */
table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:12px}
caption{
  text-align:left;font-family:var(--mono);font-size:11.5px;color:var(--muted);
  letter-spacing:.04em;padding:0 0 10px;
}
th,td{text-align:left;padding:9px 10px 9px 0;border-bottom:1px solid var(--rule);vertical-align:top}
th{font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:10.5px;color:var(--muted)}
td{color:#3a352c;font-variant-numeric:tabular-nums}
td.dash{color:var(--muted)}
tbody tr:nth-child(even){background:var(--paper-dim)}

/* entry page */
article{padding:44px 0 0}
.kicker{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
h1{font-size:32px;line-height:1.22;letter-spacing:-.015em;margin:0 0 18px;font-weight:600;max-width:24ch}
.body p{margin:0 0 20px;max-width:66ch}
.dl-head{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);margin:34px 0 10px;
}
dl.gap{margin:0;padding:0}
dl.gap dt{font-family:var(--mono);font-size:12.5px;letter-spacing:.02em;margin:14px 0 3px;color:var(--ink)}
dl.gap dd{margin:0;font-size:15.5px;color:#3a352c;max-width:64ch}
ol.refs{padding-left:20px;margin:10px 0 0}
ol.refs li{margin:0 0 12px;font-size:15px;max-width:64ch}
ol.refs a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(166,61,42,.35)}
ol.refs .meta{font-family:var(--mono);font-size:11.5px;color:var(--muted);display:block;margin-top:3px}

/* nav + footer */
.nav{
  display:flex;justify-content:space-between;gap:16px;
  font-family:var(--mono);font-size:12px;letter-spacing:.04em;
  border-top:1px solid var(--rule);margin-top:44px;padding:18px 0 0;
}
.nav a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule)}
.nav a:hover{color:var(--accent);border-color:var(--accent)}
footer{
  margin-top:56px;border-top:1px solid var(--rule);padding:20px 0 48px;
  font-family:var(--mono);font-size:11.5px;letter-spacing:.05em;color:var(--muted);
  display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;
}
footer a{color:var(--muted);border-bottom:1px solid var(--rule);text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}


/* paper records: identical fields, same order, so they compare by eye */
.record{border-top:1px solid var(--rule);padding-top:24px;margin-top:34px}
.record h2{font-size:20px;line-height:1.3;margin:0 0 14px;font-weight:600;letter-spacing:-.01em}
.record h2 a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule)}
.record h2 a:hover{color:var(--accent);border-color:var(--accent)}
.record dl{display:grid;grid-template-columns:96px 1fr;gap:10px 20px;margin:0}
.record dt{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);padding-top:5px;
}
.record dd{margin:0;font-size:16px;color:#3a352c}
.record .src{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.03em;color:var(--muted);margin:16px 0 0;
}

@media (max-width:560px){
  .record dl{grid-template-columns:1fr;gap:2px}
  .record dt{padding-top:10px}
  .entry{grid-template-columns:1fr;gap:6px}
  .entry time{padding-top:0}
  .thesis{font-size:20px}
  h1{font-size:26px}
  table{font-size:11px}
}
