@font-face{font-family:jetbrains mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/JetBrainsMono-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:jetbrains mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/JetBrainsMono-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,html.light{--accent:#8839ef;--bg:#eff1f5;--bg-raised:#e6e9ef;--border:#ccd0da;--link-visited:#8839ef;--text:#4c4f69;--text-dim:#6c6f85;color-scheme:light}html.dark{--accent:#cba6f7;--bg:#1e1e2e;--bg-raised:#181825;--border:#313244;--link-visited:#cba6f7;--text:#cdd6f4;--text-dim:#a6adc8;color-scheme:dark}@media(prefers-color-scheme:dark){:root:not(.light):not(.dark){--accent:#cba6f7;--bg:#1e1e2e;--bg-raised:#181825;--border:#313244;--link-visited:#cba6f7;--text:#cdd6f4;--text-dim:#a6adc8;color-scheme:dark}}*{box-sizing:border-box}html{background:var(--bg);scrollbar-gutter:stable}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif;font-size:17px;line-height:1.65;transition:background-color .15s ease,color .15s ease}.wrap{max-width:960px;margin:0 auto;padding:0 1.25rem}.prose{width:100%;max-width:700px;margin:0 auto;min-width:0}.prose img{max-width:100%;height:auto;display:block}.home{display:grid;grid-template-columns:minmax(200px,28%)1fr;gap:3rem;align-items:start}.home-sidebar{position:sticky;top:2.5rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem}.home-sidebar__avatar{display:block;width:128px;height:128px;border-radius:50%;border:1px solid var(--border);object-fit:cover}.home-sidebar__title{margin:0}.home-sidebar__title a,.home-sidebar__title a:visited{color:var(--text);text-decoration:none;font-size:1.3rem;font-weight:700;letter-spacing:2px;text-transform:uppercase}.home-sidebar__bio{color:var(--text-dim);font-size:.95rem;margin:0}.home-sidebar__social{display:flex;gap:20px;list-style:none;margin:0;padding:0}.home-sidebar__social a,.home-sidebar__social a:visited{display:inline-flex;color:var(--text-dim)}.home-sidebar__social a:hover{color:var(--accent)}.home-sidebar__social svg{width:32px;height:32px}.home-posts__all{display:inline-block;margin-top:.5rem;color:var(--text-dim);font-size:.92rem;text-decoration:none}.home-posts__all:hover{color:var(--accent)}@media(max-width:700px){.home{grid-template-columns:1fr;gap:2rem}.home-sidebar{position:static}}header.site-header{display:flex;align-items:center;justify-content:space-between;padding:2rem 0 1.5rem;border-bottom:1px solid var(--border);margin-bottom:2.5rem}.site-title,.site-title:visited{font-size:1.05rem;font-weight:600;text-decoration:none;color:var(--text)}nav.site-nav{display:flex;align-items:center;gap:1.25rem}nav.site-nav a,nav.site-nav a:visited{color:var(--text-dim);text-decoration:none;font-size:.95rem}nav.site-nav a:hover{color:var(--accent)}#theme-toggle{background:0 0;border:none;color:var(--text);border-radius:6px;padding:.3rem .5rem;cursor:pointer;font-size:.9rem;line-height:1}#theme-toggle:hover{color:var(--accent)}h1,h2,h3,h4{line-height:1.3;font-weight:650}a{color:var(--accent)}a:visited{color:var(--link-visited)}p{margin:1.1em 0}blockquote{margin:1.5em 0;padding:.2em 1em;border-left:3px solid var(--accent);color:var(--text-dim)}hr{border:none;border-top:1px solid var(--border);margin:2.5rem 0}.post-list{list-style:none;margin:0;padding:0}.post-list__item{display:flex;align-items:flex-start;gap:1.25rem;margin-bottom:1.75rem}.post-list__thumb{flex-shrink:0;display:block;width:160px;height:110px;border:1px solid var(--border);border-radius:6px;overflow:hidden}.post-list__thumb img{display:block;width:100%;height:100%;object-fit:cover}.post-list__meta{min-width:0}.post-list .post-title{font-size:1.1rem;font-weight:600;text-decoration:none;color:var(--text)}.post-list .post-title:hover{color:var(--accent)}.post-list__summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--text-dim);font-size:.92rem;line-height:1.45;margin:.3rem 0 0}.post-meta,.post-list time{display:block;color:var(--text-dim);font-size:.88rem;margin-bottom:.15rem}.post-header{scroll-margin-top:2rem}.post-header h1{margin:0 0 .3rem}.post-summary{color:var(--text-dim);font-size:1.05rem;margin:0 0 .6rem}.tags{margin-top:2rem;font-size:.9rem}.tags a{margin-right:.6rem}.back-to-top{display:inline-flex;align-items:center;justify-content:center;margin-top:2.5rem;width:2rem;height:2rem;border-radius:6px;color:var(--text-dim);text-decoration:none;font-size:1.1rem}.back-to-top:hover,.back-to-top:visited:hover{color:var(--accent)}.back-to-top:visited{color:var(--text-dim)}.post-layout--with-toc{display:grid;grid-template-columns:minmax(0,700px)minmax(160px,1fr);align-items:start;gap:2.5rem}.post-toc{position:sticky;top:2rem;font-size:.85rem;line-height:1.5}.post-toc ul{list-style:none;margin:0;padding-left:.9rem}.post-toc ul ul{padding-left:.9rem}.post-toc a,.post-toc a:visited{display:block;padding:.15rem 0;color:var(--text-dim);text-decoration:none}.post-toc a:hover{color:var(--accent)}.post-toc a.post-toc__top,.post-toc a.post-toc__top:visited{font-weight:600;color:var(--text)}.post-toc a.post-toc__top:hover{color:var(--accent)}.post-toc a.is-active,.post-toc a.is-active:visited{color:var(--accent)}@media(max-width:960px){.post-layout--with-toc{grid-template-columns:1fr;gap:1.5rem}.post-toc{position:static;order:-1;border:1px solid var(--border);border-radius:8px;padding:.9rem 1.1rem;background:var(--bg-raised)}}@media(max-width:640px){.post-toc{display:none}}code{font-family:jetbrains mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;font-variant-ligatures:contextual common-ligatures;font-feature-settings:"calt" 1,"liga" 1}:not(pre)>code{background:var(--bg-raised);border:1px solid var(--border);border-radius:4px;padding:.15em .4em}.highlight{margin:1.5rem 0}.chroma{border:1px solid var(--border);border-radius:8px;padding:1rem 1.1rem;margin:0;overflow-x:auto;font-size:.88rem;line-height:1.55}html.light .chroma,html.dark .chroma{background-color:var(--bg-raised)}.code-label{display:inline-block;font-family:jetbrains mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;color:var(--text-dim);background:var(--bg-raised);border:1px solid var(--border);border-bottom:none;border-radius:6px 6px 0 0;padding:.25rem .7rem;margin:1.5rem 0 0}.code-label+.highlight{margin-top:0}.code-label+.highlight .chroma{border-top-left-radius:0}footer.site-footer{margin:3rem 0 2.5rem;padding-top:1.5rem;border-top:1px solid var(--border);color:var(--text-dim);font-size:.85rem}