:root{--bg:#fff;--fg:#111827;--muted:#6b7280;--border:#e5e7eb;--accent:#2563eb;--accent-hover:#1d4ed8;--tag-bg:#f3f4f6;--card-bg:#fff;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#0f172a;--fg:#f8fafc;--muted:#94a3b8;--border:#334155;--accent:#38bdf8;--accent-hover:#0284c7;--tag-bg:#1e293b;--card-bg:#1e293b}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}.container{max-width:760px;margin:0 auto;padding:3rem 1.5rem}.header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:2.5rem;padding-bottom:1.5rem;display:flex}.header h1{font-size:1.875rem;font-weight:700}.header a.brand{letter-spacing:-.025em;font-size:1.25rem;font-weight:800}.nav-links{gap:1.25rem;font-size:.95rem;display:flex}.post-list{flex-direction:column;gap:2rem;list-style:none;display:flex}.post-card{border-bottom:1px solid var(--border);padding-bottom:2rem}.post-card:last-child{border-bottom:none}.post-title{margin-bottom:.5rem;font-size:1.5rem;font-weight:700;line-height:1.3}.post-excerpt{color:var(--muted);margin-bottom:.75rem;font-size:1rem}.meta-row{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.875rem;display:flex}.tags{flex-wrap:wrap;gap:.5rem;display:flex}.tag-badge{background:var(--tag-bg);color:var(--fg);border-radius:9999px;padding:.2rem .6rem;font-size:.75rem;font-weight:500}.tag-badge:hover{background:var(--border);color:var(--fg)}.article-content{margin-top:2rem;font-size:1.125rem;line-height:1.8}.article-content p{margin-bottom:1.25rem}.article-content h2{margin-top:2rem;margin-bottom:1rem;font-size:1.5rem;font-weight:700}.article-content h3{margin-top:1.5rem;margin-bottom:.75rem;font-size:1.25rem;font-weight:600}.article-content ul,.article-content ol{margin-bottom:1.25rem;padding-left:1.5rem}.article-content li{margin-bottom:.5rem}.article-content pre{background:var(--tag-bg);border:1px solid var(--border);border-radius:8px;margin-bottom:1.5rem;padding:1rem;font-size:.875rem;overflow-x:auto}.article-content blockquote{border-left:4px solid var(--accent);color:var(--muted);margin-bottom:1.5rem;padding-left:1rem;font-style:italic}.back-link{color:var(--muted);margin-bottom:1.5rem;font-size:.875rem;display:inline-block}
