:root { color-scheme: light; --ink:#172033; --muted:#637083; --line:#dfe5ec; --panel:#f7f9fb; --accent:#3157d5; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:#fff; font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.72; }
a { color:var(--accent); text-decoration:none; } a:hover { text-decoration:underline; }
.wrap { width:min(880px, calc(100% - 36px)); margin:0 auto; }
.site-header { border-bottom:1px solid var(--line); padding:18px 0; margin-bottom:42px; }
.brand { color:var(--ink); font-size:1.15rem; font-weight:750; }
.hero { padding:20px 0 34px; } .hero h1 { font-size:clamp(2rem,6vw,3.5rem); line-height:1.12; margin:0 0 16px; }
.hero p { color:var(--muted); font-size:1.08rem; max-width:680px; }
.post-list { display:grid; gap:16px; padding:0; list-style:none; }
.post-card { border:1px solid var(--line); border-radius:16px; padding:22px; background:var(--panel); }
.post-card h2 { margin:4px 0 8px; font-size:1.35rem; } .post-card p { color:var(--muted); margin:0; }
.post-card time, article time { color:var(--muted); font-size:.9rem; }
article { max-width:760px; margin:0 auto; } article h1 { line-height:1.2; margin-bottom:8px; }
article h2 { margin-top:2.2em; } article h3 { margin-top:1.8em; }
article pre { overflow:auto; padding:16px; background:#111827; color:#f8fafc; border-radius:12px; }
article code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.93em; }
article :not(pre)>code { background:#eef2f7; padding:.15em .35em; border-radius:5px; }
article blockquote { margin:1.5em 0; padding:.2em 1em; border-left:4px solid var(--line); color:var(--muted); }
.back { display:inline-block; margin-bottom:24px; }
.empty { padding:28px; border:1px dashed var(--line); border-radius:14px; color:var(--muted); }
.site-footer { border-top:1px solid var(--line); color:var(--muted); padding:28px 0; margin-top:64px; font-size:.9rem; }
@media (max-width:600px) { .site-header { margin-bottom:24px; } .post-card { padding:18px; } }
