:root{
  --bg:#faf8f4; --panel:#fffdfa; --ink:#23201c; --muted:#6b645b; --line:#e3ddd2;
  --founders:#2f5d7c; --founders-bg:#eaf1f6;
  --fathers:#8a5a22; --fathers-bg:#f7efe3;
  --ok:#3f6b46; --ok-bg:#e9f1e9;
  --accent:#7a2e2e;
  --radius:10px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#16151a; --panel:#1e1d23; --ink:#eae6de; --muted:#a099a1; --line:#33313a;
    --founders:#8fbcd8; --founders-bg:#20313d;
    --fathers:#dcae74; --fathers-bg:#3a2e1e;
    --ok:#94c39c; --ok-bg:#20302a;
    --accent:#e2a0a0;
  }
}
:root[data-theme="dark"]{
  --bg:#16151a; --panel:#1e1d23; --ink:#eae6de; --muted:#a099a1; --line:#33313a;
  --founders:#8fbcd8; --founders-bg:#20313d;
  --fathers:#dcae74; --fathers-bg:#3a2e1e;
  --ok:#94c39c; --ok-bg:#20302a;
  --accent:#e2a0a0;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.wrap{max-width:52rem;margin:0 auto;padding:0 16px}
a{color:var(--accent)}
h1,h2,h3,h4{line-height:1.25;font-weight:650}
h1{font-size:1.9rem;margin:1.6rem 0 .6rem;letter-spacing:-.01em}
h2{font-size:1.25rem;margin:2.4rem 0 .8rem;padding-bottom:.4rem;border-bottom:1px solid var(--line)}
h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 .3rem}
cite{font-style:italic}
.fine{font-size:.82rem;color:var(--muted)}

header.site{border-bottom:1px solid var(--line);background:var(--panel)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;
  gap:1rem;flex-wrap:wrap;padding-top:.85rem;padding-bottom:.85rem}
.brand{font-weight:700;font-size:1.05rem;text-decoration:none;color:var(--ink);letter-spacing:.01em}
header nav a{margin-left:1.1rem;font-size:.9rem;text-decoration:none;color:var(--muted)}
header nav a:hover{color:var(--accent)}
.crumb{font-size:.85rem;color:var(--muted);padding-top:1rem}
.crumb a{color:var(--muted)}

main{padding-bottom:4rem}
.lede{font-size:1.12rem;color:var(--ink)}
.hero p{max-width:42rem}

.stats{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.8rem 0}
.stats div{flex:1 1 7rem;background:var(--panel);border:1px solid var(--line);
  border-radius:var(--radius);padding:.7rem .85rem}
.stats b{display:block;font-size:1.5rem;line-height:1.1}
.stats span{font-size:.78rem;color:var(--muted)}

table.grid{width:100%;border-collapse:separate;border-spacing:8px;margin:1rem -8px 2rem}
table.grid th[scope=col]{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;
  color:var(--muted);font-weight:600;padding-bottom:.2rem}
table.grid th[scope=row]{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;
  color:var(--muted);text-align:right;width:4.5rem;vertical-align:middle;padding-right:.2rem}
td.cell{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:0;vertical-align:top;width:31%}
td.cell a{display:block;padding:.8rem .85rem;text-decoration:none;color:inherit;height:100%}
td.cell a:hover{background:var(--founders-bg)}
td.cell .num{font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums}
td.cell h3{margin:.1rem 0 .3rem;font-size:1rem}
td.cell .q{margin:0 0 .5rem;font-size:.86rem;color:var(--muted);font-style:italic}
td.cell .counts{margin:0;font-size:.8rem;color:var(--muted)}
td.cell .counts span{font-weight:700;color:var(--ink)}
td.cell.todo{opacity:.62}
td.cell .counts.pending{font-style:italic}

.pseudo ul.cols{columns:2;column-gap:2rem;list-style:none;padding:0}
.pseudo li{break-inside:avoid;margin-bottom:.4rem;font-size:.92rem}

.diagnostic{font-style:italic;font-size:1.3rem;color:var(--ink);margin:.2rem 0 .4rem}
.matrix-content{color:var(--muted);margin-top:0}
aside.note{background:var(--panel);border-left:3px solid var(--accent);
  border-radius:0 var(--radius) var(--radius) 0;padding:.8rem 1rem;margin:1.2rem 0}
aside.note p{margin:0}
details.anchors{margin:1rem 0;font-size:.9rem}
details.anchors summary{cursor:pointer;color:var(--muted)}
details.anchors ul{margin:.6rem 0 0;padding-left:1.1rem}
details.anchors li{margin-bottom:.2rem}
.tension ul{padding-left:1.1rem}

h2 .count{font-size:.8rem;color:var(--muted);font-weight:500}

article.find{background:var(--panel);border:1px solid var(--line);
  border-radius:var(--radius);padding:1rem 1.1rem;margin:1rem 0}
article.find blockquote{margin:.5rem 0 .7rem;padding-left:.9rem;
  border-left:3px solid var(--line);
  font-family:Georgia,"Iowan Old Style","Times New Roman",serif;font-size:1.02rem}
article.find blockquote p{margin:0 0 .6rem}
article.find blockquote p:last-child{margin-bottom:0}
.cite{margin:.4rem 0 0;font-size:.9rem}
.cite .path{display:block;color:var(--muted);font-size:.82rem;margin-top:.15rem}
.anchor{margin:.45rem 0 0;font-size:.85rem;color:var(--muted)}
.anchor span{text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;margin-right:.35rem}
.reasoning{margin-top:.8rem;padding-top:.7rem;border-top:1px dashed var(--line)}
.reasoning p{margin:0;font-size:.92rem;color:var(--muted)}
.capped{margin:-.3rem 0 .5rem;font-style:italic}

.badges{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.3rem}
.tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;font-weight:650;
  padding:.16rem .45rem;border-radius:99px;background:var(--line);color:var(--muted)}
.tag-founders{background:var(--founders-bg);color:var(--founders)}
.tag-fathers{background:var(--fathers-bg);color:var(--fathers)}
.tag-ok,.tag-convergence{background:var(--ok-bg);color:var(--ok)}
.tag-quiet{background:transparent;border:1px solid var(--line)}

.pairs .pair{margin:1.4rem 0;padding-top:.6rem;border-top:1px solid var(--line)}
.pair-cols{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.pair-cols article.find{margin:.4rem 0}
.steps li{margin-bottom:.7rem}
.empty-state{color:var(--muted)}

footer.site{border-top:1px solid var(--line);background:var(--panel);
  padding:1.4rem 0 2.4rem;font-size:.9rem}
footer.site p{margin:.3rem 0}

@media (max-width:720px){
  table.grid,table.grid thead,table.grid tbody,table.grid tr,table.grid th,table.grid td{
    display:block;width:auto}
  table.grid thead{display:none}
  table.grid th[scope=row]{text-align:left;width:auto;margin:1.2rem 0 .1rem}
  table.grid{border-spacing:0;margin:1rem 0 2rem}
  td.cell{margin-bottom:.5rem}
  .pair-cols{grid-template-columns:1fr}
  .pseudo ul.cols{columns:1}
}
