:root { --ink:#172033; --muted:#637083; --accent:#2864dc; --line:#e6eaf0; --paper:#fff; --bg:#f7f8fb; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:var(--bg); color:var(--ink); font:16px/1.7 Inter,ui-sans-serif,system-ui,-apple-system,"Microsoft YaHei",sans-serif; }
a { color:var(--accent); text-decoration:none; } a:hover { text-decoration:underline; }
.container { width:min(920px, calc(100% - 40px)); margin:0 auto; }
.site-header { background:var(--paper); border-bottom:1px solid var(--line); }
.header-inner { min-height:68px; display:flex; align-items:center; justify-content:space-between; }
.brand { font-weight:800; font-size:1.25rem; letter-spacing:-.04em; color:var(--ink); }.brand:hover { text-decoration:none; }
.site-footer { margin-top:72px; padding:28px 0; color:var(--muted); border-top:1px solid var(--line); font-size:.9rem; }
.page-heading { padding:64px 0 28px; }.page-heading h1 { margin:.15rem 0; font-size:clamp(2rem,5vw,3rem); letter-spacing:-.06em; }.page-heading p:last-child { color:var(--muted); margin:0; }
.eyebrow { color:var(--accent); font-size:.75rem; font-weight:800; letter-spacing:.12em; margin:0; }
.article-list { display:grid; gap:16px; }.article-card,.article-detail { background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:28px; box-shadow:0 5px 22px rgb(30 45 80 / 4%); }
.article-card h2 { font-size:1.3rem; margin:.35rem 0; letter-spacing:-.03em; }.article-card h2 a { color:var(--ink); }.article-date { font-size:.88rem; color:var(--muted); }.article-summary { color:#3d495c; margin:.3rem 0 1rem; }.read-more { font-weight:700; font-size:.92rem; }
.article-detail { margin-top:64px; padding:clamp(24px,5vw,56px); }.article-header { border-bottom:1px solid var(--line); padding-bottom:26px; margin-bottom:32px; }.article-header h1 { font-size:clamp(2rem,5vw,3.25rem); line-height:1.15; letter-spacing:-.06em; margin:0 0 12px; }.article-header time { color:var(--muted); font-size:.9rem; }.article-lead { color:#435066; font-size:1.15rem; margin:20px 0 0; }.article-content h2 { margin-top:2rem; }.article-content pre { overflow:auto; padding:16px; border-radius:10px; background:#152238; color:#ecf2ff; line-height:1.5; }.back-link { display:inline-block; margin-top:20px; }.loading,.empty-state,.error-state { padding:32px; text-align:center; color:var(--muted); }.error-state { color:#b42318; }
@media (max-width:560px) { .container { width:min(100% - 28px, 920px); }.page-heading { padding-top:44px; }.article-card { padding:22px; } }
