:root{color-scheme:light dark;--bg:#fafafa;--text:#202124;--muted:#6b7280;--border:#dedede;--link:#2457c5;--code:#f1f3f5;--max-width:760px}@media(prefers-color-scheme:dark){:root{--bg:#111315;--text:#e8e8e8;--muted:#9ca3af;--border:#30343a;--link:#8ab4f8;--code:#1c1f23}}*{box-sizing:border-box}html{font-size:17px}body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,sans-serif;line-height:1.7}.wrap{width:min(calc(100% - 2rem),var(--max-width));margin-inline:auto}a{color:var(--link);text-decoration-thickness:.08em;text-underline-offset:.15em}a:hover{text-decoration-thickness:.13em}.site-header{border-bottom:1px solid var(--border)}.header-inner{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.site-title{color:var(--text);font-weight:700;text-decoration:none}nav{display:flex;flex-wrap:wrap;gap:.9rem}nav a{color:var(--muted);text-decoration:none}nav a:hover{color:var(--text)}.site-main{padding:3.5rem 0 5rem}.intro{margin-bottom:3.5rem}.intro h1{margin-bottom:.25rem;font-size:clamp(2.1rem,7vw,3.4rem)}.intro p{margin-top:0;color:var(--muted);font-size:1.1rem}h1,h2,h3{line-height:1.2;letter-spacing:-.02em}h1{font-size:clamp(2rem,6vw,3rem)}h2{margin-top:2.5rem}.post-summary{padding:1.5rem 0;border-top:1px solid var(--border)}.post-summary h2,.post-summary h3{margin:0 0 .3rem}.post-summary h2 a,.post-summary h3 a{color:var(--text);text-decoration:none}.post-summary p{margin-bottom:.4rem}.post-meta{color:var(--muted);font-size:.9rem}.tags{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.6rem;font-size:.9rem}.tags a{text-decoration:none}.article-header{margin-bottom:2.5rem}.article-header h1{margin-bottom:.5rem}.content img{max-width:100%;height:auto;border-radius:6px}.content blockquote{margin-left:0;padding-left:1rem;border-left:3px solid var(--border);color:var(--muted)}.content pre{overflow-x:auto;padding:1rem;border-radius:6px;background:var(--code)!important}.content code:not(pre code){padding:.12rem .3rem;border-radius:4px;background:var(--code)}.content table{width:100%;border-collapse:collapse}.content th,.content td{padding:.5rem;border-bottom:1px solid var(--border);text-align:left}.site-footer{border-top:1px solid var(--border);padding:1.5rem 0;color:var(--muted);font-size:.9rem}.site-footer p{margin:0}@media(max-width:600px){.header-inner{align-items:flex-start;flex-direction:column;padding:.9rem 0}.site-main{padding-top:2.5rem}}