*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#f8fafc;--card:#fff;--text:#1e293b;--muted:#64748b;--accent:#2563eb;--accent-light:#dbeafe;--border:#e2e8f0;--footer-bg:#0f172a;--footer-text:#94a3b8;--radius:8px}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--text);line-height:1.75;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--accent);text-decoration:none;transition:color .2s}
a:hover{color:#1d4ed8}
.container{max-width:800px;margin:0 auto;padding:0 20px;width:100%}

/* Header */
header{background:linear-gradient(135deg,#1e3a5f 0%,#2563eb 50%,#0ea5e9 100%);color:#fff;padding:0;position:sticky;top:0;z-index:100;box-shadow:0 2px 12px rgba(0,0,0,.15)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 0}
.site-name{font-size:1.4rem;font-weight:700;letter-spacing:1px}
.site-name span{opacity:.7;font-weight:400;font-size:.85rem;margin-left:8px}
nav a{color:rgba(255,255,255,.85);margin-left:24px;font-size:.95rem;font-weight:500;transition:color .2s}
nav a:hover,nav a.active{color:#fff}

/* Main */
main{flex:1;padding:40px 0}
.page-title{font-size:1.6rem;font-weight:700;margin-bottom:32px;padding-bottom:12px;border-bottom:2px solid var(--accent);display:inline-block}

/* Article cards */
.post-list{display:flex;flex-direction:column;gap:24px}
.post-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:28px 32px;transition:box-shadow .2s,transform .15s}
.post-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.08);transform:translateY(-2px)}
.post-card h2{font-size:1.25rem;margin-bottom:8px}
.post-card h2 a{color:var(--text)}
.post-card h2 a:hover{color:var(--accent)}
.post-meta{color:var(--muted);font-size:.85rem;margin-bottom:12px;display:flex;gap:16px;align-items:center}
.post-meta .tag{background:var(--accent-light);color:var(--accent);padding:2px 10px;border-radius:12px;font-size:.78rem}
.post-excerpt{color:#475569;font-size:.95rem}
.read-more{display:inline-block;margin-top:12px;font-size:.9rem;font-weight:500}

/* Article detail */
.article{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:40px 48px}
.article h1{font-size:1.8rem;line-height:1.4;margin-bottom:16px}
.article .post-meta{margin-bottom:28px}
.article-body{font-size:1rem;line-height:1.9}
.article-body p{margin-bottom:18px}
.article-body h2{font-size:1.3rem;margin:32px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.article-body h3{font-size:1.1rem;margin:24px 0 8px}
.article-body ul,.article-body ol{margin:0 0 18px 24px}
.article-body li{margin-bottom:6px}
.article-body blockquote{border-left:4px solid var(--accent);padding:12px 20px;background:var(--accent-light);border-radius:0 var(--radius) var(--radius) 0;margin:18px 0;color:#334155}
.article-body code{background:#f1f5f9;padding:2px 6px;border-radius:4px;font-size:.9em}
.article-body pre{background:#1e293b;color:#e2e8f0;padding:20px;border-radius:var(--radius);overflow-x:auto;margin:18px 0}
.article-body pre code{background:none;padding:0;color:inherit}
.article-body img{max-width:100%;border-radius:var(--radius);margin:18px 0}

/* Back link */
.back-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:24px;font-size:.95rem}

/* About page */
.about-content{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:40px 48px}
.about-content h2{font-size:1.3rem;margin:28px 0 12px}
.about-content p{margin-bottom:14px;color:#475569}
.about-content ul{margin:0 0 18px 20px;color:#475569}
.about-content li{margin-bottom:6px}
.profile-card{display:flex;gap:24px;align-items:center;margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--border)}
.avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#0ea5e9);display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;flex-shrink:0}
.profile-info h2{margin:0 0 4px;font-size:1.2rem}
.profile-info p{color:var(--muted);margin:0}

/* Footer */
footer{background:var(--footer-bg);color:var(--footer-text);padding:32px 0;margin-top:auto}
.footer-inner{text-align:center}
.footer-links{margin-bottom:16px}
.footer-links a{color:#cbd5e1;margin:0 12px;font-size:.9rem}
.footer-links a:hover{color:#fff}
.icp-info{font-size:.85rem;color:#64748b;margin-bottom:4px}
.copyright{font-size:.8rem;color:#475569;margin-top:8px}

/* Responsive */
@media(max-width:640px){
  .header-inner{flex-direction:column;gap:12px}
  nav a{margin:0 10px}
  .article,.about-content{padding:24px 20px}
  .post-card{padding:20px}
  .profile-card{flex-direction:column;text-align:center}
}
