:root{--bg:#0f1417;--card:#171e22;--text:#e8e6e3;--muted:#9aa5ab;--accent:#7fb069}
*{box-sizing:border-box}body{margin:0;font:16px/1.65 system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;background:var(--bg);color:var(--text)}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:780px;margin:0 auto;padding:0 18px}
header.site{border-bottom:1px solid #232b30;padding:18px 0}
.nav{display:flex;justify-content:space-between;align-items:center}
.logo{font-weight:700;font-size:1.15rem;color:var(--text)}
.nav nav a{margin-left:16px;color:var(--muted)}
.hero{margin:28px 0;border-radius:14px;overflow:hidden}
.hero img{width:100%;height:320px;object-fit:cover;display:block}
.hero .cap{padding:10px 14px;background:var(--card);color:var(--muted);font-size:.85rem}
.cards{display:grid;gap:18px;margin:26px 0}
.card{background:var(--card);border:1px solid #232b30;border-radius:14px;overflow:hidden}
.card img{width:100%;height:200px;object-fit:cover;display:block}
.card .body{padding:16px 18px}
.card h2{margin:0 0 6px;font-size:1.2rem}
.meta{color:var(--muted);font-size:.85rem;margin-bottom:8px}
.excerpt{color:#cfd8dc;margin:0}
footer.site{border-top:1px solid #232b30;margin-top:40px;padding:20px 0;color:var(--muted);font-size:.9rem}
article.post img.full{width:100%;border-radius:14px;margin:18px 0}
article.post h1{font-size:1.7rem;line-height:1.25}
pre{background:#0b0f11;border:1px solid #232b30;border-radius:10px;padding:14px;overflow:auto;font-size:.85rem}
code{font-family:ui-monospace,Consolas,monospace}
.tags span{display:inline-block;background:#20282d;border-radius:999px;padding:2px 10px;font-size:.78rem;color:var(--muted);margin-right:6px}
.note{color:var(--muted);font-size:.9rem;border-left:3px solid var(--accent);padding-left:12px}
.about{display:flex;gap:18px;align-items:center}.about img{width:110px;height:110px;border-radius:50%;object-fit:cover}
@media(max-width:600px){.hero img{height:200px}}
