@charset "UTF-8";:root{--font-mono:ui-monospace, "SF Mono", "Cascadia Code", Menlo, Monaco, Consolas, "Liberation Mono", monospace;--font-size-root:15px;--font-size-sm:13px;--font-size-xs:11.5px;--font-size-h1:18px;--font-size-h2:16px;--font-size-h3:14.5px;--line-height-base:1.6;--header-height:42px;--split-sidebar-width:320px;--pane-pad-x:1.25rem;--pane-title-pad-x:0.75rem;--term-bg:#f8f9fa;--term-surface:#ffffff;--term-surface-alt:#f1f3f5;--term-border:#d0d7de;--term-border-muted:#e8ebed;--term-fg:#1f2328;--term-fg-muted:#656d76;--term-fg-dim:#8c959f;--term-selection-bg:#24292f;--term-selection-fg:#ffffff;--term-green:#1a7f37;--term-yellow:#9a6700;--term-blue:#0969da;--term-magenta:#8250df}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-mono);font-size:var(--font-size-root);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;background-color:var(--term-bg);color:var(--term-fg);scrollbar-width:thin;scrollbar-color:var(--term-border)var(--term-bg)}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}::selection{background-color:var(--term-selection-bg);color:var(--term-selection-fg)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--term-bg)}::-webkit-scrollbar-thumb{background:var(--term-border);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--term-fg-muted)}a{color:var(--term-blue);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,summary:focus-visible{outline:2px solid var(--term-blue);outline-offset:2px}h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:600;line-height:1.3}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3)}p{margin-bottom:.75rem}.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);padding:.35rem .75rem;background:var(--term-fg);color:var(--term-surface);text-decoration:none;font-size:var(--font-size-sm);border:1px solid var(--term-border);z-index:1000}.skip-link:focus-visible{top:6px}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}body{display:grid;grid-template-areas:"header  header" "sidebar main" "footer  footer";grid-template-columns:var(--split-sidebar-width)minmax(0,1fr);grid-template-rows:var(--header-height)1fr auto;min-height:100vh;background-color:var(--term-bg);color:var(--term-fg)}header#header{grid-area:header;position:sticky;top:0;z-index:100;height:var(--header-height);background-color:var(--term-surface-alt);border-bottom:1px solid var(--term-border);display:flex;align-items:center}body:has(#supervisions:target) #nav a[href*="#supervisions"],body:has(#lectures:target) #nav a[href*="#lectures"],body:has(#projects:target) #nav a[href*="#projects"],body:has(#talks:target) #nav a[href*="#talks"],body:has(#posters:target) #nav a[href*="#posters"],body:has(#papers:target) #nav a[href*="#papers"],#nav a[aria-current=page]{background-color:var(--term-bg);color:var(--term-fg);font-weight:600;border-bottom:2px solid var(--term-green)}body:has(#supervisions:target) #nav a[href*="#supervisions"]::before,body:has(#lectures:target) #nav a[href*="#lectures"]::before,body:has(#projects:target) #nav a[href*="#projects"]::before,body:has(#talks:target) #nav a[href*="#talks"]::before,body:has(#posters:target) #nav a[href*="#posters"]::before,body:has(#papers:target) #nav a[href*="#papers"]::before,#nav a[aria-current=page]::before{content:"[" counter(tab-counter)":";color:var(--term-green);font-weight:700}body:has(#supervisions:target) #nav a[href*="#supervisions"]::after,body:has(#lectures:target) #nav a[href*="#lectures"]::after,body:has(#projects:target) #nav a[href*="#projects"]::after,body:has(#talks:target) #nav a[href*="#talks"]::after,body:has(#posters:target) #nav a[href*="#posters"]::after,body:has(#papers:target) #nav a[href*="#papers"]::after,#nav a[aria-current=page]::after{content:"*]";color:var(--term-yellow);font-weight:700}body:has(#supervisions:target) #nav a[href*="#supervisions"]:hover,body:has(#lectures:target) #nav a[href*="#lectures"]:hover,body:has(#projects:target) #nav a[href*="#projects"]:hover,body:has(#talks:target) #nav a[href*="#talks"]:hover,body:has(#posters:target) #nav a[href*="#posters"]:hover,body:has(#papers:target) #nav a[href*="#papers"]:hover,#nav a[aria-current=page]:hover{background-color:var(--term-bg);color:var(--term-fg)}body:has(#supervisions:target) #nav a[aria-current=page],body:has(#lectures:target) #nav a[aria-current=page],body:has(#projects:target) #nav a[aria-current=page],body:has(#talks:target) #nav a[aria-current=page],body:has(#posters:target) #nav a[aria-current=page],body:has(#papers:target) #nav a[aria-current=page],#nav a{background-color:initial;color:var(--term-fg-muted);font-weight:400;border-bottom:2px solid transparent}body:has(#supervisions:target) #nav a[aria-current=page]::before,body:has(#lectures:target) #nav a[aria-current=page]::before,body:has(#projects:target) #nav a[aria-current=page]::before,body:has(#talks:target) #nav a[aria-current=page]::before,body:has(#posters:target) #nav a[aria-current=page]::before,body:has(#papers:target) #nav a[aria-current=page]::before,#nav a::before{content:"[" counter(tab-counter)":";color:var(--term-fg-dim);font-weight:500}body:has(#supervisions:target) #nav a[aria-current=page]::after,body:has(#lectures:target) #nav a[aria-current=page]::after,body:has(#projects:target) #nav a[aria-current=page]::after,body:has(#talks:target) #nav a[aria-current=page]::after,body:has(#posters:target) #nav a[aria-current=page]::after,body:has(#papers:target) #nav a[aria-current=page]::after,#nav a::after{content:"]";color:var(--term-fg-dim);font-weight:500}body:has(#supervisions:target) #nav a[aria-current=page]:hover,body:has(#lectures:target) #nav a[aria-current=page]:hover,body:has(#projects:target) #nav a[aria-current=page]:hover,body:has(#talks:target) #nav a[aria-current=page]:hover,body:has(#posters:target) #nav a[aria-current=page]:hover,body:has(#papers:target) #nav a[aria-current=page]:hover,#nav a:hover{background-color:rgba(0,0,0,4%);color:var(--term-fg)}#nav{width:100%;height:100%;counter-reset:tab-counter -1}#nav ul{display:flex;align-items:stretch;height:100%;list-style:none;padding:0 .5rem;margin:0;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 1.5rem),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 1.5rem),transparent)}#nav ul::-webkit-scrollbar{display:none}#nav li{flex-shrink:0;display:flex;align-items:stretch;counter-increment:tab-counter}#nav a{display:flex;align-items:center;padding:0 .85rem;font-size:var(--font-size-sm);text-decoration:none;text-transform:lowercase;border-right:1px solid var(--term-border-muted);transition:background-color .1s ease,color .1s ease;white-space:nowrap}#nav a::before{margin-right:2px}#nav a::after{margin-left:2px}#nav a:active{background-color:var(--term-surface-alt)}#nav a:focus-visible{outline-offset:-2px}main#main::before,aside#sidebar::before{display:block;font-size:var(--font-size-xs);color:var(--term-fg-muted);padding:.45rem var(--pane-title-pad-x);margin:0 calc(-1 * var(--pane-pad-x));background-color:var(--term-surface-alt);border-bottom:1px solid var(--term-border);letter-spacing:.02em;font-weight:600;line-height:1.5}main#main::after,aside#sidebar::after{position:absolute;top:.45rem;right:var(--pane-title-pad-x);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.02em;line-height:1.5;white-space:nowrap;pointer-events:none}aside#sidebar{grid-area:sidebar;position:sticky;top:var(--header-height);height:calc(100vh - var(--header-height));overflow-y:auto;padding:0 var(--pane-pad-x)2rem;background-color:var(--term-bg);border-right:1px solid var(--term-border)}aside#sidebar::before{content:"┌─ [1: profile] ~/whoami";margin-bottom:1.25rem}aside#sidebar::after{content:"(zsh)";color:var(--term-blue)}@supports(height:100dvh){body{min-height:100dvh}aside#sidebar{height:calc(100dvh - var(--header-height))}}main#main{--pane-pad-x:2.25rem;--pane-title-pad-x:1rem;grid-area:main;position:relative;min-width:0;padding:0 var(--pane-pad-x)3rem;background-color:var(--term-surface)}main#main::before{content:"┌─ [2: buffer] ~/academic";margin-bottom:2rem}main#main::after{content:"(main ⚡)";color:var(--term-yellow)}footer#footer{grid-area:footer;position:relative;z-index:10;background-color:var(--term-bg);border-top:1px solid var(--term-border);padding:.6rem 1.5rem;font-size:var(--font-size-xs);color:var(--term-fg-muted);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}footer#footer::before{content:"NORMAL │ utf-8 │ zsh 5.9 │ 100%";color:var(--term-fg-dim);letter-spacing:.03em}footer#footer p{margin:0;font-size:inherit;color:inherit}footer#footer p a{color:var(--term-fg);text-decoration:underline}footer#footer p a:hover{color:var(--term-blue)}@media(max-width:768px){body{grid-template-areas:"header" "sidebar" "main" "footer";grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto}header#header{position:static;height:auto;min-height:var(--header-height);padding:.15rem 0}#nav{height:auto}#nav ul{flex-wrap:wrap;height:auto;overflow-x:visible;padding:.2rem .5rem;row-gap:.25rem;-webkit-mask-image:none;mask-image:none}#nav li{height:auto}#nav a{padding:.3rem .6rem;font-size:var(--font-size-xs);line-height:1.4}aside#sidebar{position:relative;top:0;height:auto;overflow:visible;border-right:none;border-bottom:1px solid var(--term-border);padding-bottom:1.5rem}aside#sidebar::before{content:"┌─ [pane: profile] ~/whoami";margin-bottom:1rem}main#main{--pane-pad-x:1.25rem;--pane-title-pad-x:0.75rem;padding-bottom:2.5rem}main#main::before{content:"┌─ [pane: buffer] ~/academic";margin-bottom:1.5rem}footer#footer{padding:.75rem 1rem;flex-direction:column;align-items:flex-start}}#sidebar .avatar{width:110px;height:110px;border-radius:4px;border:1px solid var(--term-border);padding:3px;background-color:var(--term-surface);object-fit:cover;display:block;margin-top:1.25rem;margin-bottom:.85rem;box-shadow:0 1px 3px rgba(0,0,0,4%)}#sidebar h1{font-size:var(--font-size-h1);font-weight:700;margin-bottom:.35rem;color:var(--term-fg);display:flex;align-items:center;gap:.25rem}#sidebar h1::after{content:"█";color:var(--term-green);font-size:.85em;font-weight:400;animation:term-cursor-blink 1.2s infinite;margin-left:2px}#sidebar .subtitle{font-size:var(--font-size-sm);color:var(--term-fg);margin-bottom:.75rem;font-style:normal}#sidebar .subtitle::before{content:"~/ ";color:var(--term-yellow);font-weight:600}#sidebar .bio{font-size:var(--font-size-sm);color:var(--term-fg);line-height:1.55;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px dashed var(--term-border)}#sidebar .contact{list-style:none;padding:0;margin-top:.85rem}#sidebar .contact li{min-height:26px;display:flex;align-items:center;font-size:var(--font-size-sm);margin-bottom:.4rem;color:var(--term-fg)}#sidebar .contact li .contact-icon{display:none}#sidebar .contact li:not(:has(a))::before{content:"--loc ";color:var(--term-yellow);font-weight:600;margin-right:.35rem}#sidebar .contact li a{color:var(--term-blue);text-decoration:none;display:inline-flex;align-items:center;transition:color .15s ease}#sidebar .contact li a:hover{color:var(--term-green);text-decoration:underline}#sidebar .contact li a::before{content:"--link ";color:var(--term-yellow);font-weight:600;margin-right:.35rem}#sidebar .contact li a[aria-label=Email]::before,#sidebar .contact li a[href^="mailto:"]::before{content:"--email ";color:var(--term-yellow);font-weight:600;margin-right:.35rem}#sidebar .contact li a[aria-label=ORCID]::before,#sidebar .contact li a[href*="orcid.org"]::before{content:"--orcid ";color:var(--term-yellow);font-weight:600;margin-right:.35rem}#sidebar .contact li a[aria-label="Google Scholar"]::before,#sidebar .contact li a[href*="scholar.google"]::before{content:"--scholar ";color:var(--term-yellow);font-weight:600;margin-right:.35rem}#sidebar .contact li a[aria-label=GitHub]::before,#sidebar .contact li a[href*="github.com"]::before{content:"--github ";color:var(--term-yellow);font-weight:600;margin-right:.35rem}#sidebar .contact li a[aria-label=Forge]::before,#sidebar .contact li a[href*=forge i]::before,#sidebar .contact li a[href*=gitlab i]::before{content:"--forge ";color:var(--term-yellow);font-weight:600;margin-right:.35rem}#sidebar .contact li a[target=_blank]::after{content:" ↗";font-size:.75em;color:var(--term-fg-dim);margin-left:3px}@keyframes term-cursor-blink{0%,49%{opacity:1}50%,100%{opacity:0}}#home{margin-bottom:2.25rem;scroll-margin-top:calc(var(--header-height) + 1.25rem)}#home:not(:has(.home-content>*)){display:none}#home .home-content{background-color:var(--term-surface-alt);border:1px dashed var(--term-border);border-radius:4px;padding:.85rem 1.25rem;font-size:var(--font-size-sm);line-height:1.6}#home .home-content::before{content:"# MOTD: system banner";display:block;font-size:var(--font-size-xs);color:var(--term-fg-muted);font-weight:600;margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.05em}#home .home-content ul,#home .home-content ol,#home .home-content blockquote{margin-bottom:.75rem}#home .home-content ul,#home .home-content ol{padding-left:1.5rem}#home .home-content blockquote{padding-left:1rem;border-left:2px solid var(--term-border)}#home .home-content p:last-child,#home .home-content>:last-child{margin-bottom:0}.section{margin-bottom:3rem;scroll-margin-top:calc(var(--header-height) + 1.25rem)}.section h2{font-size:var(--font-size-h2);font-weight:600;margin-bottom:1.25rem;padding-bottom:.4rem;border-bottom:1px solid var(--term-border);display:flex;align-items:baseline;letter-spacing:.01em;text-transform:lowercase}.section h2::before{content:"% ";color:var(--term-green);font-weight:700;padding-right:.35rem}.section h2::after{content:"/";color:var(--term-yellow);font-weight:600}.section details{margin-bottom:1.25rem;border-left:1px dotted var(--term-border);margin-left:.35rem;padding-left:1rem;transition:border-color .15s ease}.section details:hover{border-left-color:var(--term-yellow)}.section details summary{list-style:none;cursor:pointer;font-size:var(--font-size-sm);font-weight:600;color:var(--term-yellow);margin-bottom:.85rem;user-select:none;display:inline-block}.section details summary::-webkit-details-marker{display:none}.section details summary:hover{color:var(--term-green)}.section details summary::after{content:"]";color:var(--term-yellow);font-weight:700}.section details[open]>summary::before{content:"▼ [";color:var(--term-yellow);font-weight:700}.section details:not([open])>summary::before{content:"▶ [";color:var(--term-yellow);font-weight:700}.item{margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--term-border-muted)}.item:last-child{border-bottom:none;padding-bottom:0}.item h3{font-size:var(--font-size-h3);font-weight:600;margin-bottom:.4rem;color:var(--term-fg)}.item h3::before{content:"-> ";color:var(--term-green);font-weight:700}.item h3 .type{font-size:var(--font-size-xs);color:var(--term-magenta);font-weight:600}.item .subtitle{font-size:var(--font-size-sm);color:var(--term-fg-muted);font-style:italic;margin-bottom:.35rem}.item p{font-size:var(--font-size-sm);color:var(--term-fg-muted);margin-bottom:.4rem;line-height:1.55}.item p strong{color:var(--term-yellow);font-weight:600}.item p em{color:var(--term-blue);font-style:normal;font-weight:500}.item p u{color:var(--term-green);font-weight:600;text-decoration:underline;text-decoration-color:var(--term-green);text-underline-offset:3px}.item a[target=_blank]{font-weight:500}.item a[target=_blank]:hover{color:var(--term-green)}.item dl{display:grid;grid-template-columns:max-content 1fr;gap:.3rem 1rem;margin-top:.5rem;margin-bottom:.5rem;font-size:var(--font-size-sm);align-items:baseline}.item dl dt{color:var(--term-yellow);font-weight:600;white-space:nowrap;text-transform:lowercase}.item dl dt::before{content:"--";color:var(--term-fg-dim)}.item dl dd{color:var(--term-fg);overflow-wrap:anywhere;margin:0}@media(max-width:768px){#home,.section{scroll-margin-top:1.25rem}}