@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,600;0,8..60,700;1,8..60,400;1,8..60,600&display=swap";.nav[data-astro-cid-vzcar27r]{display:flex;align-items:center;justify-content:flex-end;gap:2rem}.nav-list[data-astro-cid-vzcar27r]{display:flex;list-style:none;margin:0;padding:0;gap:1.5rem}.nav-link[data-astro-cid-vzcar27r]{color:var(--color-fg);font-size:.9rem;font-weight:500}.nav-link[data-astro-cid-vzcar27r]:hover{color:var(--color-accent);text-decoration:none}.nav-toggle[data-astro-cid-vzcar27r]{display:none;background:none;border:none;cursor:pointer;padding:.5rem;flex-direction:column;gap:5px}.nav-toggle-bar[data-astro-cid-vzcar27r]{display:block;width:22px;height:2px;background:var(--color-fg)}@media(max-width:640px){.nav-toggle[data-astro-cid-vzcar27r]{display:flex}.nav-list[data-astro-cid-vzcar27r]{position:fixed;top:0;right:0;height:100vh;width:min(280px,80vw);background:var(--color-bg);flex-direction:column;padding:5rem 2rem 2rem;gap:0;transform:translate(100%);transition:transform .2s ease;box-shadow:-4px 0 20px #0000001a;z-index:100}.nav-list[data-astro-cid-vzcar27r].is-open{transform:translate(0)}.nav-list[data-astro-cid-vzcar27r] li[data-astro-cid-vzcar27r]{padding:.75rem 0;border-bottom:1px solid var(--color-border)}.nav-link[data-astro-cid-vzcar27r]{font-size:1rem}}.header[data-astro-cid-qlfjksao]{border-bottom:1px solid var(--color-border);padding:1.25rem 0;background:color-mix(in srgb,var(--color-bg) 80%,transparent);backdrop-filter:blur(14px)}.header-inner[data-astro-cid-qlfjksao]{display:flex;align-items:center;justify-content:space-between}.logo[data-astro-cid-qlfjksao]{display:flex;align-items:center;text-decoration:none}.logo[data-astro-cid-qlfjksao]:hover{opacity:.85}.logo-img[data-astro-cid-qlfjksao]{height:32px;width:32px;display:block}.footer[data-astro-cid-35ed7um5]{border-top:1px solid var(--color-border);padding:2rem 0;margin-top:4rem}.footer-inner[data-astro-cid-35ed7um5]{text-align:center}.social-links[data-astro-cid-35ed7um5]{list-style:none;margin:0 0 1rem;padding:0;display:flex;justify-content:center;gap:1.5rem}.social-links[data-astro-cid-35ed7um5] a[data-astro-cid-35ed7um5]{color:var(--color-muted);font-size:.9rem}.social-links[data-astro-cid-35ed7um5] a[data-astro-cid-35ed7um5]:hover{color:var(--color-accent)}.copyright[data-astro-cid-35ed7um5]{color:var(--color-muted);font-size:.8rem;margin:0}:root{--font-sans: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-serif: "Source Serif 4", ui-serif, Georgia, serif;--color-bg: #f4f1ea;--color-bg-elevated: #fbf8f2;--color-fg: #1a1f24;--color-muted: #5c6570;--color-accent: #1b365d;--color-border: #ddd6cc;--color-ring: #cfc6b8;--color-warm: #c4a574;--grid-line: color-mix(in srgb, var(--color-border) 42%, transparent);--max-width: 65rem;--max-width-narrow: 45rem;--radius-md: .5rem;--radius-lg: .75rem;--shadow-soft: 0 18px 45px rgba(26, 31, 36, .06);--category-1: color-mix(in srgb, var(--color-accent) 10%, var(--color-bg));--category-2: color-mix(in srgb, var(--color-warm) 22%, var(--color-bg));--category-3: #efe8d8;--category-4: color-mix(in srgb, #8c4a3a 12%, var(--color-bg));--category-5: color-mix(in srgb, var(--color-accent) 6%, var(--color-bg-elevated));--category-6: #e7efe8}@media(prefers-color-scheme:dark){:root{--color-bg: #0e141b;--color-bg-elevated: #141c26;--color-fg: #c5d0dc;--color-muted: #8b97a6;--color-accent: #8aa4c2;--color-border: #2a3542;--color-ring: #3d4b5c;--color-warm: #b8956a;--grid-line: color-mix(in srgb, var(--color-border) 55%, transparent);--shadow-soft: 0 18px 45px rgba(0, 0, 0, .45);--category-1: rgba(138, 164, 194, .14);--category-2: rgba(184, 149, 106, .14);--category-3: rgba(239, 232, 216, .08);--category-4: rgba(140, 74, 58, .16);--category-5: rgba(138, 164, 194, .08);--category-6: rgba(231, 239, 232, .08)}}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased}body{margin:0;font-family:var(--font-sans);background-color:var(--color-bg);background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:28px 28px;color:var(--color-fg);line-height:1.6;letter-spacing:0}.hero-title,.post-title,.project-title,.project-card-title,.publication-title,.post-card-title,.work-area-title,.work-area-card-title,.publication-card-title{font-family:var(--font-serif)}main{padding:3.5rem 0 4rem}main.home-page{padding:2.25rem 0 2.75rem}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,h5,h6{font-weight:600;letter-spacing:-.02em}.prose{max-width:var(--max-width-narrow);margin-left:auto;margin-right:auto;font-family:var(--font-serif);font-size:1.08rem;line-height:1.7}.prose :first-child{margin-top:0}.prose h1{font-size:1.875rem;font-weight:700;margin-top:2em;margin-bottom:.5em;line-height:1.25}.prose h2{font-size:1.5rem;font-weight:600;margin-top:2em;margin-bottom:.5em;line-height:1.3}.prose h3{font-size:1.25rem;font-weight:600;margin-top:1.75em;margin-bottom:.5em;line-height:1.4}.prose h4,.prose h5,.prose h6{font-size:1.1rem;font-weight:600;margin-top:1.5em;margin-bottom:.5em}.prose p{margin-bottom:1em}.prose strong{font-weight:600}.prose em{font-style:italic}.prose ul,.prose ol{margin-bottom:1em;padding-left:1.5em}.prose li{margin-bottom:.25em}.prose blockquote{margin:1.5em 0;padding-left:1em;border-left:4px solid var(--color-warm);color:var(--color-muted);font-style:italic}.prose pre{overflow-x:auto;padding:1rem;background:var(--color-border);border-radius:.25rem;font-size:.875rem;margin:1.5em 0;font-family:ui-monospace,IBM Plex Mono,monospace}.prose pre code{background:none;padding:0}.prose code{font-family:ui-monospace,monospace;font-size:.85em;padding:.15em .35em;background:var(--color-border);border-radius:.25rem}.prose a{color:var(--color-accent);text-decoration:none}.prose a:hover{text-decoration:underline}.prose .portable-text-image{margin:1.5em 0}.prose .portable-text-image img{border-radius:.25rem}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}
