:root{--c-bg:#fafafa;--c-surface:#f2f2f3;--c-fg:#383a42;--c-muted:#666974;--c-accent:#2c61da;--c-border:color-mix(in srgb, var(--c-fg) 16%, transparent);--c-selection:color-mix(in srgb, var(--c-accent) 24%, transparent);--c-success:#50a14f;--c-error:#e45649;--c-warning:#c18401;--font-mono:"JetBrains Mono", "Noto Sans SC", ui-monospace, "SFMono-Regular", "Cascadia Code", Consolas, monospace;--font-serif:"Source Serif 4", "Noto Serif SC", "Songti SC", "SimSun", serif;--sl-font:var(--font-mono);--sl-font-mono:var(--font-mono);--sl-color-white:var(--c-fg);--sl-color-black:var(--c-bg);--sl-color-accent:var(--c-accent);--sl-color-accent-high:color-mix(in srgb, var(--c-accent) 80%, var(--c-fg));--sl-color-accent-low:var(--c-selection);--sl-color-text-accent:var(--c-bg);--sl-color-text:var(--c-fg);--sl-color-text-invert:var(--c-bg);--sl-color-bg:var(--c-bg);--sl-color-bg-nav:var(--c-bg);--sl-color-bg-sidebar:var(--c-surface);--sl-color-bg-inline-code:color-mix(in srgb, var(--c-fg) 8%, transparent);--sl-color-bg-accent:var(--c-accent);--sl-color-hairline:var(--c-border);--sl-color-hairline-light:color-mix(in srgb, var(--c-fg) 8%, transparent);--sl-color-hairline-shade:color-mix(in srgb, var(--c-fg) 24%, transparent);--sl-color-gray-1:var(--c-fg);--sl-color-gray-2:var(--c-fg);--sl-color-gray-3:var(--c-muted);--sl-color-gray-4:var(--c-muted);--sl-color-gray-5:var(--c-muted);--sl-color-gray-6:var(--c-surface);--sl-color-gray-7:var(--c-bg)}[data-scheme=catppuccin-mocha]{--c-bg:#11111b;--c-surface:#181825;--c-fg:#cdd6f4;--c-muted:#9399b2;--c-accent:#89b4fa}[data-scheme=tokyo-night]{--c-bg:#1a1b26;--c-surface:#16161e;--c-fg:#c0caf5;--c-muted:#8d95be;--c-accent:#7aa2f7}[data-scheme=dracula]{--c-bg:#282a36;--c-surface:#21222c;--c-fg:#f8f8f2;--c-muted:#98a0c3;--c-accent:#bd93f9}[data-scheme=nord]{--c-bg:#2e3440;--c-surface:#3b4252;--c-fg:#eceff4;--c-muted:#a3afc6;--c-accent:#88c0d0}[data-scheme=gruvbox-dark]{--c-bg:#282828;--c-surface:#1d2021;--c-fg:#fbf1c7;--c-muted:#a89984;--c-accent:#d79921}[data-scheme=one-dark]{--c-bg:#282c34;--c-surface:#21252b;--c-fg:#abb2bf;--c-muted:#8c94a2;--c-accent:#61afef}[data-scheme=solarized-dark]{--c-bg:#002b36;--c-surface:#073642;--c-fg:#93a1a1;--c-muted:#869da5;--c-accent:#3fa0e8}[data-scheme=kanagawa-wave]{--c-bg:#1f1f28;--c-surface:#2a2a37;--c-fg:#dcd7ba;--c-muted:#9e9b93;--c-accent:#7e9cd8}[data-scheme=rose-pine]{--c-bg:#191724;--c-surface:#1f1d2e;--c-fg:#e0def4;--c-muted:#908caa;--c-accent:#c4a7e7}[data-scheme=vesper]{--c-bg:#101010;--c-surface:#181818;--c-fg:#fff;--c-muted:#848483;--c-accent:#ffc799}[data-scheme=catppuccin-latte]{--c-bg:#eff1f5;--c-surface:#e6e9ef;--c-fg:#4c4f69;--c-muted:#65677d;--c-accent:#145ceb}[data-scheme=gruvbox-light]{--c-bg:#fbf1c7;--c-surface:#f2e5bc;--c-fg:#282828;--c-muted:#665c54;--c-accent:#076678}[data-scheme=one-light]{--c-bg:#fafafa;--c-surface:#f2f2f3;--c-fg:#383a42;--c-muted:#666974;--c-accent:#2c61da}[data-scheme=solarized-light]{--c-bg:#fdf6e3;--c-surface:#eee8d5;--c-fg:#566b72;--c-muted:#5a6b6d;--c-accent:#006bb0}[data-scheme=kanagawa-lotus]{--c-bg:#f2ecbc;--c-surface:#e7dba0;--c-fg:#43436c;--c-muted:#636054;--c-accent:#456092}[data-scheme=rose-pine-dawn]{--c-bg:#faf4ed;--c-surface:#f2e9de;--c-fg:#575279;--c-muted:#6a6684;--c-accent:#76608e}html{background-color:var(--c-bg)}body{font-family:var(--font-serif);color:var(--c-fg);background-color:var(--c-bg);-webkit-font-smoothing:antialiased;margin:0;line-height:1.7}::selection{background:var(--c-selection)}a{color:var(--c-accent)}.container{max-width:860px;margin:0 auto;padding:0 28px}.site-header{max-width:860px;font-family:var(--font-mono);align-items:center;gap:20px;margin:0 auto;padding:30px 28px 0;font-size:15px;display:flex}.brand{color:var(--c-fg);align-items:center;gap:8px;font-weight:600;text-decoration:none;display:inline-flex}.brand-prompt{color:var(--c-accent)}.nav{gap:18px;margin-left:auto;display:flex}.nav a{color:var(--c-muted);text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--c-accent)}.palette-btn{font-family:var(--font-mono);color:var(--c-fg);background:var(--c-surface);border:1px solid var(--c-border);cursor:pointer;border-radius:4px;padding:6px 10px;font-size:13px}.palette-btn:hover{border-color:var(--c-accent)}.hero{padding:88px 0 56px}.avatar{border-radius:4px;width:112px;height:112px;margin-bottom:24px;display:block}.hero-name{font-family:var(--font-mono);letter-spacing:-.01em;margin:0 0 8px;font-size:clamp(2.5rem,7vw,4.5rem);font-weight:700}.hero-tagline{font-family:var(--font-mono);color:var(--c-accent);margin:0 0 20px;font-size:16px}.hero-intro{max-width:680px;color:var(--c-muted);margin:0 0 20px;font-size:clamp(1.2rem,2.3vw,1.55rem);line-height:1.65}.hero-links,.home-actions{font-family:var(--font-mono);flex-wrap:wrap;gap:16px;font-size:14px;display:flex}.home-main{min-height:calc(100vh - 10rem)}.home-hero{padding-top:clamp(5rem,12vh,9rem)}.home-eyebrow,.posts-eyebrow{font-family:var(--font-mono);letter-spacing:.08em;color:var(--c-accent);margin:0 0 1rem;font-size:.82rem;font-weight:600}.home-footer{border-top:1px solid var(--c-border)}.section{border-top:1px solid var(--c-border);padding:40px 0}.section-heading{font-family:var(--font-mono);color:var(--c-accent);margin:0 0 20px;font-size:15px;font-weight:700}.section p{color:var(--c-muted);margin:0 0 12px}.exp-item{border-bottom:1px solid var(--c-border);gap:18px;padding:16px 0;display:flex}.exp-item:last-child{border-bottom:none}.exp-logo{object-fit:contain;object-position:center;background:0 0;flex-shrink:0;width:8.5rem;height:3.75rem}.exp-title{font-family:var(--font-mono);color:var(--c-fg);font-size:14px;font-weight:600}.exp-meta{font-family:var(--font-mono);color:var(--c-muted);margin:4px 0;font-size:12px}.exp-desc{color:var(--c-muted);margin:0;font-size:14px}.pub-item{align-items:flex-start;gap:20px;display:flex}.pub-img{border-radius:4px;flex-shrink:0;width:min(42%,19rem);height:auto}.pub-title{color:var(--c-fg);margin:0 0 6px;font-weight:600}.pub-meta,.pub-venue{color:var(--c-muted);margin:0 0 4px;font-size:14px}.pub-link{font-family:var(--font-mono);font-size:13px}.post-list{margin:0;padding:0;list-style:none}.post-item{border-bottom:1px solid var(--c-border);align-items:baseline;gap:16px;padding:10px 0;display:flex}.post-item:last-child{border-bottom:none}.post-date{font-family:var(--font-mono);color:var(--c-muted);flex-shrink:0;min-width:84px;font-size:12px}.post-title{color:var(--c-fg);text-decoration:none}.post-copy{flex:1;min-width:0}.post-title:hover{color:var(--c-accent)}.post-description{color:var(--c-muted);margin:.25rem 0 0;font-size:.95rem;line-height:1.45}.posts-page{padding-top:clamp(4rem,10vh,7rem);padding-bottom:4rem}.posts-header{margin-bottom:2.5rem}.posts-header h1{font-family:var(--font-mono);margin:0 0 .75rem;font-size:clamp(2.5rem,7vw,4.5rem);line-height:1.1}.posts-header>p:last-child{color:var(--c-muted);margin:0;font-size:1.1rem}.post-cat{font-family:var(--font-mono);color:var(--c-muted);border:1px solid var(--c-border);border-radius:4px;flex-shrink:0;margin-left:auto;padding:2px 8px;font-size:11px}.site-footer{max-width:860px;font-family:var(--font-mono);color:var(--c-muted);margin:0 auto;padding:40px 28px 56px;font-size:12px}.scheme-overlay{background:color-mix(in srgb, var(--c-bg) 72%, transparent);backdrop-filter:blur(2px);z-index:9999;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.scheme-dialog{background:var(--c-bg);border:1px solid var(--c-border);width:min(440px,92vw);font-family:var(--font-mono);border-radius:4px;overflow:hidden;box-shadow:0 16px 48px #00000059}.scheme-title{color:var(--c-fg);border-bottom:1px solid var(--c-border);padding:12px 16px;font-size:13px}.scheme-hint{float:right;color:var(--c-muted);font-size:11px}.scheme-list{max-height:56vh;padding:6px;overflow-y:auto}.scheme-group-label{color:var(--c-muted);text-transform:lowercase;margin:0;padding:8px 10px 4px;font-size:11px}.scheme-item{cursor:pointer;color:var(--c-fg);border-radius:4px;align-items:center;gap:10px;padding:9px 10px;font-size:13px;display:flex}.scheme-swatch{background:var(--swatch-bg);border:1px solid var(--swatch-border);width:12px;height:12px;box-shadow:inset 5px 0 0 var(--swatch-accent);border-radius:3px;flex-shrink:0}.scheme-check{color:var(--c-accent);margin-left:auto}.scheme-item.active{background:var(--c-selection);outline:1px solid var(--c-accent)}.about-intro{grid-template-columns:8rem minmax(0,1fr);align-items:start;gap:2rem;margin-block:1rem 3rem;display:grid}.about-avatar{object-fit:cover;border-radius:4px;width:8rem;height:8rem}.about-links{font-family:var(--font-mono);gap:1rem;display:flex}.experience-item{border-bottom:1px solid var(--c-border);grid-template-columns:10rem minmax(0,1fr);align-items:center;gap:2rem;padding-block:1.5rem;display:grid}.experience-item:last-child{border-bottom:0}.experience-logo-wrap{justify-content:center;align-items:center;min-height:5rem;display:flex}.experience-logo{object-fit:contain;background:0 0;width:100%;max-width:9.5rem;max-height:4.5rem;display:block}.experience-item h3,.publication-item h3{font-family:var(--font-mono);margin:0 0 .5rem;font-size:1rem}.experience-meta,.publication-venue{font-family:var(--font-mono);color:var(--c-muted);font-size:.82rem}.publication-item{grid-template-columns:minmax(15rem,42%) minmax(0,1fr);align-items:start;gap:2rem;margin-top:1rem;display:grid}.publication-image{border-radius:4px;width:100%;height:auto;display:block}starlight-theme-select{display:none}.sl-markdown-content{font-family:var(--font-serif)}.sl-markdown-content h1,.sl-markdown-content h2,.sl-markdown-content h3,.sl-markdown-content h4,.sl-markdown-content h5,.sl-markdown-content h6{font-family:var(--font-mono);letter-spacing:-.01em;font-weight:700}.sl-markdown-content h1{font-size:2rem}.sl-markdown-content h2{margin-top:2.2em;font-size:1.5rem}.sl-markdown-content a{text-decoration-color:color-mix(in srgb, var(--c-accent) 55%, transparent);text-underline-offset:3px}.sl-markdown-content code:not(pre code){font-family:var(--font-mono);background:var(--c-surface);border:1px solid var(--c-border);border-radius:4px;padding:1px 5px;font-size:.88em}.sl-markdown-content blockquote{border-left:3px solid var(--c-accent);background:var(--c-surface);color:var(--c-muted);border-radius:0 4px 4px 0;padding:12px 18px}.sl-markdown-content table{border:1px solid var(--c-border);border-radius:4px;overflow:hidden}.sl-markdown-content th{background:var(--c-surface)}.sl-markdown-content th,.sl-markdown-content td{border:1px solid var(--c-border);padding:8px 12px}.sl-markdown-content hr{border-color:var(--c-border)}.expressive-code{border:1px solid var(--c-border)!important;border-radius:4px!important}.pagination-links a{border:1px solid var(--c-border);border-radius:4px}@media (width<=52rem){.site-header{flex-wrap:wrap}.nav{order:3;width:100%;margin-left:0}.palette-btn{margin-left:auto}.post-item,.about-intro,.experience-item,.publication-item{display:block}.post-date,.post-cat{margin:0 .75rem .35rem 0;display:inline-block}.experience-logo-wrap{justify-content:flex-start;margin-bottom:1rem}.experience-logo{max-width:11rem}.about-avatar,.publication-image{margin-bottom:1.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
