:root{--bg:#fafafa;--bg-card:#fff;--text:#1a1a2e;--text-secondary:#64748b;--accent:#2563eb;--accent-hover:#1d4ed8;--border:#e2e8f0;--tag-bg:#f1f5f9;--shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-hover:0 10px 25px #00000014;--radius:12px;--max-width:720px;--max-width-wide:1080px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.8}.site-header{background:var(--bg-card);border-bottom:1px solid var(--border);z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd9;position:sticky;top:0}.site-header-inner{max-width:var(--max-width-wide);justify-content:space-between;align-items:center;margin:0 auto;padding:16px 24px;display:flex}.site-logo{color:var(--text);letter-spacing:-.5px;font-size:20px;font-weight:700;text-decoration:none}.site-nav a{color:var(--text-secondary);margin-left:24px;font-size:14px;text-decoration:none;transition:color .2s}.site-nav a:hover{color:var(--accent)}.post-list-page{max-width:var(--max-width-wide);margin:0 auto;padding:48px 24px}.post-list-hero{text-align:center;margin-bottom:48px}.post-list-hero h1{letter-spacing:-1px;margin-bottom:12px;font-size:32px;font-weight:800}.post-list-hero p{color:var(--text-secondary);max-width:480px;margin:0 auto;font-size:16px}.post-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;display:grid}.post-card{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);color:inherit;flex-direction:column;padding:28px;text-decoration:none;transition:box-shadow .3s,transform .3s;display:flex}.post-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.post-card-date{color:var(--text-secondary);font-variant-numeric:tabular-nums;margin-bottom:12px;font-size:13px}.post-card h2{letter-spacing:-.3px;margin-bottom:12px;font-size:19px;font-weight:700;line-height:1.4}.post-card p{color:var(--text-secondary);flex:1;font-size:14px;line-height:1.7}.post-card-footer{color:var(--accent);margin-top:16px;font-size:13px;font-weight:600}.article-page{max-width:var(--max-width);margin:0 auto;padding:48px 24px 96px}.article-header{border-bottom:1px solid var(--border);margin-bottom:40px;padding-bottom:32px}.article-header h1{letter-spacing:-1px;margin-bottom:16px;font-size:34px;font-weight:800;line-height:1.3}.article-meta{color:var(--text-secondary);font-size:14px}.article-content h2{letter-spacing:-.5px;border-bottom:2px solid var(--border);margin:40px 0 16px;padding-bottom:8px;font-size:24px;font-weight:700}.article-content h3{margin:32px 0 12px;font-size:19px;font-weight:700}.article-content p{color:#334155;margin-bottom:18px;font-size:16px;line-height:1.9}.article-content a{color:var(--accent);border-bottom:1px solid #0000;text-decoration:none;transition:border-color .2s}.article-content a:hover{border-bottom-color:var(--accent)}.article-content strong{color:var(--text);font-weight:700}.article-content ul,.article-content ol{margin:0 0 18px 24px}.article-content li{color:#334155;margin-bottom:8px;font-size:16px;line-height:1.8}.article-content blockquote{border-left:3px solid var(--accent);color:#475569;background:#f8fafc;border-radius:0 8px 8px 0;margin:24px 0;padding:12px 20px}.article-content code{background:var(--tag-bg);color:#e11d48;border-radius:4px;padding:2px 6px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:14px}.article-content pre{color:#e2e8f0;background:#1e293b;border-radius:8px;margin:24px 0;padding:20px;line-height:1.6;overflow-x:auto}.article-content pre code{color:inherit;background:0 0;padding:0}.article-content hr{background:var(--border);border:none;height:1px;margin:40px 0}.article-content img{border-radius:8px;max-width:100%;margin:24px 0}.back-link{color:var(--text-secondary);align-items:center;gap:6px;margin-bottom:32px;font-size:14px;text-decoration:none;transition:color .2s;display:inline-flex}.back-link:hover{color:var(--accent)}.site-footer{text-align:center;color:var(--text-secondary);border-top:1px solid var(--border);padding:32px 24px;font-size:13px}@media (max-width:640px){.post-list-hero h1{font-size:24px}.article-header h1{font-size:26px}.post-grid{grid-template-columns:1fr}.article-content h2{font-size:20px}}
