:root { color-scheme: light dark; --bg:#fafafa; --fg:#222; --muted:#666; --line:#e2e2e2; --link:#0b5fd0; --code-bg:#f0f0f0; --notice:#fff6d6; }
@media (prefers-color-scheme: dark) {
  :root { --bg:#181818; --fg:#e6e6e6; --muted:#a0a0a0; --line:#333; --link:#7ab2ff; --code-bg:#262626; --notice:#3a3320; }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin:0; min-height:100vh; display:flex; flex-direction:column; background:var(--bg); color:var(--fg);
       font:18px/1.75 system-ui,-apple-system,"Segoe UI","Noto Sans CJK SC","PingFang SC","Microsoft YaHei",sans-serif; }
a { color: var(--link); }
h1 { font-size:1.7rem; line-height:1.3; margin:.4rem 0 .6rem; }
h2 { font-size:1.3rem; margin:2rem 0 .6rem; }
.muted { color: var(--muted); }

.site-header { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.4rem 1.5rem;
               padding:.9rem 1.25rem; border-bottom:1px solid var(--line); }
.brand { font-weight:700; font-size:1.1rem; text-decoration:none; color:var(--fg); }
.nav { display:flex; flex-wrap:wrap; gap:.2rem 1.1rem; font-size:.95rem; }
.nav a { text-decoration:none; }
.nav a:hover { text-decoration:underline; }
.lang-switch { color: var(--muted); }
.lang-switch [aria-current] { color: var(--fg); font-weight:600; }

.container { flex:1; width:100%; max-width:46rem; margin:0 auto; padding:1.5rem 1.25rem; }
.hero p { font-size:1.1rem; color:var(--muted); margin-top:0; }

.post-list { list-style:none; margin:0; padding:0; }
.post-item { padding:.9rem 0; border-bottom:1px solid var(--line); }
.post-title { font-size:1.15rem; font-weight:600; text-decoration:none; }
.post-title:hover { text-decoration:underline; }
.meta { font-size:.85rem; color:var(--muted); margin:.15rem 0; }
.summary { margin:.3rem 0 0; color:var(--muted); font-size:.95rem; }
.tag { display:inline-block; margin-left:.4rem; padding:0 .55rem; border:1px solid var(--line); border-radius:1rem; font-size:.8rem; text-decoration:none; }
.tag-cloud .tag { margin:0 .5rem .5rem 0; font-size:.95rem; padding:.1rem .8rem; }
.badge { padding:0 .4rem; border-radius:.25rem; background:var(--code-bg); }
.notice { background:var(--notice); padding:.5rem .8rem; border-radius:.4rem; font-size:.9rem; }
.pagination { display:flex; justify-content:space-between; align-items:center; margin-top:1.5rem; }

.prose { overflow-wrap:anywhere; }
.prose img { max-width:100%; height:auto; }
.prose pre { background:var(--code-bg); padding:.8rem 1rem; overflow-x:auto; border-radius:.4rem; font-size:.85rem; line-height:1.5; }
.prose code { background:var(--code-bg); padding:.1rem .3rem; border-radius:.25rem; font-size:.9em; }
.prose pre code { background:none; padding:0; }
.prose blockquote { margin:1rem 0; padding:.1rem 1rem; border-left:4px solid var(--line); color:var(--muted); }
.prose table { border-collapse:collapse; display:block; overflow-x:auto; max-width:100%; }
.prose th, .prose td { border:1px solid var(--line); padding:.35rem .7rem; }
.prose hr { border:0; border-top:1px solid var(--line); margin:2rem 0; }

.site-footer { padding:1rem 1.25rem; border-top:1px solid var(--line); color:var(--muted); font-size:.8rem; text-align:center; }
