:root {
  --ink: #1c1c1e; --muted: #6b6b70; --line: #dcdce1;
  --accent: #446791; --bg: #ffffff; --panel: #f7f7f9;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root { --ink:#e8e8ec; --muted:#9a9aa2; --line:#2c2c33; --accent:#85a5c7; --bg:#131318; --panel:#1a1a20; }
}
* { box-sizing: border-box; }
body {
  margin: 0; background: var(--bg); color: var(--ink);
  font: 17px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
.wrap { max-width: 42rem; margin: 0 auto; padding: 3rem 1.25rem 5rem; }
header.site { border-bottom: 1px solid var(--line); }
header.site .wrap { padding: 1.25rem 1.25rem; display: flex; align-items: baseline; gap: 1.25rem; flex-wrap: wrap; }
header.site a { color: var(--muted); text-decoration: none; font-size: .95rem; }
header.site a:hover { color: var(--accent); }
header.site .brand { font-weight: 650; color: var(--ink); font-size: 1rem; letter-spacing: -0.01em; }
h1 { font-size: 1.85rem; line-height: 1.25; margin: 0 0 .4rem; letter-spacing: -0.02em; }
h2 { font-size: 1.12rem; margin: 2.1rem 0 .5rem; letter-spacing: -0.005em; }
p.lede { font-size: 1.08rem; color: var(--ink); }
.updated { color: var(--muted); font-size: .95rem; margin: 0 0 2rem; }
a { color: var(--accent); }
ul { padding-left: 1.2rem; } li { margin: .3rem 0; }
.card { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 1.1rem 1.25rem; margin: 1.5rem 0; }
footer.site { border-top: 1px solid var(--line); margin-top: 3rem; }
footer.site .wrap { padding: 1.25rem; color: var(--muted); font-size: .9rem; }
