@font-face{font-family:figtree;src:url(/fonts/Figtree.2021ec96fdbc3ed12fdbf0877fc2f7b0707c16525234c9220d7683b549135048.woff2)format("woff2");font-style:normal;font-weight:300 900;font-display:swap;unicode-range:U+0-24F,U+1E??,U+2000-206F,U+20AC}@font-face{font-family:jetbrains mono;src:url(/fonts/JetBrainsMono-Regular.fe84236105ccbaa385680c0090a32448ddf8d21c5ddc431c378fdce2beaf06c8.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0-24F,U+1E??,U+2000-206F,U+20A0-20CF,U+2190-22FF}:root{--white:#fff;--ink:#111827;--body-ink:#374151;--subtle-ink:#1f2937;--strong-ink:#000;--muted:#6b7280;--faint:#9ca3af;--soft:#fafafa;--line:#e5e7eb;--line-hover:#cbd5e1;--image-surface:#e5e7eb;--image-line:rgba(15,23,42,.1);--inline-code:#f3f4f6;--nav-shadow:rgba(0,0,0,.1);--blue:#0ea5e9;--link:#0284c7;--sans:"Figtree", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme]){--white:#111827;--ink:#f3f4f6;--body-ink:#d1d5db;--subtle-ink:#e5e7eb;--strong-ink:#fff;--muted:#9ca3af;--faint:#9ca3af;--soft:#1f2937;--line:#374151;--line-hover:#6b7280;--image-surface:#1f2937;--image-line:rgba(255,255,255,.14);--inline-code:#1f2937;--nav-shadow:rgba(0,0,0,.38);--blue:#38bdf8;--link:#38bdf8;color-scheme:dark}}:root[data-theme=dark]{--white:#111827;--ink:#f3f4f6;--body-ink:#d1d5db;--subtle-ink:#e5e7eb;--strong-ink:#fff;--muted:#9ca3af;--faint:#9ca3af;--soft:#1f2937;--line:#374151;--line-hover:#6b7280;--image-surface:#1f2937;--image-line:rgba(255,255,255,.14);--inline-code:#1f2937;--nav-shadow:rgba(0,0,0,.38);--blue:#38bdf8;--link:#38bdf8;color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme]) .wordmark img{filter:brightness(0)invert(1)}:root:not([data-theme]) .prose blockquote.alert-note{--alert-color:#60a5fa;--alert-background:#172554}:root:not([data-theme]) .prose blockquote.alert-tip{--alert-color:#4ade80;--alert-background:#052e16}:root:not([data-theme]) .prose blockquote.alert-important{--alert-color:#c084fc;--alert-background:#3b0764}:root:not([data-theme]) .prose blockquote.alert-warning{--alert-color:#fbbf24;--alert-background:#451a03}:root:not([data-theme]) .prose blockquote.alert-caution{--alert-color:#f87171;--alert-background:#450a0a}}:root[data-theme=dark] .wordmark img{filter:brightness(0)invert(1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-synthesis:weight style;font-size:16px;line-height:1.5}a{color:inherit}img{display:block;max-width:100%;object-fit:cover}picture{display:block}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid rgba(14,165,233,.38);outline-offset:3px}.shell{width:min(100% - 32px,1280px);margin-inline:auto}.skip-link{position:fixed;left:12px;top:-80px;z-index:100;padding:10px 14px;background:var(--ink);color:#fff}.skip-link:focus{top:12px}.site-header{padding:48px}.header-inner{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:32px}.wordmark{display:inline-flex;align-items:center;gap:12px;color:var(--strong-ink);font-size:1.125rem;font-weight:700;text-decoration:none}.wordmark img{width:56px;height:36px;object-fit:contain}.header-actions{display:flex;align-items:center;gap:20px}.site-nav{display:flex;align-items:center;gap:24px}.site-nav a{color:var(--strong-ink);font-size:1rem;font-weight:500;text-decoration:none}.site-nav a:hover,.site-nav a.active{color:var(--blue)}.menu-toggle{display:none;border:0;background:0 0;color:inherit}.theme-toggle{display:none;width:36px;height:36px;padding:0;place-items:center;border:1px solid var(--line);border-radius:999px;background:var(--white);color:var(--ink);cursor:pointer}.has-js .theme-toggle{display:grid}.theme-toggle:hover{border-color:var(--line-hover);background:var(--soft)}.theme-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.theme-icon-moon{display:none}:root[data-theme=dark] .theme-icon-sun{display:none}:root[data-theme=dark] .theme-icon-moon{display:block}.page-intro{padding-top:24px;text-align:center}.page-intro h1{margin:0;color:var(--ink);font-size:clamp(1.875rem,4vw,2.25rem);line-height:1.2;letter-spacing:-.025em}.page-intro p{max-width:672px;margin:12px auto 0;padding-inline:16px;color:var(--subtle-ink);font-size:1.25rem;line-height:1.55}.blog-shell{padding-block:30px 112px}.post-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 20px}.post-card{position:relative;min-width:0;padding:16px}.post-card-surface{position:absolute;z-index:0;inset:-8px -8px;border-radius:16px;background:var(--soft);opacity:0;transform:scale(.95);transition:opacity .2s ease,transform .2s ease}.post-card:hover .post-card-surface,.post-card:focus-within .post-card-surface{opacity:1;transform:scale(1)}.post-card-content{position:relative;z-index:1;height:100%;display:flex;flex-direction:column}.post-image{display:block;aspect-ratio:16/9;margin-bottom:16px;overflow:hidden;border:1px solid var(--image-line);border-radius:8px;background:var(--image-surface)}.post-image img{width:100%;height:100%}.post-image-placeholder{display:grid;place-items:center;background:radial-gradient(circle at 72% 28%,rgba(255,255,255,.2) 0 7%,transparent 7.5%),linear-gradient(135deg,#172554,#0369a1 58%,#38bdf8);text-decoration:none}.post-image-placeholder span{color:rgba(255,255,255,.92);font-size:clamp(3rem,7vw,6rem);font-weight:750;letter-spacing:-.08em;text-shadow:0 1px 20px rgba(0,0,0,.12)}.post-card-link{display:block;text-decoration:none}.post-type{display:inline-flex;align-items:center;margin:0 0 16px;padding:2px 12px;border-radius:999px;background:var(--blue);color:#fff;font-size:.875rem;font-weight:500}.post-card h2{margin:0;color:var(--ink);font-size:1.25rem;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.post-card-link>p{margin:12px 0 0;color:var(--muted);font-size:1rem;line-height:1.5}.post-meta{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:24px}.post-meta picture{flex:none}.post-meta img{width:40px;height:40px;border-radius:50%}.post-meta div{display:flex;flex-direction:column}.post-meta strong{color:var(--ink);font-size:.875rem;font-weight:500}.post-meta span{color:var(--muted);font-size:.875rem}.post-meta i{margin-inline:4px;font-style:normal}.home-hero{padding-block:24px 64px;text-align:center}.home-avatar{display:block;width:88px;height:88px;margin:0 auto 24px;overflow:hidden;border-radius:50%}.home-hero h1{margin:0;color:var(--ink);font-size:clamp(2rem,4vw,3rem);line-height:1.08;letter-spacing:-.03em}.hero-copy{max-width:680px;margin:16px auto 0;color:var(--muted);font-size:1.2rem}.writing{padding-bottom:96px}.home-post-list--1{max-width:420px;grid-template-columns:1fr}.home-post-list--2{max-width:860px;grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid var(--line)}.section-heading h2{margin:0;font-size:1.5rem}.section-heading a{color:var(--ink);font-size:.9rem;font-weight:600;text-decoration-color:var(--line-hover);text-underline-offset:.25em}.section-heading a span{display:inline-block;transition:transform .15s ease}.section-heading a:hover span,.section-heading a:focus-visible span{transform:translateX(3px)}.article{width:min(100% - 32px,1120px);padding-block:24px 112px}.article-header{max-width:720px;margin-inline:auto;text-align:left}.eyebrow{margin:0 0 16px;color:var(--blue);font-size:.875rem;font-weight:600}.article-header h1{margin:0;color:var(--ink);font-family:var(--sans);font-size:clamp(2rem,4vw,3.25rem);font-weight:600;line-height:1.12;letter-spacing:-.025em}.article-dek{color:var(--muted);font-size:1.2rem}.article-meta{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin-top:32px;text-align:left}.article-meta>picture{flex:none}.article-meta>picture img{width:48px;height:48px;border-radius:50%;object-fit:cover}.article-author{display:flex;flex-direction:column}.article-author strong{color:var(--ink);font-size:.9rem;font-weight:600}.article-author span{color:var(--muted);font-size:.875rem}.article-updated{margin-top:2px}.article-author i{margin-inline:4px;font-style:normal}.article-cover{width:min(100%,720px);margin:56px auto 0}.article-cover img{width:100%;aspect-ratio:16/9;border:1px solid var(--image-line);border-radius:12px;background:var(--image-surface);object-fit:cover}.article-cover figcaption{margin-top:10px;color:var(--muted);font-size:.875rem;line-height:1.5;text-align:center}.article-cover+.article-grid{padding-top:56px}.article-grid{display:grid;grid-template-columns:minmax(0,720px);justify-content:center;padding-top:64px}.prose{min-width:0;color:var(--body-ink);font-family:var(--sans);font-size:1.08rem;line-height:1.75}.prose>:first-child{margin-top:0}.prose h2,.prose h3{margin:2em 0 .65em;color:var(--ink);line-height:1.25;letter-spacing:-.02em}.prose h2{font-size:1.75rem}.prose h3{font-size:1.35rem}.prose a{color:var(--link);text-underline-offset:.2em}.prose pre{overflow-x:auto;padding:20px;border-radius:8px;background:#0b1120;color:#f9fafb;font:.82em/1.6 var(--mono)}.prose code{font-family:var(--mono);font-size:.86em;font-synthesis:weight style;font-variant-ligatures:contextual}.prose :not(pre)>code{padding:.12em .3em;border-radius:4px;background:var(--inline-code)}.prose blockquote{margin:2em 0;padding-left:1.2em;border-left:3px solid var(--blue);color:var(--muted)}.prose blockquote.alert{--alert-color:#2563eb;--alert-background:#eff6ff;padding:18px 20px;border:0;border-left:4px solid var(--alert-color);border-radius:8px;background:var(--alert-background);color:var(--body-ink)}.prose .alert-heading{margin:0 0 6px;color:var(--alert-color);font-size:.95rem;font-weight:700}.prose .alert>:last-child{margin-bottom:0}.prose blockquote.alert-note{--alert-color:#2563eb;--alert-background:#eff6ff}.prose blockquote.alert-tip{--alert-color:#15803d;--alert-background:#f0fdf4}.prose blockquote.alert-important{--alert-color:#7e22ce;--alert-background:#faf5ff}.prose blockquote.alert-warning{--alert-color:#b45309;--alert-background:#fffbeb}.prose blockquote.alert-caution{--alert-color:#b91c1c;--alert-background:#fef2f2}:root[data-theme=dark] .prose blockquote.alert-note{--alert-color:#60a5fa;--alert-background:#172554}:root[data-theme=dark] .prose blockquote.alert-tip{--alert-color:#4ade80;--alert-background:#052e16}:root[data-theme=dark] .prose blockquote.alert-important{--alert-color:#c084fc;--alert-background:#3b0764}:root[data-theme=dark] .prose blockquote.alert-warning{--alert-color:#fbbf24;--alert-background:#451a03}:root[data-theme=dark] .prose blockquote.alert-caution{--alert-color:#f87171;--alert-background:#450a0a}.about-page{width:min(100% - 32px,960px);padding-block:24px 80px}.about-header h1{margin:0;color:var(--ink);font-size:clamp(2rem,4vw,3.25rem);font-weight:600;line-height:1.12;letter-spacing:-.025em}.about-intro{display:grid;grid-template-columns:minmax(0,1fr)288px;align-items:center;gap:48px}.about-copy{font-size:1.2rem}.about-copy .about-lead{margin-top:24px;color:var(--muted);font-size:1.25rem;line-height:1.6}.about-portrait{overflow:hidden;border-radius:16px;background:var(--image-surface)}.about-portrait img{width:100%;height:auto}.speaker-card{margin-top:52px;padding:28px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.speaker-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.speaker-card h2{margin:0;color:var(--ink);font-size:1.5rem;letter-spacing:-.02em}.speaker-bio-text{max-width:760px;margin:24px 0 0;color:var(--body-ink);font-size:1.08rem;line-height:1.7}.copy-bio{flex:none;padding:8px 14px;border:1px solid var(--line);border-radius:7px;background:var(--white);color:var(--body-ink);font-size:.875rem;font-weight:600;cursor:pointer}.copy-bio:hover{border-color:var(--line-hover);color:var(--ink)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-footer{margin-top:48px}.footer-inner{display:flex;min-height:180px;padding-block:48px;flex-direction:column;align-items:center;justify-content:center;gap:28px;color:var(--faint)}.footer-inner nav,.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:24px}.footer-inner a{color:var(--muted);text-decoration:none}.footer-links a{display:grid;width:24px;height:24px;place-items:center;color:var(--faint);transition:color .15s ease,transform .15s ease}.footer-links a:hover,.footer-links a:focus-visible{color:var(--body-ink);transform:translateY(-2px)}.footer-links svg{width:24px;height:24px;fill:currentColor}.footer-inner p{margin:0;font-size:1rem}.footer-inner .footer-license{max-width:720px;color:var(--muted);font-size:.875rem;line-height:1.6;text-align:center}.footer-license a{text-decoration:underline;text-underline-offset:.2em}.error-page{padding-block:100px;text-align:center}@media(max-width:1023px){.post-list{grid-template-columns:repeat(2,minmax(0,1fr))}.post-list.home-post-list--1{grid-template-columns:1fr}.post-list.home-post-list--2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.site-header{padding:24px 16px}.header-inner{min-height:40px;gap:12px}.wordmark{gap:10px}.wordmark img{width:40px;height:26px}.header-actions{gap:12px}.menu-toggle{display:flex;align-items:center;gap:8px;cursor:pointer}.menu-icon,.menu-icon::after{display:block;width:20px;height:1px;background:currentColor;content:""}.menu-icon::after{transform:translateY(6px)}.site-nav{display:none;position:absolute;z-index:10;top:80px;left:16px;right:16px;padding:14px;flex-direction:column;border:1px solid var(--line);border-radius:8px;background:var(--white);box-shadow:0 10px 30px var(--nav-shadow)}.site-nav.is-open{display:flex}.page-intro{padding-top:24px}.page-intro p{font-size:1.1rem}.blog-shell{padding-top:24px}.post-list{grid-template-columns:1fr;gap:36px}.post-card{padding-inline:8px}.post-card-link>p{display:none}.home-hero{padding-block:20px 52px}.home-avatar{width:80px;height:80px}.home-post-list--2{grid-template-columns:1fr}.article{padding-top:20px}.article-cover{margin-top:40px;border-radius:8px}.article-cover+.article-grid,.article-grid{grid-template-columns:1fr;padding-top:40px}.article-header{text-align:left}.article-meta{justify-content:flex-start}.about-page{padding-block:20px 64px}.about-intro{grid-template-columns:1fr;gap:28px}.about-copy .about-lead{font-size:1.1rem}.about-portrait{width:min(100%,288px)}.speaker-card{margin-top:40px;padding:22px}.speaker-card-header{align-items:stretch;flex-direction:column}.copy-bio{align-self:flex-start}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}