:root{--color-bg: #fffff8;--color-bg-alt: #f8f8f0;--color-text: #3c3836;--color-text-muted: #665c54;--color-link: #9d0006;--color-link-hover: #cc241d;--color-border: #d5c4a1;--font-serif: "Source Serif 4", "Source Serif Pro", Georgia, serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--font-size-base: 18px;--font-size-small: .875rem;--font-size-h1: 2.25rem;--font-size-h2: 1.75rem;--font-size-h3: 1.175rem;--line-height: 1.6;--measure: 65ch;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 3rem;--shadow-soft: 0 2px 8px rgba(60, 56, 54, .12);--shadow-popover: 0 4px 16px rgba(60, 56, 54, .15);--transition-fast: .15s ease;--transition-normal: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-serif);line-height:var(--line-height);color:var(--color-text);background-color:var(--color-bg);min-height:100vh;position:relative}.brain-background{position:fixed;top:0;right:0;width:60%;height:100%;background-image:url(/dithered-brain.png);background-repeat:no-repeat;background-position:center right;background-size:contain;opacity:.1;pointer-events:none;filter:blur(5px);z-index:-1}main.home{width:100%;max-width:none;margin:0;padding:var(--space-xl) 8vw;position:relative}main.blog-post{max-width:85ch;margin:0 auto;padding:var(--space-xl) var(--space-lg)}.header{text-align:center;margin-bottom:var(--space-xl)}.header h1{font-size:2.5rem;font-weight:600;margin-bottom:var(--space-sm)}.header .embedding{font-family:var(--font-mono);font-size:var(--font-size-small);color:var(--color-text-muted);margin-bottom:var(--space-sm)}.header .tagline{font-style:italic;color:var(--color-text);margin-bottom:0}.intro-columns{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;column-gap:5rem;row-gap:var(--space-lg);margin-bottom:var(--space-xl);max-width:1200px;margin-left:auto;margin-right:auto}.intro-columns .column{display:contents}.intro-columns .column:nth-child(1) p:first-child{grid-column:1;grid-row:1}.intro-columns .column:nth-child(1) p:last-child{grid-column:1;grid-row:2}.intro-columns .column:nth-child(2) p:first-child{grid-column:2;grid-row:1}.intro-columns .column:nth-child(2) p:last-child{grid-column:2;grid-row:2}.intro-columns .column p{margin-bottom:0}.intro-columns .column .column-paragraph-spacing{margin-top:0}.intro-columns .column .highlight{font-size:1.1rem;font-weight:500}.embedding-popover-trigger{cursor:pointer}.divider{border:none;border-top:1px solid var(--color-border);margin:var(--space-lg) 0}.bottom-section{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl);position:relative;align-items:start}.bottom-section:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background-color:var(--color-border)}.blog-section{padding-right:var(--space-lg)}.section-intro{font-style:italic;margin-bottom:var(--space-lg)}.blog-list{list-style:none;padding:0}.blog-list li{position:relative;padding-left:var(--space-lg);margin-bottom:var(--space-md)}.blog-list li:before{content:"•";position:absolute;left:0;color:var(--color-text)}.blog-list a,.blog-link{color:var(--color-link);text-decoration:none;border-bottom:1px solid var(--color-border);transition:color var(--transition-fast),border-color var(--transition-fast)}.blog-list a:hover,.blog-link:hover{color:var(--color-link-hover);border-color:var(--color-link-hover)}.work-section{padding-left:var(--space-lg);height:calc(95vh - 500px);min-height:350px;max-height:550px;display:flex;flex-direction:column}.tab-selector{display:flex;gap:var(--space-lg);margin-bottom:var(--space-md)}.tab{display:flex;align-items:center;gap:var(--space-sm);background:none;border:none;font-family:inherit;font-size:inherit;color:var(--color-text);cursor:pointer;padding:0}.tab-circle{width:14px;height:14px;border-radius:50%;border:2px solid var(--color-text);transition:background-color var(--transition-fast)}.tab.active .tab-circle{background-color:var(--color-text)}.work-list{display:flex;flex-direction:column;gap:var(--space-md);overflow-y:auto;overflow-x:hidden;flex:1;padding-right:var(--space-sm);margin-right:calc(-1 * var(--space-sm))}.work-title-row{display:flex;align-items:baseline;gap:var(--space-sm);flex-wrap:wrap}.work-list::-webkit-scrollbar{width:8px}.work-list::-webkit-scrollbar-track{background:transparent}.work-list::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:4px;transition:background-color var(--transition-fast)}.work-list::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-muted)}.work-list{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.work-item{display:flex;justify-content:space-between;align-items:flex-start}.work-info{display:flex;flex-direction:column;gap:var(--space-xs)}.work-title{font-weight:500}.work-company,.work-description{color:var(--color-text-muted);font-size:var(--font-size-small)}.work-year{color:var(--color-text-muted)}.dashed-line{margin-top:var(--space-lg);margin-top:1rem;height:1px;background-image:repeating-linear-gradient(to right,var(--color-border) 0,var(--color-border) 20px,transparent 20px,transparent 30px)}.social-links{position:fixed;bottom:var(--space-lg);left:var(--space-lg);display:flex;gap:var(--space-md);z-index:100}.social-links a{color:var(--color-text);opacity:.7;transition:opacity var(--transition-fast);display:flex;align-items:center;justify-content:center}.social-links a:hover{opacity:1}.social-links svg{display:block}.back-link{position:fixed;top:var(--space-lg);left:var(--space-lg);z-index:100;display:inline-block;color:var(--color-text-muted);text-decoration:none;transition:color var(--transition-fast)}.back-link:hover{color:var(--color-text)}.blog-post article h1{font-size:var(--font-size-h1);margin-bottom:var(--space-sm)}.blog-post .date{color:var(--color-text-muted);font-size:var(--font-size-small);margin-bottom:var(--space-xl)}.blog-post article h2{font-size:var(--font-size-h2);font-weight:600;margin-top:var(--space-xl);margin-bottom:var(--space-md)}.blog-post article h3{font-size:var(--font-size-h3);font-weight:600;margin-top:var(--space-lg);margin-bottom:var(--space-md)}.blog-post article p{margin-bottom:var(--space-md);line-height:var(--line-height)}.blog-post article blockquote{border-left:3px solid var(--color-border);padding-left:var(--space-md);margin:var(--space-lg) 0;color:var(--color-text);font-style:italic;background:var(--color-bg-alt);padding:var(--space-md);border-radius:4px}.blog-post article blockquote p{margin-bottom:var(--space-sm)}.blog-post article blockquote cite{display:block;font-size:var(--font-size-small);color:var(--color-text-muted);font-style:normal;margin-top:var(--space-sm)}.blog-post article figure{margin:var(--space-xl) 0;text-align:center}.blog-post article figure img{width:100%;max-width:100%;height:auto;border-radius:4px;box-shadow:var(--shadow-soft)}.blog-post article figcaption{margin-top:var(--space-sm);font-size:var(--font-size-small);color:var(--color-text-muted);font-style:italic}.blog-post article ul,.blog-post article ol{margin:var(--space-md) 0;padding-left:var(--space-lg)}.blog-post article li{margin-bottom:var(--space-sm);line-height:var(--line-height)}.blog-post article .section-divider{border:none;border-top:1px solid var(--color-border);margin:var(--space-lg) 0;opacity:.5}.blog-post article .code-block{display:block;font-family:var(--font-mono);font-size:var(--font-size-small);background:var(--color-bg-alt);padding:var(--space-md);border-radius:4px;margin:var(--space-md) 0;overflow-x:auto}.blog-table-wrapper{margin:var(--space-lg) 0;overflow-x:auto}.blog-table{width:100%;border-collapse:collapse;font-size:var(--font-size-small)}.blog-table th,.blog-table td{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid var(--color-border)}.blog-table th{font-weight:600;color:var(--color-text);background:transparent;border-bottom:2px solid var(--color-border)}.blog-table tbody tr:nth-child(2n){background:var(--color-bg-alt)}.blog-table tbody tr:hover{background:#9d00060d}.blog-table .summary-row{font-weight:600;background:transparent;border-top:2px solid var(--color-border)}.blog-table .summary-row td{border-bottom:none}.blog-chart{margin:var(--space-xl) 0;padding:0;background:transparent;width:100%}.accordion{margin:var(--space-md) 0;border:1px solid var(--color-border);border-radius:4px}.accordion-header{width:100%;padding:var(--space-md);background:transparent;border:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:var(--font-serif);font-size:1rem;color:var(--color-text);text-align:left;transition:background-color var(--transition-fast)}.accordion-header:hover{background:var(--color-bg-alt)}.accordion-icon{font-size:1.25rem;font-weight:300;color:var(--color-text-muted);transition:transform var(--transition-fast)}.accordion-content{padding:var(--space-md) var(--space-md) var(--space-md) var(--space-md);border-top:1px solid var(--color-border)}.accordion-content strong{font-weight:600;font-size:inherit}.accordion-content .markdown-heading:first-child{margin-top:0}.accordion-content.small-font{font-size:var(--font-size-small)}.accordion-content.small-font h2{font-size:var(--font-size-h3)}.accordion-content.small-font h3{font-size:1.125rem;font-size:1rem}.accordion-content.small-font p{line-height:1.5}h1,h2,h3,h4,h5,h6{line-height:1.3;margin-bottom:var(--space-md)}h1{font-size:var(--font-size-h1);font-weight:600;margin-bottom:var(--space-lg)}h2{font-size:var(--font-size-h2);font-weight:600;margin-top:var(--space-xl)}h3{font-size:var(--font-size-h3);font-weight:600;margin-top:var(--space-lg)}p{margin-bottom:var(--space-md)}a{color:var(--color-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-link-hover)}code{font-family:var(--font-mono);font-size:var(--font-size-small);background:var(--color-bg-alt);padding:var(--space-xs) var(--space-sm);border-radius:3px}blockquote{border-left:3px solid var(--color-border);padding-left:var(--space-md);margin:var(--space-lg) 0;color:var(--color-text-muted);font-style:italic}hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-xl) 0}.back-to-top{position:fixed;bottom:var(--space-lg);right:var(--space-lg);width:48px;height:48px;border:1px solid var(--color-link);background:var(--color-bg);color:var(--color-link);font-size:1rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);box-shadow:var(--shadow-soft);z-index:100;opacity:0;pointer-events:none}.back-to-top.visible{opacity:1;pointer-events:auto}.back-to-top:hover{background:var(--color-bg-alt);border-color:var(--color-link-hover);color:var(--color-link-hover);transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.back-to-top:active{transform:translateY(0)}@media(max-width:1024px){main.home{padding:var(--space-xl) 6vw}.brain-background{opacity:.05}.intro-columns{column-gap:3rem}.bottom-section{gap:var(--space-lg)}.blog-chart{margin:var(--space-lg) 0}}@media(max-width:768px){:root{--font-size-base: 16px;--font-size-h1: 1.75rem;--font-size-h2: 1.4rem;--font-size-h3: 1.1rem}.brain-background{display:none}main.home{padding:var(--space-lg);padding-bottom:var(--space-xl)}.header h1{font-size:1.75rem}.header .embedding{font-size:.75rem;word-break:break-all}.header .tagline{font-size:.95rem}.intro-columns{display:flex;flex-direction:column;gap:var(--space-lg);max-width:none}.intro-columns .column{display:block}.intro-columns .column p{margin-bottom:var(--space-md)}.intro-columns .column .column-paragraph-spacing{margin-top:var(--space-md)}.bottom-section{display:flex;flex-direction:column;gap:var(--space-xl)}.bottom-section:before{display:none}.blog-section{padding-right:0;padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.work-section{padding-left:0;height:auto;min-height:auto;max-height:none}.work-list{overflow-y:visible;overflow-x:visible}.social-links{position:static;justify-content:center;margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}main.blog-post{padding:var(--space-lg) var(--space-md);padding-top:calc(var(--space-xl) + 40px)}.back-link{top:var(--space-md);left:var(--space-md);font-size:var(--font-size-small)}.blog-post article h1{font-size:1.5rem}.blog-table{font-size:.8rem}.blog-table th,.blog-table td{padding:var(--space-xs) var(--space-sm)}.blog-chart{margin:var(--space-lg) 0}.blog-chart .recharts-responsive-container{min-height:280px}.accordion-header{padding:var(--space-sm) var(--space-md);font-size:.95rem}.accordion-content{padding:var(--space-md)}.back-to-top{width:40px;height:40px;bottom:var(--space-md);right:var(--space-md);font-size:.875rem}.work-item{flex-direction:column;gap:var(--space-xs)}.work-year{align-self:flex-start;font-size:var(--font-size-small)}}.popover-link{color:var(--color-link);text-decoration:none;border-bottom:1px solid var(--color-border);transition:color var(--transition-fast),border-color var(--transition-fast)}.popover-link:hover{color:var(--color-link-hover);border-color:var(--color-link-hover)}.popover{z-index:1000;animation:popover-fade-in var(--transition-normal) ease}.popover-content{background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;padding:var(--space-md);max-width:320px;box-shadow:var(--shadow-popover);font-size:var(--font-size-small);line-height:1.5}.popover-content p{margin:0}.popover-content p+p{margin-top:var(--space-sm)}@keyframes popover-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
