:root { --ink:#1b1f24; --muted:#5c6470; --line:#e3e6ea; --accent:#1f5fbf; --bg:#ffffff; --card:#f6f8fa; --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
@media (prefers-color-scheme: dark) { :root { --ink:#e6e8eb; --muted:#9aa3ad; --line:#2b3138; --accent:#6ea8ff; --bg:#0f1216; --card:#171b20; } }
* { box-sizing: border-box; }
body { margin:0; font: 16px/1.6 -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color:var(--ink); background:var(--bg); }
a { color:var(--accent); text-decoration:none; } a:hover { text-decoration:underline; }
.sitenav { display:flex; gap:1.2rem; padding:.8rem 1.5rem; border-bottom:1px solid var(--line); font-size:.92rem; }
.sitenav .active { font-weight:600; color:var(--ink); }
.hero { max-width:960px; margin:0 auto; padding:3rem 1.5rem 1.5rem; }
.hero h1 { font-size:2.1rem; line-height:1.2; margin:0 0 .6rem; }
.hero .tagline { font-size:1.15rem; color:var(--muted); margin:0 0 1.2rem; }
.hero .authors { color:var(--muted); margin:0 0 1rem; }
.links a.btn { display:inline-block; padding:.55rem 1rem; border:1px solid var(--line); border-radius:8px; margin:.2rem .4rem .2rem 0; color:var(--ink); background:var(--card); }
.links a.btn:hover { border-color:var(--accent); text-decoration:none; }
main { max-width:960px; margin:0 auto; padding:0 1.5rem 4rem; }
section { margin:2.2rem 0; }
h2 { font-size:1.35rem; border-bottom:1px solid var(--line); padding-bottom:.3rem; margin:0 0 .9rem; }
.cards { display:grid; grid-template-columns:repeat(auto-fit, minmax(210px,1fr)); gap:1rem; }
.card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:1rem 1.1rem; }
.card .num { font-size:1.7rem; font-weight:700; color:var(--accent); margin-bottom:.3rem; }
.card p { margin:0; color:var(--muted); font-size:.95rem; }
pre { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:1rem; overflow-x:auto; font: 13px/1.5 var(--mono); }
code { font-family:var(--mono); font-size:.92em; }
table { border-collapse:collapse; width:100%; font-size:.95rem; }
th, td { text-align:left; padding:.5rem .6rem; border-bottom:1px solid var(--line); vertical-align:top; }
th { color:var(--muted); font-weight:600; }
.muted { color:var(--muted); }
.stack { display:flex; flex-wrap:wrap; gap:.5rem; }
.stack span { background:var(--card); border:1px solid var(--line); border-radius:999px; padding:.25rem .7rem; font-size:.88rem; }
footer { max-width:960px; margin:0 auto; padding:1rem 1.5rem 3rem; color:var(--muted); font-size:.88rem; border-top:1px solid var(--line); }
