:root{--font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, monospace;--max-width:42rem;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.25rem;--space-xl:1.5rem;--space-2xl:2rem;--radius-sm:.25rem;--radius-md:.5rem;--color-bg:#fff;--color-text:#1a1a2e;--color-text-muted:#64748b;--color-link:#06c;--color-link-hover:#0052a3;--color-border:#e2e8f0;--color-code-bg:#f1f5f9;--color-accent:#06c;--color-aside-bg:#fffbeb;--color-aside-border:#d4a24c;--github-corner-bg:#f1f5f9;--github-corner-mark:#64748b;--github-corner-hover:#e2e8f0}@media (prefers-color-scheme:dark){:root{--color-bg:#0f172a;--color-text:#e2e8f0;--color-text-muted:#94a3b8;--color-link:#60a5fa;--color-link-hover:#93c5fd;--color-border:#334155;--color-code-bg:#1e293b;--color-accent:#60a5fa;--color-aside-bg:#292618;--color-aside-border:#b89146;--github-corner-bg:#1e293b;--github-corner-mark:#94a3b8;--github-corner-hover:#334155}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:18px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.8;padding:var(--space-2xl) var(--space-md)}main{max-width:var(--max-width);margin:0 auto}.github-corner{position:fixed;top:0;right:0;z-index:1;width:4.5rem;height:4.5rem;color:var(--github-corner-mark);text-decoration:none}.github-corner svg{display:block;width:100%;height:100%}.github-corner:hover{color:var(--color-text);text-decoration:none}.github-corner:hover .github-corner-background{fill:var(--github-corner-hover)}.github-corner:hover .octo-arm{animation:.56s ease-in-out octocat-wave}.github-corner:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.github-corner-background{fill:var(--github-corner-bg)}.github-corner-mark{fill:currentColor}.octo-arm{transform-origin:130px 106px}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}h1,h2,h3,h4,h5,h6{margin:var(--space-2xl) 0 var(--space-md);line-height:1.3;font-weight:600}h1{font-size:2rem;margin-top:0}h2{font-size:1.5rem}h3{font-size:1.25rem}p,ul,ol{margin-bottom:var(--space-lg)}ul,ol{padding-left:var(--space-xl)}li{margin-bottom:var(--space-xs)}a{color:var(--color-link);text-decoration:none}a:hover{color:var(--color-link-hover);text-decoration:underline}aside{margin:var(--space-lg) 0;padding:var(--space-md) var(--space-lg);border-left:3px solid var(--color-aside-border);border-radius:var(--radius-sm);background:var(--color-aside-bg)}aside p:last-child{margin-bottom:0}.code-header{color:var(--color-text-muted);font-size:.75rem;font-style:italic}pre,code{font-family:var(--font-mono);font-size:.875rem}code{background:var(--color-code-bg);padding:.125rem .375rem;border-radius:var(--radius-sm)}pre{background:var(--color-code-bg);padding:var(--space-md);border-radius:var(--radius-md);overflow-x:auto;margin-bottom:var(--space-lg)}pre code{background:0 0;padding:0}.post-list{list-style:none;padding:0}.post-list li{margin-bottom:var(--space-xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-border)}.post-list li:last-child{border-bottom:none}.post-list .post-title{font-size:1.25rem;font-weight:600;margin-bottom:var(--space-xs)}.post-list .post-title a{color:var(--color-text)}.post-list .post-title a:hover{color:var(--color-accent)}.post-list .post-meta{color:var(--color-text-muted);font-size:.875rem}.post-header{margin-bottom:var(--space-2xl)}.post-header h1{margin-bottom:var(--space-sm)}.post-header .post-meta{color:var(--color-text-muted);font-size:.9rem}article h1:first-child{margin-top:0}hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-2xl) 0}@media (width<=30rem){.github-corner{width:3.5rem;height:3.5rem}}@media (width<=31.25rem){.github-corner .octo-arm{animation:.56s ease-in-out octocat-wave}}@media (prefers-reduced-motion:reduce){.github-corner .octo-arm{animation:none}}