:root{--bg:#f7f7f9;--card:#ffffff;--text:#1c2333;--muted:#5b6474;--accent:#4f46e5;--border:#e5e7eb}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.75}
.container{max-width:760px;margin:0 auto;padding:24px 20px 64px}
header.site{padding:40px 20px 12px;text-align:center}
header.site h1{font-size:2rem;letter-spacing:-.02em}
header.site h1 a{color:var(--text);text-decoration:none}
header.site p{color:var(--muted);margin-top:6px}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:26px 28px;margin:18px 0;display:block;color:inherit;text-decoration:none;transition:box-shadow .15s ease}
a.card:hover{box-shadow:0 6px 22px rgba(30,30,60,.09)}
.card h2{font-size:1.25rem;margin-bottom:8px}
.card .desc{color:var(--muted);font-size:.97rem}
.meta{display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--muted);font-size:.85rem;margin-bottom:10px}
.tag{background:#eef2ff;color:#4338ca;border-radius:999px;padding:2px 12px;font-size:.78rem;font-weight:600}
article.post{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:36px;margin-top:22px}
article.post h1{font-size:1.75rem;line-height:1.3;margin-bottom:14px}
article.post h2{margin:1.8em 0 .6em;font-size:1.3rem}
article.post h3{margin:1.5em 0 .5em;font-size:1.08rem}
article.post img{max-width:100%;height:auto;border-radius:10px}
article.post table{width:100%;border-collapse:collapse;margin:1em 0;font-size:.95rem}
article.post th,article.post td{border:1px solid var(--border);padding:8px 12px;text-align:left}
article.post th{background:var(--bg)}
article.post blockquote{border-left:4px solid var(--accent);padding-left:16px;color:var(--muted);margin:1em 0}
article.post pre{background:#0f172a;color:#e2e8f0;padding:16px;border-radius:10px;overflow-x:auto;font-size:.88rem}
.backlink{display:inline-block;margin-top:26px;color:var(--accent);text-decoration:none;font-weight:600}
footer.site{text-align:center;color:var(--muted);font-size:.85rem;margin-top:48px}
@media(max-width:600px){article.post{padding:22px}header.site h1{font-size:1.55rem}}