:root{--bg:#ffffff;--bg-secondary:#f7f7f8;--text:#1a1a1a;--text-muted:#6b7280;--accent:#2563eb;--accent-hover:#1d4ed8;--border:#e5e7eb;--code-bg:#f3f4f6;--max-width:720px}@media(prefers-color-scheme:dark){:root{--bg:#111113;--bg-secondary:#1c1c1f;--text:#e4e4e7;--text-muted:#a1a1aa;--accent:#60a5fa;--accent-hover:#93bbfd;--border:#2e2e32;--code-bg:#1e1e22}}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen,Ubuntu,Cantarell,fira sans,droid sans,helvetica neue,sans-serif;font-size:1rem;line-height:1.7;color:var(--text);background:var(--bg)}main{max-width:var(--max-width);margin:0 auto;padding:2rem 1.5rem}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}h1,h2,h3,h4{line-height:1.3;margin-top:1.5em;margin-bottom:.5em}h1{font-size:1.8rem}h2{font-size:1.4rem}h3{font-size:1.15rem}p{margin-bottom:1em}ul,ol{padding-left:1.5em;margin-bottom:1em}img{max-width:100%;height:auto}hr{border:none;border-top:1px solid var(--border);margin:2rem 0}header{border-bottom:1px solid var(--border)}header nav{max-width:var(--max-width);margin:0 auto;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.site-title{font-size:1.2rem;font-weight:700;color:var(--text)}.site-title:hover{color:var(--accent);text-decoration:none}header ul{list-style:none;display:flex;gap:1.5rem;padding:0;margin:0}header ul a{color:var(--text-muted);font-size:.95rem}header ul a:hover,header ul a.active{color:var(--accent)}footer{border-top:1px solid var(--border);margin-top:3rem}.footer-content{max-width:var(--max-width);margin:0 auto;padding:1.5rem;text-align:center}footer p{font-size:.85rem;color:var(--text-muted);margin:.75rem 0 0}.social-links{display:flex;justify-content:center;gap:.75rem}.social-links a{color:var(--text-muted);display:flex;transition:color .2s}.social-links a:hover{color:var(--accent);text-decoration:none}.recent-posts h2{margin-top:2.5rem}.recent-posts ul{list-style:none;padding:0}.recent-posts li{display:flex;gap:1rem;align-items:baseline;padding:.3rem 0}.recent-posts time{font-size:.85rem;color:var(--text-muted);white-space:nowrap}.posts-year h2{margin-top:2rem;margin-bottom:.25rem}.posts-year h3{margin-top:1rem;font-weight:500;color:var(--text-muted)}.post-list{list-style:none;padding:0}.post-list li{display:flex;gap:1rem;align-items:baseline;padding:.25rem 0}.post-list time{font-size:.85rem;color:var(--text-muted);min-width:3.5rem}.post-header{margin-bottom:2rem}.post-header h1{margin-top:0}.post-meta{font-size:.9rem;color:var(--text-muted);display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.tags{display:flex;gap:.4rem;flex-wrap:wrap}.tag{background:var(--bg-secondary);border:1px solid var(--border);border-radius:3px;padding:.1em .5em;font-size:.8rem}.toc{background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;padding:1rem 1.25rem;margin-bottom:2rem}.toc h2{font-size:.95rem;margin-top:0;margin-bottom:.5rem}.toc nav ul{margin-bottom:0}.toc nav ul ul{margin-bottom:0}.toc a{font-size:.9rem}code{font-family:sfmono-regular,Consolas,liberation mono,Menlo,monospace;font-size:.88em;background:var(--code-bg);padding:.15em .35em;border-radius:3px}pre{background:var(--code-bg);padding:1rem;border-radius:4px;overflow-x:auto;margin-bottom:1em}pre code{background:0 0;padding:0}blockquote{border-left:3px solid var(--accent);padding-left:1rem;margin:1em 0;color:var(--text-muted)}@media(max-width:600px){h1{font-size:1.5rem}h2{font-size:1.2rem}header nav{padding:.75rem 1rem;flex-wrap:wrap;gap:.5rem}.nav-right{gap:1rem}main{padding:1.5rem 1rem}.recent-posts li,.post-list li{flex-direction:column;gap:0}}