:root { --bg:#fbfbf8; --fg:#1d1d1f; --muted:#5f6368; --line:#d9d9d4; --link:#1b5fa8; --code:#f0efe9; }
@media (prefers-color-scheme: dark) {
  :root { --bg:#141518; --fg:#e8e6e1; --muted:#a0a4ab; --line:#2e3036; --link:#79b2f2; --code:#1f2126; }
}
* { box-sizing: border-box; }
body { margin:0; padding:32px 16px 64px; background:var(--bg); color:var(--fg);
       font:16px/1.6 ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; }
main { max-width:860px; margin:0 auto; }
a { color:var(--link); }
h1, h2, h3 { line-height:1.25; }
h2 { margin-top:2.2em; padding-bottom:.3em; border-bottom:1px solid var(--line); }
code, pre { font-family:ui-monospace, "JetBrains Mono", Menlo, monospace; font-size:.9em; background:var(--code); }
code { padding:.1em .3em; border-radius:4px; }
pre { padding:12px; overflow-x:auto; border-radius:6px; }
pre code { padding:0; background:none; }
table { border-collapse:collapse; display:block; overflow-x:auto; }
th, td { text-align:left; padding:6px 10px; border-bottom:1px solid var(--line); vertical-align:top; }
img, video { max-width:100%; height:auto; }
.muted, .meta { color:var(--muted); }
.meta { font-size:.9em; }
nav.top { font-size:.9em; margin-bottom:24px; }
header.site { text-align:center; margin-bottom:8px; }
header.site img { width:min(520px, 100%); }
ul.items { list-style:none; padding:0; }
ul.items li { padding:12px 0; border-bottom:1px solid var(--line); }
ul.items .title { font-weight:600; }
footer { margin-top:48px; font-size:.85em; color:var(--muted); }
