:root{--bg:#f8fafc;--panel:#fff;--accent:#1d4ed8;--text:#0f172a;--muted:#475569;--border:#cbd5e1;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--accent)}header,main,footer{max-width:960px;margin:0 auto;padding:0 16px}
header{display:flex;align-items:center;gap:16px;padding-top:16px;padding-bottom:8px;flex-wrap:wrap}
.brand{font-weight:900;letter-spacing:3px;text-decoration:none;font-size:15px}
.top{margin-left:auto;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.top a{font-size:14px;font-weight:700;text-decoration:none}
.cta-top{border:1px solid var(--accent);border-radius:999px;padding:6px 14px}
nav.crumbs{font-size:13px;color:var(--muted);margin:8px 0 4px}nav.crumbs a{color:var(--muted)}
h1{font-size:clamp(26px,4.4vw,40px);line-height:1.15;letter-spacing:-.5px;margin:6px 0 12px}
h2{font-size:clamp(20px,3vw,26px);margin:40px 0 8px;letter-spacing:-.3px}
h3{font-size:18px;margin:28px 0 8px}
.meta{font-size:13px;color:var(--muted);margin:0 0 16px}
.lead{font-size:18px;margin:0 0 20px}
p{margin:0 0 14px}ul{margin:0 0 14px;padding-left:22px}li{margin:4px 0}
code{font-size:.92em}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:12px 0 6px;max-width:100%;border:1px solid var(--border);border-radius:12px;background:var(--panel)}
.table-hint{font-size:13px;color:var(--muted);margin:0 0 16px}
@media (min-width:900px){.table-hint{display:none}}
table{width:max-content;min-width:100%;border-collapse:collapse;font-size:14px;margin:0}
th,td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:top}
th{color:var(--muted);font-weight:600;background:var(--bg)}
main a{overflow-wrap:anywhere}
.post-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:18px 18px 8px;margin:16px 0}
.post-card h2{margin-top:0}
footer{border-top:1px solid var(--border);margin-top:48px;padding-top:16px;padding-bottom:32px;font-size:13px;color:var(--muted)}
@media (max-width:520px){table{font-size:13px}th,td{padding:8px 10px}}