:root { --fg:#1c2330; --muted:#5d6b82; --line:#e4e8ef; --bg:#fbfcfe; --accent:#2f6fed; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--fg);
       font:16px/1.65 -apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif; }
a { color:var(--accent); }
.wrap { max-width:760px; margin:0 auto; padding:0 24px; }
header { border-bottom:1px solid var(--line); }
header .wrap { display:flex; align-items:center; justify-content:space-between; height:64px; }
.brand { font-weight:700; letter-spacing:.2px; font-size:17px; text-decoration:none; color:var(--fg); }
nav a { color:var(--muted); text-decoration:none; margin-left:22px; font-size:14px; }
nav a:hover { color:var(--accent); }
section.hero { padding:72px 0 40px; }
h1 { font-size:34px; line-height:1.25; margin:0 0 16px; letter-spacing:-.4px; }
.lead { color:var(--muted); font-size:17px; max-width:56ch; margin:0; }
h2 { font-size:13px; text-transform:uppercase; letter-spacing:.14em; color:var(--muted);
     font-weight:600; margin:44px 0 16px; }
.post { display:block; padding:20px 0; border-bottom:1px solid var(--line); text-decoration:none; color:inherit; }
.post:last-child { border-bottom:0; }
.post h3 { margin:0 0 6px; font-size:18px; font-weight:600; }
.post p { margin:0; color:var(--muted); font-size:15px; }
.post time { display:block; margin-top:8px; color:#8a97ab; font-size:13px; }
.post:hover h3 { color:var(--accent); }
.about { background:#fff; border:1px solid var(--line); border-radius:10px; padding:24px; margin:40px 0; }
.about p { margin:0; color:var(--muted); }
.article { max-width:680px; }
.article p { margin:0 0 18px; }
.article h1 { margin-bottom:18px; }
.article code { background:#eef1f6; padding:1px 5px; border-radius:4px; font-size:14px; }
.meta { color:#8a97ab; font-size:13px; }
footer { border-top:1px solid var(--line); margin-top:56px; padding:28px 0 48px;
         color:#8a97ab; font-size:13px; }
@media (max-width:520px){ h1{font-size:27px;} section.hero{padding:48px 0 24px;} }
