@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-latin-400-normal.C38fXH4l.woff2) format("woff2"),url(/_astro/inter-latin-400-normal.CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-latin-600-normal.LgqL8muc.woff2) format("woff2"),url(/_astro/inter-latin-600-normal.CiBQ2DWP.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-latin-700-normal.Yt3aPRUw.woff2) format("woff2"),url(/_astro/inter-latin-700-normal.BLAVimhd.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-latin-400-normal.V6pRDFza.woff2) format("woff2"),url(/_astro/jetbrains-mono-latin-400-normal.6-qcROiO.woff) format("woff")}:root{color-scheme:light;--bg: #f6f4ef;--bg-raise: #fffcf7;--text: #1c1915;--muted: #3f3a33;--line: #e3dcd0;--accent: #0c5f5c;--accent-ink: #f4fffd;--grid: rgba(28, 25, 21, .06);--shadow: 0 20px 50px rgba(40, 30, 10, .06);--code-bg: #f3efe6;--font: Inter, ui-sans-serif, system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}html[data-theme=dark]{color-scheme:dark;--bg: #101113;--bg-raise: #181a1e;--text: #f3efe6;--muted: #c2bbb0;--line: #2c3036;--accent: #8ee0d4;--accent-ink: #08211f;--grid: rgba(243, 239, 230, .05);--shadow: 0 20px 50px rgba(0, 0, 0, .28);--code-bg: #16181c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:var(--font);font-size:1.05rem;line-height:1.65;color:var(--text);background:radial-gradient(900px 420px at 100% -10%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 60%),linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px),var(--bg);background-size:auto,48px 48px,48px 48px,auto;background-position:top right,center,center,center}img{max-width:100%;height:auto}a{color:var(--accent);text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.skip{position:absolute;left:1rem;top:-4rem;background:var(--accent);color:var(--accent-ink);padding:.5rem .8rem;z-index:10}.skip:focus{top:1rem}.wrap{width:min(1080px,calc(100% - 2rem));margin-inline:auto}.site-header,.site-footer{width:min(1080px,calc(100% - 2rem));margin:0 auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 0}.brand{color:var(--text);font-weight:700;text-decoration:none;letter-spacing:-.03em}.nav{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .9rem}.nav a{color:var(--text);text-decoration:none;font-size:.95rem;display:inline-flex;align-items:center;min-height:44px}.nav a[aria-current=page]{color:var(--accent);text-decoration:underline;text-underline-offset:.25em}.theme{border:1px solid var(--line);background:var(--bg-raise);color:var(--text);border-radius:999px;min-height:44px;padding:0 .9rem;font:inherit;cursor:pointer}.hero,.panel,.card,.post-card,.talk,.timeline li,.study{background:color-mix(in srgb,var(--bg-raise) 88%,transparent);border:1px solid var(--line);box-shadow:var(--shadow)}.hero{display:grid;grid-template-columns:1.4fr .8fr;gap:2rem;align-items:center;padding:1.6rem;border-radius:22px;margin-top:.4rem}.kicker,.meta,.fine{color:var(--muted)}.kicker{margin:0 0 .4rem;font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3{line-height:1.15;letter-spacing:-.03em}h1{font-size:clamp(2.4rem,5vw,4.2rem);margin:0 0 .6rem}h2{font-size:clamp(1.5rem,2vw,2rem);margin:0 0 .8rem}.lede{font-size:1.15rem;max-width:42rem;margin-top:0}.portrait{width:min(100%,280px);justify-self:end;aspect-ratio:1;object-fit:cover;border-radius:18px;border:1px solid var(--line)}.socials{display:flex;flex-wrap:wrap;gap:.8rem 1rem;padding:0;margin:1rem 0 0;list-style:none}.socials a{color:var(--text);font-weight:600}.section{margin:2.6rem 0}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.card{display:flex;flex-direction:column;gap:.35rem;min-height:100%;padding:1rem;border-radius:16px;color:var(--text);text-decoration:none}.card:hover{border-color:var(--accent)}.card span{font-family:var(--mono);font-size:.75rem;color:var(--accent)}.card strong{font-size:1.05rem}.card p{margin:0;color:var(--muted)}.post-list,.tag-row,.timeline,.studies{list-style:none;padding:0;margin:0}.post-list{display:grid;gap:.7rem}.post-card{display:grid;gap:.2rem;padding:.95rem 1rem;border-radius:14px;color:inherit;text-decoration:none}.post-card strong{color:var(--text);font-size:1.08rem}.tag-row{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1rem}.tag-row a,.tags a{display:inline-flex;align-items:center;min-height:44px;padding:.1rem .65rem;border:1px solid var(--line);border-radius:999px;color:var(--text);text-decoration:none;background:var(--bg-raise);font-size:.92rem}.tag-row a[aria-current=page]{background:var(--accent);color:var(--accent-ink);border-color:transparent}.page-head{margin:1.2rem 0 1.4rem}.page-head h1{font-size:clamp(2rem,4vw,3.2rem)}.timeline{display:grid;gap:.7rem}.timeline li,.study,.talk{border-radius:16px;padding:1rem 1.05rem}.timeline h3,.study h3,.talk h3{margin:.15rem 0 .35rem;font-size:1.15rem}.study{margin-bottom:.8rem}.skills{columns:2;padding-left:1.1rem}.skills li{break-inside:avoid;margin:.25rem 0}.fine a{font-weight:600}.prose{width:min(68ch,100%)}.prose :is(h2,h3){margin-top:1.6em}.prose pre{padding:1rem;overflow-x:auto;border-radius:12px;border:1px solid var(--line);font-family:var(--mono);font-size:.86rem;line-height:1.55}.prose code{font-family:var(--mono);font-size:.92em}.prose :not(pre)>code{background:var(--code-bg);padding:.12em .35em;border-radius:6px}.prose img{border-radius:12px;border:1px solid var(--line)}.prose blockquote{margin-left:0;padding-left:1rem;border-left:3px solid var(--accent);color:var(--muted)}.prose table{display:block;width:max-content;max-width:100%;overflow-x:auto;border-collapse:collapse}.prose :is(th,td){border:1px solid var(--line);padding:.4rem .6rem}.cover-img{border-radius:16px;border:1px solid var(--line);margin:0 0 1rem}.astro-code,.astro-code span{color:var(--shiki-light)!important;background-color:var(--shiki-light-bg)!important;font-style:var(--shiki-light-font-style)!important;font-weight:var(--shiki-light-font-weight)!important;text-decoration:var(--shiki-light-text-decoration)!important}html[data-theme=dark] :is(.astro-code,.astro-code span){color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}.site-footer{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;justify-content:space-between;padding:2rem 0 2.5rem;color:var(--muted);font-size:.95rem}.site-footer nav{display:flex;gap:1rem}.site-footer a{color:var(--text);display:inline-flex;align-items:center;min-height:44px}@media(max-width:860px){.hero,.cards{grid-template-columns:1fr}.portrait{justify-self:start;width:180px}.skills{columns:1}.site-header{align-items:flex-start;flex-direction:column}}
