:root{--paper:#FFFFFF;--ink:#0A1322;--muted:#56627A;--rule:#E4E8EF;--accent:#0A1322}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
.wrap{max-width:760px;margin:0 auto;padding:56px 24px 96px}
header{border-bottom:1px solid var(--rule);padding-bottom:24px;margin-bottom:40px}
.brand{font-weight:700;font-size:20px;letter-spacing:-0.02em;text-decoration:none;color:var(--ink)}
h1{font-size:38px;line-height:1.15;letter-spacing:-0.03em;margin:32px 0 8px}
h2{font-size:22px;letter-spacing:-0.02em;margin:40px 0 10px}
h3{font-size:17px;margin:26px 0 6px}
p,li{color:var(--ink)}
.meta{color:var(--muted);font-size:15px;margin:0 0 8px}
ul,ol{padding-left:22px}
li{margin:6px 0}
table{border-collapse:collapse;width:100%;margin:18px 0;font-size:15px;display:block;overflow-x:auto}
th,td{border:1px solid var(--rule);padding:10px 12px;text-align:left;vertical-align:top}
th{background:#F7F9FC;font-weight:600}
a{color:var(--accent)}
.todo{background:#FFF6E5;border:1px solid #F2D69A;border-radius:6px;padding:2px 6px;font-weight:600}
footer{border-top:1px solid var(--rule);margin-top:64px;padding-top:24px;color:var(--muted);font-size:14px}
footer a{color:var(--muted);margin-right:16px}
@media (prefers-color-scheme:dark){
 :root{--paper:#0A1322;--ink:#F2F5FA;--muted:#98A3B8;--rule:#25314A;--accent:#8FB8FF}
 th{background:#141F35}
 .todo{background:#3A2E12;border-color:#6B5320;color:#FFE6B0}
}

/* index hub */
.lead{font-size:19px;color:var(--muted);max-width:60ch}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:36px 0 8px}
.card{display:block;border:1px solid var(--rule);border-radius:10px;padding:20px 22px;text-decoration:none;color:inherit;transition:border-color .15s ease,transform .15s ease}
.card:hover{border-color:var(--muted);transform:translateY(-2px)}
.card h2{margin:0 0 6px;font-size:18px}
.card p{margin:0;color:var(--muted);font-size:15px;line-height:1.5}
.entity{border:1px solid var(--rule);border-radius:10px;padding:18px 22px;margin-top:40px;font-size:15px;color:var(--muted)}
.entity strong{color:var(--ink)}
