*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:#30383c;background:#fff;font:16px/1.75 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}a{color:#22646d;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}a:focus-visible{outline:3px solid #bf7b27;outline-offset:5px}header{border-top:4px solid #245c65;border-bottom:1px solid #e5eaeb;background:#fff}nav{max-width:1110px;margin:auto;padding:19px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}nav div{display:flex;gap:28px}nav a{color:#445052;font-size:15px}.brand{font-size:20px;font-weight:650;color:#183f46}.layout{max-width:1110px;margin:54px auto 0;padding:0 28px;display:grid;grid-template-columns:238px minmax(0,1fr);gap:70px}aside{align-self:start;position:sticky;top:35px;font-size:15px;line-height:1.65}.portrait{display:block;width:220px;height:220px;object-fit:cover;object-position:43% center;border-radius:6px}h1{font-size:32px;letter-spacing:-.7px;margin:19px 0 2px;line-height:1.2;color:#183f46}aside p{margin:8px 0}.role{font-weight:600}.degree{color:#637073;padding-top:13px;font-size:14px}.profile-links{border-top:1px solid #e1e7e8;margin-top:21px;padding-top:17px;display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;font-size:14px}section{margin-bottom:40px;scroll-margin-top:25px}h2{font-size:24px;line-height:1.3;font-weight:600;letter-spacing:-.4px;color:#183f46;margin:0 0 17px}p{margin:0 0 15px}.intro{font-size:21px;line-height:1.5;color:#253f44;margin-bottom:19px;max-width:620px}.interests{padding-left:20px;margin:0}.interests li{padding-left:4px;margin:3px 0}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.section-heading>a{font-size:14px;white-space:nowrap}.publication{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;border-top:1px solid #e3e9ea;padding:20px 0}.year{font-size:14px;color:#687579;padding-top:2px}h3{font-size:17px;line-height:1.5;font-weight:600;margin:0 0 5px}h3 a{color:#245c65}.publication p{font-size:14px;margin:1px 0}.publication strong{font-weight:600}.venue{color:#627073;font-style:italic}.paper{display:inline-block;font-size:13px;line-height:1.4;margin-top:9px;padding:3px 9px;border:1px solid #c7d9dc;border-radius:3px}.media-list{list-style:none;margin:0;padding:0}.media-list li{border-top:1px solid #e3e9ea;padding:13px 0}.outlet{display:block;color:#687579;font-size:13px;margin-bottom:2px}.highlights{padding-left:20px}.highlights li{margin:8px 0}.email{font-size:19px}footer{border-top:1px solid #e3e9ea;padding:22px 0 34px;color:#748083;font-size:13px;display:flex;justify-content:space-between}.skip{position:absolute;left:12px;top:-80px;background:#fff;padding:12px;z-index:10}.skip:focus{top:8px}@media(max-width:780px){nav{align-items:flex-start;flex-direction:column;gap:10px;padding:14px 22px}nav div{gap:18px;flex-wrap:wrap}.layout{margin-top:30px;grid-template-columns:1fr;gap:35px;padding:0 22px}aside{position:static;display:grid;grid-template-columns:125px 1fr;gap:0 22px}.portrait{width:125px;height:145px;grid-row:1/5}h1{margin-top:0;font-size:28px}aside p{font-size:14px;margin:4px 0}.degree{padding:4px 0}.profile-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 21px;margin-top:19px}h2{font-size:23px}.intro{font-size:20px}.publication{grid-template-columns:38px minmax(0,1fr);gap:9px}.section-heading{flex-wrap:wrap;gap:0}.section-heading>a{margin-bottom:16px}section{margin-bottom:34px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Image-led academic portfolio */
.layout{max-width:1240px;grid-template-columns:260px minmax(0,1fr);gap:64px}.portrait{width:260px;height:300px;object-fit:cover;object-position:42% center}nav{max-width:1240px}.image-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.gallery-card{display:block;overflow:hidden;border:1px solid #dde5e6;border-radius:6px;background:#fff;transition:box-shadow .2s,transform .2s}.gallery-card:hover{box-shadow:0 8px 24px #173d4714;transform:translateY(-3px);text-decoration:none}.gallery-card img{display:block;width:100%;aspect-ratio:1.8;object-fit:contain;background:#f1f5f5}.gallery-caption{display:block;padding:14px 17px 18px;font-size:15px;line-height:1.6;color:#244c54}#media .gallery-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.3fr 1fr;align-items:center;background:#edf4f4}#media .gallery-card:first-child img{aspect-ratio:2.1}#media .gallery-card:first-child .gallery-caption{font-size:20px;line-height:1.5;padding:24px}#media,#talks{margin-top:45px}#talks .gallery-card img{aspect-ratio:1.6;object-fit:contain}#talks .gallery-card:last-child{grid-column:1/-1;max-width:540px}h2{padding-bottom:12px;border-bottom:1px solid #dfe7e8}.section-heading h2{border:0;padding-bottom:0}.intro{font-size:23px} @media(max-width:780px){.layout{grid-template-columns:1fr;gap:30px}.portrait{width:125px;height:155px}.image-gallery{gap:16px}#media .gallery-card:first-child{display:block}#media .gallery-card:first-child .gallery-caption{font-size:18px;padding:16px}.gallery-caption{font-size:14px;padding:12px}.intro{font-size:21px}}@media(max-width:500px){.image-gallery{grid-template-columns:1fr}.gallery-card img{aspect-ratio:auto;max-height:300px}#media .gallery-card:first-child img{aspect-ratio:auto}#talks .gallery-card:last-child{max-width:none}}@media(prefers-reduced-motion:reduce){.gallery-card{transition:none}.gallery-card:hover{transform:none}}

.news-list{list-style:none;padding:0;margin:0}.news-list li{display:grid;grid-template-columns:85px minmax(0,1fr);gap:15px;padding:11px 0;border-bottom:1px solid #e8eded}.news-list time{font-size:14px;color:#637579;padding-top:2px}.news-list span{font-size:15px}#media .gallery-card:first-child{grid-column:auto;display:block;background:#fff}#media .gallery-card:first-child img{aspect-ratio:1.8}#media .gallery-card:first-child .gallery-caption{font-size:15px;line-height:1.6;padding:14px 17px 18px}#media{margin-top:45px}@media(max-width:500px){.news-list li{grid-template-columns:65px minmax(0,1fr);gap:12px}.news-list time{font-size:13px}#media .gallery-card:first-child img{aspect-ratio:auto}}

/* Editorial palette and quiet interaction */
:root{--ink:#173f48;--accent:#a56c36}body{background:#fcfcfa}header{background:#fcfcfa;border-top:5px solid var(--ink)}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400}h1{font-size:40px}h2{font-size:29px;position:relative;padding-bottom:15px}h2:after{content:"";position:absolute;bottom:-1px;left:0;width:45px;height:2px;background:var(--accent)}.intro{font-family:Georgia,"Times New Roman",serif;font-size:28px;line-height:1.4;color:var(--ink)}.portrait{border-radius:48% 48% 4px 4px;box-shadow:10px 10px 0 #e5edeb}aside .role{color:var(--accent)}nav a{transition:color .2s}nav a:hover{color:var(--accent)}.news-list time{color:#94602e;font-variant-numeric:tabular-nums}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:2px 0 20px}.filters button{font:inherit;font-size:13px;padding:7px 13px;border:1px solid #cdd9d9;border-radius:20px;background:transparent;color:var(--ink);cursor:pointer}.filters button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.filters button:hover{border-color:var(--accent)}#result-count{font-size:12px;color:#66777a;margin-left:auto}.publication[hidden]{display:none}.publication{transition:background .2s}.publication:hover{background:#eff4f280}.gallery-frame{background:white;border:1px solid #dfe6e5;border-radius:5px;overflow:hidden;transition:transform .2s,box-shadow .2s}.gallery-frame:hover{transform:translateY(-3px);box-shadow:0 10px 25px #173f4810}.image-open{display:block;padding:0;border:0;width:100%;position:relative;background:#eef2f1;cursor:zoom-in}.image-open img{display:block;width:100%;height:auto;aspect-ratio:1.8;object-fit:contain}.view-label{position:absolute;right:10px;bottom:10px;font-size:12px;background:#173f48e8;color:white;padding:5px 9px;border-radius:3px;opacity:0;transition:opacity .2s}.image-open:hover .view-label,.image-open:focus-visible .view-label{opacity:1}#media .gallery-item,#media .gallery-item:first-child{border:0;display:block;background:#fff;box-shadow:none;transform:none}#media .gallery-item:hover .gallery-caption{color:#a56c36}.gallery-caption{min-height:85px}button:focus-visible{outline:3px solid #a56c36;outline-offset:3px}dialog{border:0;border-radius:8px;padding:45px 20px 20px;max-width:min(1000px,92vw);max-height:90vh;background:#fcfcfa;color:var(--ink);box-shadow:0 20px 90px #0005}dialog::backdrop{background:#102a32bd;backdrop-filter:blur(5px)}#viewer-image{display:block;max-width:100%;max-height:68vh;object-fit:contain;margin:auto}.close-viewer{position:absolute;right:9px;top:5px;width:36px;height:36px;background:none;border:0;font-size:30px;color:var(--ink);cursor:pointer}.viewer-footer{display:flex;align-items:center;gap:25px;justify-content:space-between;padding-top:18px;font-size:14px}.viewer-footer p{margin:0}.viewer-footer a{white-space:nowrap}.section-heading h2:after{display:none}@media(max-width:780px){h1{font-size:32px}h2{font-size:27px}.intro{font-size:25px}.portrait{box-shadow:6px 6px 0 #e5edeb}.gallery-caption{min-height:0}}@media(max-width:500px){.view-label{opacity:1}.viewer-footer{display:block}.viewer-footer a{display:inline-block;margin-top:10px}#result-count{width:100%;margin:3px 0}.image-open img{aspect-ratio:auto}}@media(prefers-reduced-motion:reduce){.gallery-frame,.view-label,.publication,nav a{transition:none}.gallery-frame:hover{transform:none}}

.portrait{border-radius:4px;width:260px;height:260px;box-shadow:none;object-position:43% center}#network-background{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}body{isolation:isolate;background:#fcfcfa}.layout{background:rgba(252,252,250,.89);padding-top:18px}.presentation{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;padding:20px 0;border-top:1px solid #e3e9ea}.presentation[hidden]{display:none}.presentation h3{color:#244c54;margin-top:5px}.presentation p{font-size:14px;margin:2px 0}.presentation-kind{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#94602e}.presentation-controls{display:flex;align-items:end;gap:20px;flex-wrap:wrap;margin:0 0 18px}.presentation-controls label{font-size:13px;color:#637579}.presentation-controls select{display:block;background:#fcfcfa;border:1px solid #cdd9d9;border-radius:4px;padding:9px 12px;font:inherit;color:#173f48;margin-top:5px}#presentation-count{font-size:13px;color:#637579;margin-left:auto}#network-toggle{position:fixed;right:16px;bottom:14px;z-index:3;border:1px solid #ced9d8;background:#fcfcfaf2;color:#345a61;border-radius:18px;padding:8px 13px;font:12px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}nav div{gap:21px}footer{padding-bottom:70px}@media(max-width:780px){.portrait{width:125px;height:125px}.layout{margin-top:12px}nav div{gap:12px 18px}.presentation{grid-template-columns:38px minmax(0,1fr);gap:9px}.presentation-controls{gap:12px}#presentation-count{margin-left:0}#network-background{opacity:.6}}

/* Compact research lists; reveal the network beside the profile. */
.publication,.presentation{padding:11px 0;gap:12px}.publication h3,.presentation h3{font-size:16px;line-height:1.4;margin:0 0 3px}.publication p,.presentation p{line-height:1.5;margin:0}.presentation-kind{font-size:11px;letter-spacing:.06em;display:inline-block;margin-bottom:3px}.publication .year,.presentation .year{padding-top:0}.layout{background:transparent}main{background:rgba(252,252,250,.92);padding:18px 22px;border-radius:5px}aside{background:transparent}#presentations{margin-bottom:30px}@media(max-width:780px){main{padding:14px 0;background:rgba(252,252,250,.88)}.publication,.presentation{padding:10px 0;gap:9px}}

.profile-quote{margin:25px 0 0;padding:0 0 0 15px;border-left:2px solid #a56c36;color:#405c61}.profile-quote p{font-family:Georgia,"Times New Roman",serif;font-size:16px;font-style:italic;line-height:1.6;margin:0 0 9px}.profile-quote cite{font-size:12px;font-style:normal;color:#7c684f}@media(max-width:780px){.profile-quote{grid-column:1/-1;margin-top:22px;max-width:560px}.profile-quote p{font-size:16px}}

#about .profile-quote{margin:23px 0 0;max-width:660px}#about .profile-quote p{font-size:18px}#about{margin-bottom:32px}

/* Persistent navigation and a more expressive editorial composition. */
:root{--header-height:80px}header{position:sticky;top:0;z-index:20;background:rgba(252,252,250,.96);backdrop-filter:blur(14px);box-shadow:0 3px 18px #173f4808}html{scroll-padding-top:calc(var(--header-height) + 22px)}section{scroll-margin-top:0}aside{top:calc(var(--header-height) + 25px)}nav div a{position:relative;padding:5px 0}nav div a[aria-current="location"]{color:#94602e}nav div a[aria-current="location"]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#a56c36}.section-number{font:12px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#9c7145;letter-spacing:.08em;display:inline-block;vertical-align:middle;margin-right:12px}#about .intro{font-size:32px;line-height:1.35;letter-spacing:-.4px;max-width:710px}#about .profile-quote{position:relative;max-width:none;margin:32px 0 10px;padding:27px 30px 27px 64px;border:0;background:#193f48;color:#fff;border-radius:3px;box-shadow:7px 7px 0 #d8b88745}#about .profile-quote p{font-size:22px;line-height:1.5;color:#f4f3eb;margin-bottom:12px}.quote-mark{position:absolute;left:18px;top:5px;font:70px/1.2 Georgia,serif;color:#d5b482}#about .profile-quote cite{color:#d5b482;font-size:13px}#research{padding-top:10px}.portrait{border:7px solid #fff;outline:1px solid #dce4e3;box-shadow:8px 10px 0 #d5b48230}.image-gallery{padding:6px 5px 12px;gap:30px}.gallery-frame{padding:9px 9px 0;box-shadow:0 5px 13px #173f4812;transform:rotate(-.8deg);border-radius:1px}.gallery-frame:nth-child(even){transform:rotate(.8deg)}.gallery-frame:hover,.gallery-frame:focus-within{transform:rotate(0deg) translateY(-3px);box-shadow:0 12px 24px #173f4820}.gallery-caption{font-family:Georgia,"Times New Roman",serif;font-size:16px!important;min-height:0;padding:15px 9px 19px!important}.profile-links{border-top:1px solid #a56c3640}.news-list li{border-bottom-style:dashed}main{background:rgba(252,252,250,.94)}@media(max-width:780px){#about .intro{font-size:27px}#about .profile-quote{padding:23px 23px 23px 50px}#about .profile-quote p{font-size:20px}.quote-mark{left:12px;font-size:58px}.portrait{border-width:4px;box-shadow:5px 6px 0 #d5b48230}.image-gallery{gap:22px}aside{top:auto}nav{gap:6px}nav div{gap:6px 18px}}@media(prefers-reduced-motion:reduce){.gallery-frame,.gallery-frame:nth-child(even),.gallery-frame:hover{transform:none}}

/* Restore straightforward photos; express the research through a branching map. */
.portrait{border:0;outline:0;box-shadow:none;border-radius:4px}.gallery-frame,.gallery-frame:nth-child(even),.gallery-frame:hover,.gallery-frame:focus-within{padding:0;transform:none;box-shadow:none;border:1px solid #dfe6e5;border-radius:5px}.image-gallery{padding:0;gap:24px}.gallery-caption{font-family:inherit;font-size:15px!important;padding:14px 17px 18px!important}.research-map{position:relative;padding:10px 0 0}.research-paths{position:absolute;top:25px;left:0;width:100%;height:190px;pointer-events:none}.map-center{position:relative;display:table;margin:0 auto 38px;background:#fcfcfa;padding:0 14px;color:#244c54;font:18px/1.5 Georgia,serif}.research-nodes{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.research-node{display:flex;flex-direction:column;align-items:center;gap:7px;border:0;background:transparent;cursor:pointer;padding:0 4px 8px;color:#294650;font:14px/1.45 inherit}.research-node strong{font-size:16px;line-height:1.4}.research-node>span:last-child{font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;max-width:175px}.node-orbit{display:grid;place-items:center;width:82px;height:82px;border-radius:50%;font:38px/1 Georgia,serif;background:#d6eae0;color:#286347;box-shadow:0 0 0 8px #fcfcfa;transition:transform .25s,box-shadow .25s}.node-complex .node-orbit{background:#e1ddf0;color:#6b5797}.node-social .node-orbit{background:#f1dce2;color:#954765}.research-node:hover .node-orbit,.research-node:focus-visible .node-orbit{transform:translateY(-6px);box-shadow:0 0 0 8px #fcfcfa,0 12px 20px #23454f1c}.map-hint{text-align:center;color:#718082;font-size:13px;margin:16px 0 0}@media(max-width:500px){.research-nodes{gap:7px}.node-orbit{width:64px;height:64px;font-size:30px}.research-node strong{font-size:14px}.research-node>span:last-child{font-size:12px}.map-center{font-size:16px}.research-paths{height:150px}.map-hint{font-size:12px}}@media(prefers-reduced-motion:reduce){.node-orbit{transition:none}.research-node:hover .node-orbit{transform:none}}

/* A floating navigation ribbon, without a repeated name. */
header{border:0;box-shadow:none;background:transparent;backdrop-filter:none;padding:12px 20px 0;pointer-events:none}nav{width:fit-content;max-width:100%;margin:0 auto;padding:7px 10px;border:1px solid #cfdbd9;border-radius:40px;background:rgba(252,252,250,.97);backdrop-filter:blur(16px);box-shadow:0 5px 20px #173f4810;pointer-events:auto}nav div{display:flex;justify-content:center;gap:3px;flex-wrap:wrap}nav div a{padding:8px 16px;border-radius:25px;color:#425e64;font-size:14px;transition:background .2s,color .2s}nav div a:hover{background:#edf2f0;text-decoration:none}nav div a[aria-current="location"]{color:white;background:#245c65}nav div a[aria-current="location"]:after{display:none}.layout{margin-top:34px}@media(max-width:780px){header{padding:8px 10px 0}nav{padding:5px;border-radius:24px}nav div{gap:2px;flex-wrap:wrap}nav div a{padding:7px 11px;font-size:13px}.layout{margin-top:20px}}@media(max-width:400px){nav div a{padding:6px 9px}}@media(prefers-reduced-motion:reduce){nav div a{transition:none}}

/* Simple full-width navigation. */
header{padding:0;background:rgba(252,252,250,.98);border-top:3px solid #245c65;border-bottom:1px solid #dfe6e5;backdrop-filter:blur(12px);pointer-events:auto}nav{width:100%;max-width:1240px;padding:13px 28px;border:0;border-radius:0;background:transparent;backdrop-filter:none;box-shadow:none;justify-content:center}nav div{gap:26px}nav div a{padding:7px 0;border-radius:0;font-size:15px}nav div a:hover{background:transparent;color:#245c65}nav div a[aria-current="location"]{background:transparent;color:#245c65;font-weight:600}nav div a[aria-current="location"]:after{display:block;content:"";height:2px;background:#245c65;position:absolute;bottom:0;left:0;right:0}.teaching-item{display:grid;grid-template-columns:110px minmax(0,1fr);gap:18px;padding:14px 0;border-top:1px solid #e3e9ea}.teaching-date{font-size:13px;color:#687579;line-height:1.6}.teaching-item h3{color:#245c65;font-size:16px;margin:0 0 4px}.teaching-item p{font-size:14px;line-height:1.6;margin:4px 0}.teaching-role{color:#687579}@media(max-width:780px){header{padding:0}nav{padding:9px 18px}nav div{gap:4px 20px}nav div a{padding:6px 0;font-size:14px}.teaching-item{grid-template-columns:1fr;gap:3px}}

/* Quieter quotation and a network visible throughout the page. */
#about .profile-quote{margin:20px 0 5px;padding:10px 0 10px 17px;border-left:2px solid #a8bdbb;background:transparent;box-shadow:none;border-radius:0;max-width:670px;color:#526c70}#about .profile-quote p{font-size:16px;line-height:1.55;color:#526c70;margin:0 0 6px}#about .profile-quote cite{color:#748285;font-size:12px}main{background:transparent}main>section{background:rgba(252,252,250,.48)}#media{background:transparent}.publication,.presentation,.teaching-item{background:rgba(252,252,250,.35)}@media(max-width:780px){main{background:transparent}#network-background{opacity:.85}#about .profile-quote{padding:9px 0 9px 14px}#about .profile-quote p{font-size:16px}}

nav{justify-content:flex-end}nav div{justify-content:flex-end}@media(max-width:780px){nav{align-items:flex-end}nav div{justify-content:flex-end}}

#theme-toggle,#load-x{font-family:inherit;font-size:14px;line-height:1.4;color:#245c65;background:#f4f7f6;border:1px solid #c7d7d5;border-radius:5px;padding:8px 12px;cursor:pointer}#theme-toggle{white-space:nowrap;font-family:inherit;font-size:14px}#social{margin:30px 0 0;padding-top:15px}#social h2{font-size:23px}.embed-note,#x-status{font-size:13px;color:#667a7c;margin-top:10px}#x-posts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.twitter-tweet{font-size:14px;margin:0;padding:16px;border:1px solid #dce6e5;border-radius:5px;overflow-wrap:anywhere}.twitter-tweet p{margin-bottom:8px}:root[data-theme=dark]{color-scheme:dark;--ink:#c4e5e3;--accent:#d8b47d}:root[data-theme=dark] body{background:#111619;color:#d9e1e2}:root[data-theme=dark] header{background:#111619f5;border-color:#354b50}:root[data-theme=dark] main,:root[data-theme=dark] main>section,:root[data-theme=dark] .publication,:root[data-theme=dark] .presentation,:root[data-theme=dark] .teaching-item{background:transparent}:root[data-theme=dark] h1,:root[data-theme=dark] h2,:root[data-theme=dark] h3,:root[data-theme=dark] a,:root[data-theme=dark] .presentation h3,:root[data-theme=dark] .teaching-item h3{color:#a8d8d6}:root[data-theme=dark] nav a{color:#d2dfe0}:root[data-theme=dark] nav a[aria-current]{color:#e4c391}:root[data-theme=dark] .venue,:root[data-theme=dark] .year,:root[data-theme=dark] .degree,:root[data-theme=dark] .teaching-date,:root[data-theme=dark] .teaching-role,:root[data-theme=dark] #result-count,:root[data-theme=dark] #presentation-count,:root[data-theme=dark] .presentation-controls label,:root[data-theme=dark] .embed-note,:root[data-theme=dark] #x-status{color:#aabbbf}:root[data-theme=dark] #about .profile-quote p{color:#bdcdd0}:root[data-theme=dark] #about .profile-quote cite{color:#acb9bc}:root[data-theme=dark] .gallery-frame,:root[data-theme=dark] #media .gallery-item,:root[data-theme=dark] .image-open,:root[data-theme=dark] dialog{background:#1c272b;border-color:#394b50}:root[data-theme=dark] .gallery-caption{color:#c3dcde}:root[data-theme=dark] .filters button,:root[data-theme=dark] select,:root[data-theme=dark] #theme-toggle,:root[data-theme=dark] #load-x,:root[data-theme=dark] #network-toggle{color:#c3dcde;background:#1c272b;border-color:#476166}:root[data-theme=dark] .filters button[aria-pressed=true]{background:#a8d8d6;color:#142427}:root[data-theme=dark] .publication:hover{background:#21323755}:root[data-theme=dark] .close-viewer{color:#c3dcde}:root[data-theme=dark] #network-background{filter:brightness(2)}:root[data-theme=dark] .publication,:root[data-theme=dark] .presentation,:root[data-theme=dark] .teaching-item,:root[data-theme=dark] h2,:root[data-theme=dark] .news-list li,:root[data-theme=dark] footer{border-color:#35494d}@media(max-width:780px){nav{flex-direction:row;align-items:center;gap:14px}#x-posts{grid-template-columns:1fr}}

:root[data-theme="dark"] header nav div a{color:#d2dfe0}:root[data-theme="dark"] header nav div a:hover,:root[data-theme="dark"] header nav div a[aria-current="location"]{color:#e4c391}:root[data-theme="dark"] header nav div a[aria-current="location"]:after{background:#e4c391}

/* Sidebar visitor map: live locations await a connected visitor service. */
.visitor-map{margin:24px 0 0;padding-top:17px;border-top:1px solid #cddbd9}.visitor-map h2{font-family:inherit;font-size:15px;font-weight:600;letter-spacing:0;border:0;padding:0;margin:0 0 12px}.visitor-map h2:after{display:none}.visitor-map iframe{display:block;width:100%;height:195px;border:1px solid #cddbd9;border-radius:5px;background:#e3edef}.visitor-map .map-status{font-size:12px;line-height:1.5;color:#627579;margin:9px 0 4px}.map-expand{font-size:12px}:root[data-theme=dark] .visitor-map{border-color:#35494d}:root[data-theme=dark] .visitor-map .map-status{color:#aabbbf}:root[data-theme=dark] .visitor-map iframe{border-color:#476166}@media(max-width:780px){.visitor-map{grid-column:1/-1;width:100%;max-width:360px}.visitor-map iframe{height:220px}}

@media(min-width:781px) and (max-height:1050px){aside:has(.visitor-map){position:static}}

/* Separate the quotation without turning it into a headline. */
#about .profile-quote{margin:26px 0 12px;padding:18px 22px;border-left:3px solid #a56c36;background:#edf3f0;border-radius:0 5px 5px 0;max-width:none}#about .profile-quote p{font-size:17px;line-height:1.65;color:#355b61}#about .profile-quote cite{display:block;color:#7d633f;margin-top:8px}:root[data-theme=dark] #about .profile-quote{background:#1b2b2e;border-color:#d8b47d}:root[data-theme=dark] #about .profile-quote p{color:#c7dddc}:root[data-theme=dark] #about .profile-quote cite{color:#d8b47d}nav div a[aria-current=page]{font-weight:600;border-bottom:2px solid #a56c36}:root[data-theme=dark] header nav div a[aria-current=page]{color:#e4c391}.news-page .news-list li{padding:17px 0}.news-page main{min-height:70vh}main>#social{margin-top:36px;padding-top:22px;border-top:1px solid #cddbd9}

/* Consistent profile icons with the restored original palette. */
.profile-links a{display:inline-flex;align-items:center;gap:8px}.profile-icon{flex-shrink:0;width:16px;height:16px;color:inherit}.profile-links{gap:10px 12px}

#pointer-stars{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}

.dream-return{display:none!important}html[data-theme="dark"] .dream-return{display:inline-block!important}

:root[data-theme="dark"] .news-list time{color:var(--accent,#d8b47d)}
/* Site-wide search */
#search-toggle{font:inherit;font-size:14px;white-space:nowrap;border:1px solid #c7d7d5;border-radius:5px;padding:8px 12px;background:#f4f7f6;color:#245c65;cursor:pointer}
#site-search{width:min(640px,92vw);max-height:80vh;padding:24px;border:1px solid #c7d7d5;border-radius:10px;color:#30383c;background:#fcfcfa}
#site-search::backdrop{background:#10192399;backdrop-filter:blur(3px)}
.search-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.search-heading h2{margin:0 0 14px}#search-close{border:0;background:transparent;color:inherit;font-size:28px;cursor:pointer}
#site-search label{display:block;font-size:14px;margin-bottom:8px}#search-input{width:100%;padding:12px;border:1px solid #8da8a8;border-radius:5px;font:inherit;background:transparent;color:inherit}#search-status{font-size:14px;margin:12px 0}#search-results{list-style:none;padding:0;margin:0}#search-results li{padding:12px 0;border-top:1px solid #82959455}#search-results small{display:block;opacity:.75}#search-results a{display:block}
:root[data-theme=dark] #search-toggle,:root[data-theme=dark] #site-search{background:#1c272b;color:#c3dcde;border-color:#476166}
@media(max-width:780px){nav{flex-wrap:wrap}nav div{flex:1 1 100%}#search-toggle{margin-left:0}}

#search-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:38px;height:38px;padding:8px}#search-toggle svg{display:block}

#search-toggle,:root[data-theme=dark] #search-toggle{border:0;background:transparent;box-shadow:none}
#search-toggle:focus-visible{outline:2px solid var(--accent,#245c65);outline-offset:2px}
:root[data-theme=dark] #media .gallery-item:hover .gallery-caption,:root[data-theme=dark] #media .gallery-item:focus-visible .gallery-caption{color:var(--accent)}
:root[data-theme=dark] .view-label{color:var(--accent);background:#1c272bf0}
#publications .pub-group-title{font:500 13px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#94602e;margin:30px 0 4px}#publications .pub-group:first-of-type .pub-group-title{margin-top:8px}#publications .pub-group[hidden]{display:none}:root[data-theme=dark] #publications .pub-group-title{color:#d8b47d}
nav div{align-items:center}.dream-return{font-size:18px}
#theme-toggle .tt-sun{display:none}@media(max-width:780px){#theme-toggle .tt-glyph{display:none}#theme-toggle .tt-sun{display:inline-block;width:.92em;height:.92em;vertical-align:-.1em}}

.lang-switch{display:inline-flex;border:1px solid #c7d7d5;border-radius:999px;padding:2px;background:#f4f7f6}.lang-switch button{font:inherit;font-size:13px;line-height:1.3;border:0;background:transparent;color:#245c65;padding:5px 11px;border-radius:999px;cursor:pointer}.lang-switch button[aria-pressed=true]{background:#245c65;color:#fff}nav{gap:16px}:root[data-theme=dark] .lang-switch{background:#1c272b;border-color:#476166}:root[data-theme=dark] .lang-switch button{color:#c3dcde}:root[data-theme=dark] .lang-switch button[aria-pressed=true]{background:#a8d8d6;color:#142427}html[lang=zh-CN] #about p{line-height:1.85}nav .lang-switch{flex:0 0 auto}@media(max-width:780px){nav{justify-content:flex-end;gap:10px}.lang-switch button{padding:5px 9px}}
nav .lang-switch{gap:0!important;justify-content:center}

#theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;font-size:17px;line-height:1}
#theme-toggle,:root[data-theme=dark] #theme-toggle{background:transparent;border-color:transparent;box-shadow:none}#theme-toggle:hover{color:var(--accent,#a56c36)}
.lang-switch,:root[data-theme=dark] .lang-switch{border:0;background:transparent;padding:0;border-radius:0;align-items:center}.lang-switch button,:root[data-theme=dark] .lang-switch button{background:transparent!important;border-radius:0;padding:3px 9px;line-height:1.2;font-size:14px;color:#7a8a8d;font-weight:400}.lang-switch button+button{border-left:1px solid #b9cbc9}.lang-switch button[aria-pressed=true]{color:#245c65;font-weight:600}.lang-switch button[aria-pressed=false]:hover{color:#a56c36}:root[data-theme=dark] .lang-switch button{color:#8fa3a6}:root[data-theme=dark] .lang-switch button+button{border-left-color:#476166}:root[data-theme=dark] .lang-switch button[aria-pressed=true]{color:#a8d8d6}:root[data-theme=dark] .lang-switch button[aria-pressed=false]:hover{color:#e4c391}

.lang-switch,:root[data-theme=dark] .lang-switch{border:1.5px solid #245c65;border-radius:999px;padding:0;overflow:hidden;align-items:stretch;background:transparent}.lang-switch button,:root[data-theme=dark] .lang-switch button{border:0!important;border-radius:0;padding:5px 13px;font-size:14px;line-height:1.3;font-weight:500;color:#245c65;background:transparent!important}.lang-switch button[aria-pressed=true]{background:#245c65!important;color:#fff}.lang-switch button[aria-pressed=false]:hover{background:#e6efee!important}:root[data-theme=dark] .lang-switch{border-color:#a8d8d6}:root[data-theme=dark] .lang-switch button{color:#a8d8d6}:root[data-theme=dark] .lang-switch button[aria-pressed=true]{background:#a8d8d6!important;color:#142427}:root[data-theme=dark] .lang-switch button[aria-pressed=false]:hover{background:#1c2f33!important}


#menu-toggle{display:none}@media(max-width:780px){header nav{position:relative;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;padding:10px 16px!important}#menu-toggle{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px 0 8px;margin-right:auto;order:-1;border:1.5px solid #245c65;border-radius:999px;background:transparent;color:#245c65;font:inherit;font-size:15px;font-weight:500;cursor:pointer}#menu-toggle[aria-expanded=true]{background:#245c65;color:#fff}#menu-toggle svg{width:20px;height:20px}header nav > div:not(.lang-switch){display:none!important;position:absolute;top:100%;left:0;right:0;flex-direction:column!important;align-items:flex-start!important;gap:2px!important;padding:8px 22px 14px;background:#fcfcfa;border-bottom:1px solid #dfe7e8;box-shadow:0 8px 18px #173f4812;z-index:30}header nav.nav-open > div:not(.lang-switch){display:flex!important}header nav > div:not(.lang-switch) a{padding:9px 0!important;font-size:16px}header nav > div:not(.lang-switch) a[aria-current]:after{width:24px;right:auto}.lang-switch button{padding:5px 10px}:root[data-theme=dark] #menu-toggle{color:#a8d8d6;border-color:#a8d8d6}:root[data-theme=dark] #menu-toggle[aria-expanded=true]{background:#a8d8d6;color:#142427}:root[data-theme=dark] header nav > div:not(.lang-switch){background:#111619;border-color:#35494d}}
html .dream-mobile,html[data-theme="dark"] .dream-mobile{display:none!important}@media(max-width:780px){html[data-theme="dark"] header nav > div:not(.lang-switch) .dream-return{display:none!important}html[data-theme="dark"] header nav .dream-mobile{display:inline-flex!important;align-items:center;justify-content:center;width:34px;height:38px;color:#d2dfe0;padding:0}}
.dream-return .star-icon{width:17px;height:17px;display:block}html[data-theme="dark"] nav div .dream-return{display:inline-flex!important;align-items:center}
aside h1{margin-left:-.03em}html[lang=zh-CN] aside h1{margin-left:-.08em}

.video-open{position:relative}.play-badge{position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:rgba(23,63,72,.82);color:#fff;display:grid;place-items:center;box-shadow:0 4px 14px #0003;transition:transform .15s,background .15s}.play-badge svg{width:26px;height:26px;margin-left:3px}.video-open:hover .play-badge,.video-open:focus-visible .play-badge{transform:scale(1.08);background:#245c65}#image-viewer .video-frame{position:relative;width:min(900px,86vw);aspect-ratio:16/9;max-height:68vh;margin:auto;background:#000;border-radius:4px;overflow:hidden}#image-viewer .video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:780px){.section-heading{flex-direction:column;align-items:stretch}.section-heading>a{margin:0 0 16px;align-self:flex-end}}
html[lang=zh-CN] #about .profile-quote p{font-family:"Noto Serif SC","Songti SC","STSong",serif;font-style:normal;font-weight:400;letter-spacing:.02em}html[lang=zh-CN] #about .profile-quote cite{font-style:normal}

.lab-layout{display:block!important;max-width:1000px!important}
.lab-main{padding:8px 0 0!important}
.lab-main .lab-hero{display:flex;align-items:center;gap:34px;padding:10px 0 34px;border-bottom:1px solid #dfe7e8;margin-bottom:8px}
.lab-main .hc-mark{flex:none;width:150px;height:150px;color:#245c65}
.lab-main .hc-letters{font:500 56px/1 Georgia,"Times New Roman",serif;fill:#245c65;letter-spacing:1px}
.lab-main .hc-nodes circle:nth-child(odd){fill:#a56c36}
.lab-main .lab-title{font:400 44px/1.15 Georgia,"Times New Roman",serif;color:#173f48;margin:0 0 8px;letter-spacing:-.5px}
.lab-main .hc-i{color:#a56c36;font-size:1.18em}
.lab-main .lab-zh-name{display:block;font-size:22px;letter-spacing:.06em;color:#527176;margin-top:6px}
.lab-main .lab-tagline{font:20px/1.45 Georgia,"Times New Roman",serif;color:#245c65;margin:0 0 14px}
.lab-main .lab-hc-note{font-size:15px;line-height:1.6;color:#4d6164;margin:0;max-width:560px;padding-left:12px;border-left:2px solid #a56c36}
.lab-main .lab-sub{font:600 13px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#94602e;margin:36px 0 12px;padding:0;border:0}
.lab-main .lab-sub:after{display:none}
.lab-main .lab-lede{font-size:17px;line-height:1.75;max-width:760px}
.lab-main .lab-themes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.lab-main .lab-theme{border:1px solid #dfe7e8;border-top:3px solid #245c65;border-radius:8px;padding:16px 16px 14px;background:rgba(252,252,250,.92)}
.lab-main .lab-theme h3{font:18px/1.35 Georgia,"Times New Roman",serif;color:#245c65;margin:0 0 6px}
.lab-main .lab-keys{font-size:13px;color:#687579;margin:0 0 10px}
.lab-main .lab-q{font-size:14px;line-height:1.55;font-style:italic;margin:0;color:#30383c}
.lab-main .lab-person{display:flex;align-items:center;gap:16px}
.lab-main .lab-person img{width:84px;height:84px;border-radius:50%;object-fit:cover;object-position:43% 30%}
.lab-main .lab-name{font:20px/1.3 Georgia,"Times New Roman",serif;color:#173f48;margin:0}.lab-main .lab-role{margin:2px 0;color:#687579;font-size:14px}.lab-main .lab-link{margin:0;font-size:14px}
html[lang=zh-CN] .lab-main .lab-q,html[lang=zh-CN] .lab-main .lab-hc-note em{font-style:normal}
@media(max-width:780px){.lab-main .lab-hero{flex-direction:column;align-items:flex-start;gap:18px}.lab-main .hc-mark{width:110px;height:110px}.lab-main .lab-title{font-size:34px}.lab-main .lab-themes{grid-template-columns:1fr}}
:root[data-theme=dark] .lab-main .hc-mark,:root[data-theme=dark] .lab-main .hc-letters{color:#a8d8d6;fill:#a8d8d6}
:root[data-theme=dark] .lab-main .hc-nodes circle:nth-child(odd),:root[data-theme=dark] .lab-main .hc-i{color:#d8b47d;fill:#d8b47d}
:root[data-theme=dark] .lab-main .lab-title,:root[data-theme=dark] .lab-main .lab-name{color:#c4e5e3}
:root[data-theme=dark] .lab-main .lab-tagline,:root[data-theme=dark] .lab-main .lab-theme h3{color:#a8d8d6}
:root[data-theme=dark] .lab-main .lab-zh-name,:root[data-theme=dark] .lab-main .lab-hc-note{color:#b7c9cb}
:root[data-theme=dark] .lab-main .lab-hc-note{border-color:#d8b47d}
:root[data-theme=dark] .lab-main .lab-hero{border-color:#35494d}
:root[data-theme=dark] .lab-main .lab-theme{background:rgba(28,39,43,.88);border-color:#35494d;border-top-color:#a8d8d6}
:root[data-theme=dark] .lab-main .lab-q{color:#d9e1e2}:root[data-theme=dark] .lab-main .lab-keys,:root[data-theme=dark] .lab-main .lab-role{color:#aabbbf}
:root[data-theme=dark] .lab-main .lab-sub{color:#d8b47d}

.lab-main .lab-sec{margin-bottom:0;scroll-margin-top:90px}
.lab-header nav .lab-brand{display:inline-flex;align-items:center;gap:10px;color:#173f48;font:400 19px/1 Georgia,"Times New Roman",serif;margin-right:auto;text-decoration:none;white-space:nowrap}
.lab-header nav .lab-brand:hover{text-decoration:none;color:#245c65}
.lab-brand-mark{width:34px;height:34px;color:#245c65;flex:none}
.lab-header nav{justify-content:flex-start}
.lab-header #site-links{margin-left:auto}
.lab-header .lab-home-link{padding-left:14px!important;border-left:1px solid #c7d7d5}
:root[data-theme=dark] .lab-header nav .lab-brand{color:#c4e5e3}:root[data-theme=dark] .lab-brand-mark{color:#a8d8d6}
:root[data-theme=dark] .lab-header .lab-home-link{border-color:#476166}
@media(max-width:780px){.lab-header nav .lab-brand{order:0;margin-right:auto}.lab-header nav .lab-brand span{display:none}.lab-header #menu-toggle{margin-right:0}.lab-header .lab-home-link{padding-left:0!important;border-left:0}}

.lab-brand-mark circle[fill="none"]{stroke-width:4;opacity:.45}
.lab-brand-mark .hc-net{stroke-width:3}
.lab-brand-mark .hc-nodes circle{r:7px}
.lab-brand-mark .hc-letters{font:500 58px/1 Georgia,"Times New Roman",serif;fill:#245c65}
.lab-brand-mark .hc-nodes circle:nth-child(odd){fill:#a56c36}
:root[data-theme=dark] .lab-brand-mark .hc-letters{fill:#a8d8d6}
:root[data-theme=dark] .lab-brand-mark .hc-nodes circle:nth-child(odd){fill:#d8b47d}

.lab-main .lab-sub2{font:18px/1.35 Georgia,"Times New Roman",serif;color:#245c65;margin:18px 0 8px}
.lab-main .lab-positions{margin-bottom:6px}
.lab-main .lab-none{color:#4d6164;font-style:italic;margin:0;padding:12px 14px;border:1px dashed #c7d7d5;border-radius:6px}
.lab-main .lab-pos{border:1px solid #dfe7e8;border-left:3px solid #a56c36;border-radius:6px;padding:12px 16px;margin-bottom:10px}
.lab-main .lab-pos h4{font:17px/1.35 Georgia,"Times New Roman",serif;margin:0 0 4px;color:#173f48}
.lab-main .lab-pos p{margin:4px 0 0}
html[lang=zh-CN] .lab-main .lab-none{font-style:normal}
:root[data-theme=dark] .lab-main .lab-sub2{color:#a8d8d6}
:root[data-theme=dark] .lab-main .lab-none{color:#b7c9cb;border-color:#35494d}
:root[data-theme=dark] .lab-main .lab-pos{border-color:#35494d;border-left-color:#d8b47d}
:root[data-theme=dark] .lab-main .lab-pos h4{color:#c4e5e3}
@media(min-width:781px){.lab-header nav{flex-wrap:nowrap}.lab-header #site-links{flex-wrap:nowrap;white-space:nowrap}}
@media(min-width:781px) and (max-width:1120px){.lab-header nav .lab-brand span{display:none}.lab-header nav{gap:14px;padding-left:20px;padding-right:20px}.lab-header #site-links{gap:18px}}
@media(min-width:781px) and (max-width:900px){.lab-header #site-links{gap:12px}.lab-header #site-links a{font-size:14px}}

.lab-main .lab-contact{display:flex;flex-wrap:wrap;gap:10px 24px;margin:14px 0 0;font-size:15px}
.lab-main .lab-contact a{display:inline-flex;align-items:center;gap:8px}
.lab-main .lab-bio{margin:4px 0 6px;font-size:15px;line-height:1.55;color:#30383c}
:root[data-theme=dark] .lab-main .lab-bio{color:#d9e1e2}
.lab-main .lab-name a{color:inherit;text-decoration:none}.lab-main .lab-name a:hover{color:#245c65;text-decoration:underline}
@media(max-width:780px){.lang-switch button,:root[data-theme=dark] .lang-switch button{padding:5px 10px}}
:root[data-theme=dark] .lang-switch button[aria-pressed=true]{font-weight:600}
.lab-main .lab-methods{margin-top:22px;text-align:center}
.lab-main .lab-methods-label{font:600 12px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#687579;margin:0 0 10px}
.lab-main .lab-methods ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 12px}
.lab-main .lab-methods li{padding:7px 16px;border:1px solid #cfdcdb;border-radius:999px;background:#f3f7f5;color:#245c65;font-size:14.5px;font-weight:500;line-height:1.3}
:root[data-theme=dark] .lab-main .lab-methods li{background:#1b2b2e;border-color:#35494d;color:#a8d8d6}
:root[data-theme=dark] .lab-main .lab-methods-label{color:#aabbbf}
.lab-main #approach .lab-methods{margin-top:0;text-align:left}.lab-main #approach .lab-methods ul{justify-content:flex-start}
