:root { --maxw: 960px; }
* { box-sizing: border-box; }
body { margin:0; font:16px/1.5 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color:#111; }
a { color:#0a58ca; text-decoration:none; }
a:hover { text-decoration:underline; }

.topbar { position:sticky; top:0; z-index:10; background:#fff; border-bottom:1px solid #eee; display:flex; align-items:center; gap:24px; padding:10px 16px; }
.brand a { font-weight:700; color:#111; }
.tabs { display:flex; gap:8px; }
.tab { padding:8px 12px; border-radius:6px; color:#111; }
.tab:hover { background:#f5f5f5; text-decoration:none; }
.tab.active { background:#111; color:#fff; }

.container { max-width:var(--maxw); margin:24px auto; padding:0 16px; }
.footer { border-top:1px solid #eee; padding:16px; text-align:center; color:#666; }

.post { margin:0 0 28px 0; }
.post h2 { margin:0 0 6px 0; font-size:1.3rem; }
.post .meta { color:#666; font-size:0.9rem; margin-bottom:8px; }
.post p { margin:0.4rem 0; }

.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; }
.card { border:1px solid #eee; border-radius:10px; overflow:hidden; background:#fff; }
.card img { display:block; width:100%; height:auto; }
.card .card-body { padding:10px; }
.card .title { font-weight:600; margin:0 0 6px 0; }
