:root { --bg:#fbfaf7; --fg:#1d2230; --muted:#5d6475; --line:#e4e1d9; --accent:#3b4fd8; --code:#f1efe9; color-scheme: light dark; }
@media (prefers-color-scheme: dark) { :root { --bg:#0e1220; --fg:#e7e9f0; --muted:#9aa1b4; --line:#262c40; --accent:#8ea2ff; --code:#171c2e; } }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin:0; background:var(--bg); color:var(--fg); font: 18px/1.65 Charter, "Iowan Old Style", "Palatino Linotype", Georgia, serif; }
.wrap { max-width: 42rem; margin: 0 auto; padding: 0 16px; }
a { color: var(--accent); text-underline-offset: 3px; }
header.site { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; padding-top:28px; padding-bottom:28px; font-family: system-ui, sans-serif; font-size:15px; }
.brand { display:flex; align-items:center; gap:10px; color:var(--fg); text-decoration:none; font-weight:600; letter-spacing:.02em; }
.mark { width:48px; height:18px; } .mark path { stroke: var(--accent); stroke-width:1.2; fill:none; } .mark circle { fill: var(--fg); }
nav a { margin-left:16px; color:var(--muted); text-decoration:none; } nav a:hover { color:var(--fg); }
h1, h2, h3 { font-family: system-ui, sans-serif; line-height:1.25; letter-spacing:-.01em; }
h1 { font-size: 2rem; margin: 0 0 .4em; }
.intro { padding: 24px 0 8px; } .lede { color:var(--muted); font-size:1.1rem; margin-top:0; }
ul.posts { list-style:none; padding:0; margin: 24px 0; } ul.posts li { padding: 20px 0; border-top: 1px solid var(--line); }
ul.posts h2 { font-size:1.3rem; margin:0 0 4px; } ul.posts a { text-decoration:none; } ul.posts p { margin:6px 0 0; }
time, .meta { color:var(--muted); font-family: system-ui, sans-serif; font-size:14px; }
header.post { margin: 16px 0 24px; } .prose h2 { margin-top: 2em; font-size:1.35rem; } .prose h3 { font-size:1.1rem; margin-top:1.6em; }
.prose img { max-width:100%; height:auto; } .prose blockquote { margin:1.2em 0; padding:0 1em; border-left:3px solid var(--line); color:var(--muted); }
code { font: 0.85em/1.5 ui-monospace, "Cascadia Code", Consolas, monospace; background:var(--code); padding:.1em .3em; border-radius:4px; }
pre { background:var(--code); padding:14px 16px; border-radius:8px; overflow-x:auto; } pre code { background:none; padding:0; }
hr { border:0; border-top:1px solid var(--line); margin:2.5em 0; }
footer.site { margin-top:64px; padding-top:20px; padding-bottom:40px; border-top:1px solid var(--line); color:var(--muted); font-family: system-ui, sans-serif; font-size:14px; }
