:root{--background: #f0f4f8;--surface: #fff;--text: #17263b;--secondary: #485b73;--accent: #2856a0;--line: #bdcbdc;--tint: #e2eaf4;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Consolas, monospace;--content-width: 1280px;--header-height: 80px;color-scheme:light}:root[data-theme=dark]{--background: #111a27;--surface: #192638;--text: #e9f0fa;--secondary: #b0c1d7;--accent: #a6c5ff;--line: #40526d;--tint: #213249;color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--background: #111a27;--surface: #192638;--text: #e9f0fa;--secondary: #b0c1d7;--accent: #a6c5ff;--line: #40526d;--tint: #213249;color-scheme:dark}}*{box-sizing:border-box}html{scroll-padding-block:calc(var(--header-height) + 24px)}body{margin:0;background:var(--background);color:var(--text);font:18px/1.6 var(--font-sans)}[hidden]{display:none!important}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}a,button,select,summary,[tabindex]{scroll-margin-block:calc(var(--header-height) + 24px)}button,select{font:inherit;font-size:13px;background:var(--surface);color:var(--text);border:1px solid var(--secondary);border-radius:4px;min-height:44px;padding:8px 12px;cursor:pointer}p,h1,h2,h3,figure{margin:0}h1,h2,h3{font-weight:500;line-height:1.2}h2{font-size:36px;letter-spacing:-.04em}.wrap{width:calc(100% - 112px);max-width:var(--content-width);margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--surface);padding:12px}.skip:focus{top:12px}.site-header{position:sticky;top:0;background:var(--background);border-bottom:1px solid var(--line);z-index:20}.header-inner{height:var(--header-height);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:40px}.brand{font-size:24px;letter-spacing:-1px;font-weight:700;min-height:44px;display:flex;align-items:center;justify-self:start}.brand span{color:var(--secondary);font-weight:400;margin-left:9px}.primary-links,.nav-social{display:flex;align-items:center;gap:26px}.desktop-nav{font-size:14px;justify-self:center}.desktop-nav a{padding-block:10px}.desktop-actions{justify-self:end;font-size:14px}.nav-social{gap:22px}.theme-control{width:44px;min-width:44px;padding:0;border-color:var(--line);background:transparent;display:inline-grid;place-items:center}.theme-icons{display:grid;place-items:center}.theme-icon{display:none;grid-area:1 / 1;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.theme-control[data-theme-preference=system] .theme-icon-system,.theme-control[data-theme-preference=light] .theme-icon-light,.theme-control[data-theme-preference=dark] .theme-icon-dark{display:block}.theme-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}.mobile-menu{display:none}.hero{min-height:calc(100svh - var(--header-height));display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center;position:relative;padding:90px 0 116px}.hero h1{font-size:clamp(54px,6.2vw,88px);line-height:1.01;letter-spacing:-.065em;margin-bottom:32px}.accent{color:var(--accent)}.role,.specialty{font-size:21px}.role{color:var(--accent)}.specialty{margin:3px 0 23px}.hero-copy,.hero-visual{transform:translateY(-16px)}.intro{max-width:505px;color:var(--secondary);font-size:18px;line-height:1.7}.scroll-hint{position:absolute;bottom:30px;left:0;color:var(--accent);font-size:14px;padding:8px 0}.scroll-hint span{margin-left:16px}.hero-visual{aspect-ratio:1.12;background:var(--tint);position:relative;overflow:hidden;display:grid;place-items:center;max-width:470px;width:100%;justify-self:end}.visual-frame{width:57%;height:64%;border:1px solid var(--accent);transform:rotate(-10deg);opacity:.55}.visual-frame:after{content:"";display:block;width:100%;height:100%;border:1px solid var(--accent);transform:translate(22px,22px)}.visual-axis{position:absolute;width:1px;height:78%;background:var(--line);transform:rotate(40deg)}.visual-mark{position:absolute;bottom:22px;left:24px;color:var(--secondary);font:11px var(--font-mono);letter-spacing:.12em}.section{padding:78px 0;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:28px;margin-bottom:36px}.section-heading p{font-size:14px;color:var(--secondary)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:34px 28px}.project-card{display:grid;grid-template-rows:subgrid;grid-row:span 5;row-gap:18px;min-width:0;border-bottom:1px solid var(--line);padding-bottom:26px}.project-card:hover h3,.project-card:focus-visible h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.figure img{display:block;width:100%;height:auto}.cover{position:relative;aspect-ratio:16/9;background:var(--tint);overflow:hidden}.cover img{height:100%;width:100%;padding:8px 14px 20px}.cover.crop img{padding:0}.cover figcaption{position:absolute;bottom:10px;left:14px;font:10px/1.3 var(--font-sans);color:var(--secondary)}.figure:not(.cover) figcaption{font-size:14px;color:var(--secondary);margin-top:8px}.metadata{font-size:12px;color:var(--secondary);line-height:1.6}.metadata>span{color:var(--accent);font-weight:600}.project-card h3{font-size:24px;letter-spacing:-.025em;line-height:1.3}.description{font-size:16px;color:var(--secondary);line-height:1.65}.tags{display:flex;flex-wrap:wrap;align-content:start;gap:7px;list-style:none;margin:0;padding:0;color:var(--secondary);font-size:11px}.tags li{padding:3px 8px;background:var(--tint);border-radius:3px}.text-link{display:inline-block;font-size:15px;color:var(--accent);text-decoration:underline;text-underline-offset:6px;margin-top:30px;padding-block:8px}.section-link{display:table;margin:30px auto 0;text-align:center}.label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--secondary);margin-bottom:16px}.experience-content{display:grid;grid-template-columns:1fr 2fr;gap:60px}.experience h2{font-size:28px}.experience-items{display:grid;grid-template-columns:1fr 1fr;gap:28px}.experience-items strong{display:block;font-weight:500;font-size:18px}.experience-items span{display:block;font-size:15px;color:var(--secondary);margin-top:5px}.publication-row{display:grid;grid-template-columns:90px 1fr 28px;gap:24px;padding:28px 0;border-top:1px solid var(--line)}.publication-row:first-child{border-top:0;padding-top:0}.publication-row h3{font-size:23px;line-height:1.45;font-weight:500;margin-bottom:12px;max-width:950px}.publication-row:hover h3,.publication-row:focus-visible h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.year{font:14px/1.6 var(--font-mono);color:var(--accent);padding-top:4px}.summary{font-size:14px;color:var(--secondary);margin-bottom:7px}.authors{font-size:13px;color:var(--secondary)}.authors strong{color:var(--text);font-weight:600}.arrow{color:var(--accent)}.contact{display:grid;grid-template-columns:1fr 1fr;gap:65px}.contact h2{font-size:52px;max-width:400px;line-height:1.1;margin-bottom:22px}.contact p:not(.label){max-width:380px;font-size:16px;color:var(--secondary)}.contact-right{align-self:center}.email{font-size:clamp(18px,2vw,29px);letter-spacing:-.03em;text-decoration:underline;text-underline-offset:7px;display:block;overflow-wrap:anywhere;margin-bottom:24px}.copy-status{display:inline-block;font-size:12px;color:var(--secondary);margin-left:12px}footer{border-top:1px solid var(--line);padding:28px 0;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:24px;font-size:13px;color:var(--secondary)}footer strong,.footer-identity span{display:block}footer strong{color:var(--text);font-size:15px;font-weight:600}.footer-identity span{margin-top:3px}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px}.footer-copyright{white-space:nowrap}.footer-closing{justify-self:end}.footer-back-mobile{display:none}footer a{padding-block:8px}.skeleton{padding:80px 0 100px;min-height:70vh;max-width:850px}.skeleton h1{font-size:clamp(32px,5vw,56px);letter-spacing:-.04em;overflow-wrap:anywhere;margin-bottom:24px}.skeleton h2{font-size:24px;margin:32px 0 12px}.skeleton p{margin-bottom:20px}.skeleton a:not(.text-link){text-decoration:underline;text-underline-offset:4px;color:var(--accent)}.notice{color:var(--secondary)}.prose{max-width:70ch}.prose img{max-width:100%;height:auto}.prose pre{overflow:auto;padding:20px;background:var(--surface)}.publication-detail{padding:76px 0 110px}.publication-detail-header{max-width:1040px;padding-bottom:48px}.detail-kicker{display:inline-block;margin-bottom:22px;color:var(--accent);font-size:13px;text-decoration:underline;text-underline-offset:5px}.publication-detail h1{font-size:clamp(38px,5.7vw,70px);letter-spacing:-.05em;overflow-wrap:anywhere}.publication-english-title{max-width:850px;margin-top:22px;color:var(--secondary);font-size:clamp(19px,2vw,26px);line-height:1.45}.publication-detail-authors{margin-top:24px;color:var(--secondary);font-size:15px}.publication-detail-authors strong{color:var(--text)}.publication-detail-meta{color:var(--secondary);font-size:13px}.publication-detail-meta span{color:var(--accent);font-weight:600}.publication-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,320px);grid-template-areas:"reading tools" "reading secondary";grid-template-rows:auto 1fr;column-gap:clamp(48px,6vw,88px);row-gap:0;align-items:start}.publication-reading{grid-area:reading;display:grid;gap:52px;max-width:760px}.publication-sidebar{display:contents}.publication-sidebar-primary{grid-area:tools;align-self:start;min-width:0}.publication-sidebar-secondary{grid-area:secondary;min-width:0}.publication-reading section,.publication-sidebar section{border-top:1px solid var(--line);padding-top:28px}.publication-reading h2{margin-bottom:20px;font-size:28px}.publication-reading h3{margin:28px 0 10px;font-size:17px}.publication-reading p{color:var(--secondary)}.publication-sidebar section{margin-top:30px}.publication-sidebar h2{margin-bottom:16px;font-size:17px}.original-abstract{margin-top:28px}.bibliographic-data{display:grid;grid-template-columns:minmax(95px,.38fr) minmax(0,1fr);gap:9px 18px;margin:0}.bibliographic-data dt{color:var(--secondary);font-size:13px}.bibliographic-data dd{margin:0}.publication-links{display:grid;gap:10px;margin:0;padding:0;list-style:none}.publication-links a{color:var(--accent);text-decoration:underline;text-underline-offset:5px}.citation-tool{margin-top:24px}.citation-tool dialog{width:min(720px,calc(100% - 40px));max-height:calc(100dvh - 40px);overflow:auto;padding:28px;color:var(--text);background:var(--background);border:1px solid var(--line);border-radius:6px}.citation-tool dialog::backdrop{background:#070c13ad}.citation-dialog-heading{display:flex;align-items:start;justify-content:space-between;gap:24px;margin-bottom:24px}.citation-dialog-heading h2{font-size:28px}.citation-close{min-height:40px}.citation-tool label{display:block;margin-bottom:7px;color:var(--secondary);font-size:13px}.citation-tool select{width:100%}.citation-tool pre{min-height:150px;margin:20px 0;padding:18px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface);border:1px solid var(--line);font:13px/1.65 var(--font-mono)}.citation-actions{display:flex;align-items:center;gap:14px}.citation-actions span{color:var(--secondary);font-size:12px}.citation-note{margin-top:18px;color:var(--secondary);font-size:12px}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px}.collection-page{padding:76px 0 110px;min-height:70vh}.collection-header{padding-bottom:36px}.collection-header h1{font-size:clamp(48px,7vw,76px);letter-spacing:-.055em}.collection-header p{max-width:620px;margin-top:16px;color:var(--secondary)}.project-archive,.research-archive{list-style:none;margin:0;padding:0}.project-archive{--timeline-spine: 144px;position:relative}.project-archive:before{content:"";position:absolute;top:42px;bottom:42px;left:var(--timeline-spine);width:1px;background:var(--line)}.project-timeline-item{position:relative;display:grid;grid-template-columns:126px 36px minmax(0,1fr);align-items:start;padding:34px 0}.project-timeline-label{grid-column:1 / 3;display:grid;grid-template-columns:126px 36px;align-items:center}.project-timeline-time{padding-right:22px;text-align:right;color:var(--secondary);font:13px/1.5 var(--font-mono)}.project-timeline-marker{position:relative;width:36px;height:24px}.project-timeline-marker:before{content:"";position:absolute;z-index:1;top:50%;left:13px;width:9px;height:9px;border:2px solid var(--secondary);border-radius:50%;background:var(--background);transform:translateY(-50%)}.project-timeline-item.is-ongoing .project-timeline-marker:before{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 3px var(--background)}.project-timeline-marker:after{content:"";position:absolute;top:50%;left:23px;width:20px;height:1px;background:var(--line);transform:translateY(-50%)}.project-archive-entry{grid-column:3;display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);grid-template-areas:"media copy";gap:30px}.project-archive-entry>.figure{grid-area:media}.project-archive-copy{grid-area:copy;align-self:center;min-width:0}.project-archive-copy h2{margin:10px 0 14px;font-size:clamp(25px,2.5vw,34px)}.project-archive-copy .tags{margin-top:18px}.project-archive-entry:hover h2,.project-archive-entry:focus-visible h2,.research-archive-entry:hover h2,.research-archive-entry:focus-visible h2,.note-card:hover h2,.note-card:focus-visible h2{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.research-identifiers{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;justify-content:space-between;gap:28px;padding:18px 0;margin-bottom:24px;border-block:1px solid var(--line);color:var(--secondary);font-size:13px}.research-identifiers>p{color:var(--text);font-weight:600}.research-identifiers dl{display:grid;grid-template-columns:max-content max-content;gap:8px 22px;margin:0}.research-identifiers dl div{display:contents}.research-identifiers dd{margin:0;color:var(--text);font-family:var(--font-mono)}.research-archive{--research-spine: calc(100% - 116px) ;position:relative}.research-archive:before{content:"";position:absolute;top:44px;bottom:44px;left:var(--research-spine);width:1px;background:var(--line)}.research-year-group{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 42px 96px;align-items:start;padding:36px 0}.research-timeline-label{grid-column:2 / 4;display:grid;grid-template-columns:42px 96px;align-items:center}.research-year-publications{display:grid;gap:34px;list-style:none;margin:0;padding:0 28px 0 0}.research-year-marker{position:relative;width:42px;height:24px}.research-year-marker:before{content:"";position:absolute;z-index:1;top:50%;left:15px;width:9px;height:9px;border:2px solid var(--accent);border-radius:50%;background:var(--background);transform:translateY(-50%)}.research-year-marker:after{content:"";position:absolute;top:50%;right:21px;width:28px;height:1px;background:var(--line);transform:translateY(-50%)}.research-year{padding-left:20px;color:var(--accent);font:15px/1.5 var(--font-mono)}.research-archive-entry{display:block}.research-bibliography h2{max-width:900px;margin-bottom:13px;font-size:clamp(23px,2.5vw,32px);line-height:1.35;letter-spacing:-.02em}.research-english-title{max-width:900px;margin-bottom:10px;color:var(--secondary);font-size:15px}.research-venue{margin-top:8px;color:var(--secondary);font-size:13px}.research-publication-state{margin-top:5px;color:var(--secondary);font-size:12px}.notes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:28px}.note-card{display:flex;min-width:0;flex-direction:column;padding:14px 14px 20px;border:1px solid var(--line);background:var(--surface);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.note-card:hover{transform:translateY(-3px);border-color:var(--secondary);box-shadow:0 8px 20px #17263b14}.note-card-media,.note-cover-placeholder{aspect-ratio:16 / 9}.note-card-media{margin-bottom:18px;overflow:hidden;background:var(--tint)}.note-card-media .cover{height:100%}.note-cover-placeholder{background:var(--tint)}.note-card time{color:var(--accent);font:12px/1.5 var(--font-mono)}.note-card h2{margin:10px 0 12px;font-size:25px}.note-card>p{color:var(--secondary);font-size:15px}.note-card .tags{margin-top:20px}.notes-empty{border-block:1px solid var(--line);padding:36px 0;color:var(--secondary)}@media(max-width:70rem){.wrap{width:calc(100% - 64px)}.hero{gap:36px}.hero h1{font-size:65px}.role,.specialty{font-size:19px}.contact{gap:30px}.project-archive-entry{grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:24px}}@media(max-width:63.99rem){:root{--header-height: 66px}.header-inner{display:flex;height:calc(var(--header-height) - 1px)}.brand{margin-right:auto}.desktop-nav,.desktop-actions{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;cursor:pointer;list-style:none;font-size:24px}.mobile-menu summary::-webkit-details-marker{display:none}.drawer{position:absolute;right:0;top:54px;width:min(290px,calc(100vw - 40px));max-height:calc(100dvh - 110px);overflow:auto;background:var(--surface);padding:16px;border:1px solid var(--line);display:flex;flex-direction:column;font-size:16px}.drawer a{padding:9px 12px}.drawer .primary-links{display:flex;flex-direction:column;align-items:stretch;gap:0}.drawer .nav-social{margin:10px 0 0;padding-top:10px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:stretch;gap:0}.drawer .theme-control{width:100%;padding:9px 12px;display:flex;justify-content:flex-start;gap:12px}.drawer .theme-label{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}.hero h1{font-size:clamp(48px,7vw,65px)}.section-heading{align-items:start;flex-direction:column;gap:12px}.experience-content{gap:30px;grid-template-columns:1fr 1.6fr}.experience-items{grid-template-columns:1fr;gap:20px}}@media(min-width:42.01rem)and (max-width:63.99rem){.projects-grid>:last-child:nth-child(odd){grid-column:1 / -1;width:calc((100% - 28px)/2);justify-self:center}}@media(max-width:42rem){.wrap{width:calc(100% - 44px)}.hero{grid-template-columns:1fr;min-height:calc(100svh - var(--header-height));padding:65px 0 100px;gap:0}.hero-visual{display:none}.hero h1{font-size:clamp(43px,12.8vw,68px);margin-bottom:28px}.role,.specialty{font-size:18px}.intro{font-size:17px;line-height:1.65}.section{padding:54px 0}.section-heading h2{font-size:32px}.section-heading p{font-size:13px}.projects-grid{grid-template-columns:1fr;row-gap:32px}.project-card h3{font-size:24px}.experience-content,.contact{grid-template-columns:1fr;gap:28px}.experience h2{font-size:28px}.publication-row{grid-template-columns:1fr 20px;gap:10px;padding-block:24px}.year{grid-column:1/-1;font-size:13px}.publication-row h3{font-size:21px}.summary{font-size:13px}.authors{font-size:12px}.contact h2{font-size:45px}.email{font-size:clamp(18px,5.8vw,24px)}.copy-status{margin-left:8px}.skeleton{padding-block:50px}.collection-page{padding:50px 0 76px}.collection-header{padding-bottom:28px}.collection-header h1{font-size:46px}.project-archive-entry{grid-template-columns:1fr;grid-template-areas:"media" "copy";gap:18px}.project-archive{--timeline-spine: 12px}.project-archive:before{top:42px;bottom:42px}.project-timeline-item{grid-template-columns:26px minmax(0,1fr);padding:28px 0 34px}.project-timeline-label{grid-column:1 / 3;grid-template-columns:26px minmax(0,1fr);gap:12px}.project-timeline-time{grid-column:2;padding:0;text-align:left}.project-timeline-marker{grid-column:1;grid-row:1;width:26px}.project-timeline-marker:before{left:7px}.project-timeline-marker:after{left:17px;width:9px}.project-archive-entry{grid-column:2;margin-top:14px}.project-archive-copy{align-self:auto}.research-identifiers{grid-template-columns:1fr;gap:10px;padding:14px 0;margin-bottom:14px}.research-identifiers dl{grid-template-columns:max-content max-content}.research-archive{--research-spine: 12px}.research-archive:before{top:43px;bottom:43px}.research-year-group{grid-template-columns:26px minmax(0,1fr);padding:30px 0}.research-timeline-label{grid-column:1 / 3;grid-row:1;grid-template-columns:26px max-content;gap:12px}.research-year-publications{grid-column:2;grid-row:2;gap:30px;padding:18px 0 0}.research-year-marker{grid-column:1;grid-row:1;width:26px}.research-year-marker:before{left:7px}.research-year-marker:after{left:17px;right:auto;width:9px}.research-year{grid-column:2;grid-row:1;padding:0;font-size:13px}.research-index .collection-header{padding-bottom:20px}.research-index .collection-header p{margin-top:12px;font-size:15px;line-height:1.55}.notes-grid{grid-template-columns:1fr}footer{grid-template-columns:1fr;gap:20px;padding-block:26px;font-size:12px}.footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 16px;padding-block:12px;border-block:1px solid var(--line)}.footer-links a{text-align:center}.footer-back-desktop{display:none}.footer-closing{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;justify-self:stretch}.footer-back-mobile{display:inline-block;text-align:right}.publication-detail{padding:50px 0 76px}.publication-detail-header{padding-bottom:40px}.publication-detail h1{font-size:38px}.publication-detail-layout{grid-template-columns:1fr;grid-template-areas:"tools" "reading" "secondary";grid-template-rows:auto auto auto;gap:42px}.publication-reading{gap:42px}.bibliographic-data{grid-template-columns:1fr;gap:3px}.bibliographic-data dd+dt{margin-top:12px}.citation-tool dialog{padding:22px}}@media(max-width:22rem){.research-identifiers dl{grid-template-columns:1fr;gap:2px}.research-identifiers dl div+div dt{margin-top:8px}}@media(prefers-reduced-motion:reduce){.note-card:hover{transform:none}*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
