:root{--bg: #ffffff;--bg-elev: #f8fafc;--text: #0f172a;--muted: #475569;--brand: #10b981;--card: #ffffff;--border: #e5e7eb}*{box-sizing:border-box}html{font-size:16px}body{margin:0;font-family:"Inter", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, Apple Color Emoji, Segoe UI Emoji;background:var(--bg);color:var(--text);line-height:1.7}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:980px;margin:2rem auto;padding:0 1rem}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,0.85);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--border)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;max-width:980px;margin:0 auto;padding:.75rem 1rem}.brand{font-weight:800;font-size:1.125rem;color:var(--text)}.nav{display:flex;align-items:center;gap:1rem}.nav a{color:var(--text);opacity:.9}.nav a:hover{opacity:1}.site-footer{border-top:1px solid var(--border);padding:2rem 1rem;color:var(--muted)}h1,h2,h3{font-family:"Inter", ui-sans-serif, system-ui;line-height:1.2}h1{font-size:clamp(2rem, 4vw, 2.5rem);margin:0 0 .5rem}h2{font-size:clamp(1.25rem, 3vw, 1.5rem);margin:0 0 .25rem}.hero{border:1px solid var(--border);border-radius:1rem;background:var(--bg-elev);padding:1.25rem 1.5rem;margin-bottom:1.5rem}.bio{display:grid;grid-template-columns:96px 1fr;gap:1rem;align-items:center}.avatar{width:96px;height:96px;border-radius:9999px;overflow:hidden;background:#e2e8f0;border:1px solid var(--border)}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.hero .title{color:var(--muted);margin:.25rem 0}.hero .desc{margin:.5rem 0 0;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(12, 1fr);gap:1rem}.post-card{grid-column:span 12;background:var(--card);border:1px solid var(--border);border-radius:1rem;overflow:hidden;transition:transform .15s ease, border-color .15s ease;padding:1rem 1.25rem}.post-card:hover{transform:translateY(-2px);border-color:var(--brand)}.post-card .meta{color:var(--muted);font-size:.9rem;margin:0 0 .4rem}.post-card .excerpt{margin:.25rem 0 0;color:var(--muted)}.post-card .tags{margin-top:.5rem;display:flex;gap:.4rem;flex-wrap:wrap}.post-card .tags span{font-size:.8rem;padding:.2rem .5rem;border:1px solid var(--border);border-radius:.5rem;background:var(--bg-elev)}@media (min-width: 700px){.post-card{grid-column:span 6}}.post h1{margin-top:0}.post .meta{color:var(--muted);margin-bottom:1rem}.post .content img{max-width:100%;border-radius:.75rem}.post .content pre,.post .content code{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}.post .content pre{background:var(--bg-elev);border:1px solid var(--border);padding:1rem;border-radius:.75rem;overflow:auto}.page h1{margin-top:0}.pagination{margin:2rem 0;display:flex;align-items:center;justify-content:center;gap:.75rem}.pagination a,.pagination span.page{border:1px solid var(--border);background:var(--bg-elev);color:var(--text);padding:.5rem .75rem;border-radius:.6rem}blockquote{border-left:3px solid var(--brand);padding:.5rem 1rem;margin:1rem 0;background:var(--bg-elev)}table{width:100%;border-collapse:collapse;border:1px solid var(--border)}th,td{border:1px solid var(--border);padding:.5rem .6rem}.tags-cloud{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tags-cloud .tag{border:1px solid var(--border);padding:.25rem .5rem;border-radius:.5rem;background:var(--bg-elev)}.result{border:1px solid var(--border);padding:.75rem 1rem;border-radius:.75rem;margin:.5rem 0;background:var(--bg-elev)}.result .meta{color:var(--muted);font-size:.85rem}.projects{margin-top:2rem}
