:root{--bg:#fafaf9;--fg:#1c1917;--muted:#78716c;--accent:#2563eb;--card:#fff;--line:#e7e5e4}
@media (prefers-color-scheme:dark){:root{--bg:#0c0a09;--fg:#e7e5e4;--muted:#a8a29e;--accent:#60a5fa;--card:#1c1917;--line:#292524}}
*{box-sizing:border-box}
body{margin:0;font:16px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--fg)}
header,main,footer{max-width:860px;margin:0 auto;padding:0 20px}
header{display:flex;justify-content:space-between;align-items:center;padding-top:24px;padding-bottom:24px;flex-wrap:wrap;gap:12px}
.logo{font-weight:700;color:var(--fg);text-decoration:none}.logo span{color:var(--accent)}
nav a{color:var(--muted);text-decoration:none;margin-left:18px}nav a:hover{color:var(--fg)}
.hero{padding:48px 0 32px}.hero h1{font-size:2rem;line-height:1.25;margin:0 0 12px}.hero p{color:var(--muted);margin:0}
h2{font-size:1.2rem;margin:40px 0 16px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
article{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px}
article h3{margin:0 0 6px;font-size:1rem}article p{margin:0 0 10px;color:var(--muted);font-size:.95rem}
.tag{font-size:.75rem;border:1px solid var(--line);border-radius:999px;padding:2px 10px;color:var(--muted)}
.notes{list-style:none;padding:0;margin:0}.notes li{padding:10px 0;border-bottom:1px solid var(--line)}
.notes time{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:14px}
footer{color:var(--muted);font-size:.85rem;padding-top:48px;padding-bottom:32px}
