:root{--neutral-50: #fafafa;--neutral-100: #f5f5f5;--neutral-200: #e5e5e5;--neutral-300: #d4d4d4;--neutral-400: #a3a3a3;--neutral-500: #737373;--neutral-600: #525252;--neutral-700: #404040;--neutral-800: #262626;--neutral-900: #171717;--white: #ffffff;--font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;tab-size:4}body{font-family:var(--font-sans);line-height:1.5;color:var(--neutral-900);background-color:var(--white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;display:flex;flex-direction:column}::selection{background-color:var(--neutral-200);color:var(--neutral-900)}img,svg,video,canvas,audio,iframe,embed,object{display:block;max-width:100%}a{color:inherit;text-decoration:inherit}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}ol,ul{list-style:none}code,kbd,samp,pre{font-family:var(--font-mono);font-size:1em}.site-main{flex-grow:1;width:100%;margin-inline:auto}.site-main:not(.site-main--wide){max-width:42rem;padding-inline:1.5rem;padding-block:4rem}@media(min-width:48rem){.site-main:not(.site-main--wide){padding-block:6rem}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fade-in-up .7s ease-out both}.canvas-wrapper{display:none;position:fixed;top:0;right:0;width:55%;height:100vh}@media(min-width:64rem){.canvas-wrapper{display:block}}.canvas-gradient{position:absolute;inset:0;pointer-events:none;z-index:10;background:linear-gradient(to right,white 0%,white 5%,transparent 20%)}.lorenz-canvas{width:100%;height:100%;opacity:0;transition:opacity 2s}.home-content{position:relative;z-index:10;display:flex;align-items:center;height:100vh}.home-inner{width:100%;max-width:36rem;padding-inline:1.5rem}@media(min-width:64rem){.home-inner{margin-left:10%}}.home-header{margin-bottom:1.5rem}.home-name{font-size:1.5rem;line-height:2rem;font-weight:500;letter-spacing:-.025em;color:var(--neutral-900);margin-bottom:.5rem}.home-bio{color:var(--neutral-600);margin-bottom:1rem;line-height:1.625;max-width:50ch}.home-bio strong{color:var(--neutral-900);font-weight:500}.home-bio a{color:var(--neutral-900);text-decoration:underline;text-decoration-color:var(--neutral-300);text-underline-offset:4px;transition:text-decoration-color .15s}.home-bio a:hover{text-decoration-color:var(--neutral-900)}.home-links{margin-bottom:2.5rem}.nav-list{display:flex;flex-direction:column;gap:.5rem}.nav-link{color:var(--neutral-600);transition:color .15s;position:relative;width:fit-content;display:inline-flex;align-items:center}.nav-link:hover{color:var(--neutral-900)}.nav-link-line{position:absolute;bottom:-.125rem;left:0;width:0;height:1px;background-color:var(--neutral-900);transition:width .3s}.nav-link:hover .nav-link-line{width:100%}.back-link{font-size:.875rem;color:var(--neutral-400);transition:color .15s;margin-bottom:1.5rem;display:inline-block}.back-link:hover{color:var(--neutral-900)}.page-header{margin-bottom:2.5rem}.page-title{font-size:1.5rem;line-height:2rem;font-weight:500;letter-spacing:-.025em;color:var(--neutral-900)}.post-list{display:flex;flex-direction:column;gap:1.5rem}.post-link{display:block}.post-title{font-size:17px;font-weight:500;color:var(--neutral-900);margin-bottom:.125rem}.post-link:hover .post-title{text-decoration:underline;text-decoration-color:var(--neutral-300);text-underline-offset:4px}.post-date{font-size:.875rem;color:var(--neutral-500)}.blog-article{display:grid;grid-template-columns:1fr min(42rem,calc(100% - 3rem)) 1fr}.blog-article>*{grid-column:2}.blog-header{margin-bottom:2.5rem}.blog-back-link{font-size:.875rem;color:var(--neutral-400);transition:color .15s;margin-bottom:2rem;display:inline-block}.blog-back-link:hover{color:var(--neutral-900)}.blog-title{font-size:1.5rem;font-weight:500;letter-spacing:-.025em;color:var(--neutral-900);margin-bottom:.5rem;line-height:1.25}@media(min-width:40rem){.blog-title{font-size:1.875rem}}.blog-date{font-size:.875rem;color:var(--neutral-500)}.markdown-body{grid-column:1 / -1;display:grid;grid-template-columns:subgrid}.markdown-body>*{grid-column:2}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{font-weight:500;color:var(--neutral-900);margin-top:2rem;margin-bottom:1rem;letter-spacing:-.025em}.markdown-body h2{font-size:1.25rem;line-height:1.75rem}.markdown-body h3{font-size:1.125rem;line-height:1.75rem}.markdown-body p{margin-top:1rem;margin-bottom:1rem;line-height:1.625;color:var(--neutral-700)}.markdown-body a{text-decoration:underline;text-decoration-color:var(--neutral-300);text-underline-offset:4px;color:var(--neutral-900);transition:text-decoration-color .15s ease-in-out}.markdown-body a:hover{text-decoration-color:var(--neutral-900)}.markdown-body ul{list-style-type:disc;padding-left:1.25rem;margin-top:1rem;margin-bottom:1rem;color:var(--neutral-700)}.markdown-body ul>li{margin-top:.5rem}.markdown-body ol{list-style-type:decimal;padding-left:1.25rem;margin-top:1rem;margin-bottom:1rem;color:var(--neutral-700)}.markdown-body ol>li{margin-top:.5rem}.markdown-body blockquote{border-left:2px solid var(--neutral-300);padding-left:1rem;font-style:italic;color:var(--neutral-600);margin-top:1.5rem;margin-bottom:1.5rem}.markdown-body code{background-color:var(--neutral-100);padding:.125rem .375rem;border-radius:.25rem;font-size:.875rem;color:var(--neutral-800)}.markdown-body pre{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;width:100%;background-color:var(--neutral-50);padding-block:1.25rem;border:none;font-size:.875rem;margin-block:2rem;color:var(--neutral-800)}.markdown-body pre code{grid-column:2;overflow-x:auto;background-color:transparent;padding:0;border-radius:0;color:inherit}.markdown-body .katex-display{grid-column:1 / -1;max-width:56rem;margin-inline:auto;width:100%;overflow-x:auto;overflow-y:hidden}
