﻿.op-body{--op-ink:#242424;--op-ink-soft:#454950;--op-muted:#626973;--op-line:#e3e7eb;--op-rule:#a9b2bc;--op-bg:#fff;--op-accent:#2867a8;--op-accent-soft:#edf3fa;--op-bg-contrast:#fff;--op-slate:#4c6175;--op-slate-soft:#eef2f6;--op-teal:#286d63;--op-teal-soft:#edf5f2;--op-ochre:#7b5e2f;--op-ochre-soft:#f7f2e8;--op-purple:#66547f;--op-purple-soft:#f2eef6;--op-blue:#3d6684;--op-blue-soft:#edf3f7;--global-bg-color:var(--op-bg);--global-text-color:var(--op-ink);--global-text-color-light:var(--op-muted);--global-theme-color:var(--op-accent);--global-hover-color:var(--op-accent);--global-divider-color:var(--op-line);--global-footer-bg-color:var(--op-bg);--global-footer-text-color:var(--op-muted);--global-footer-link-color:var(--op-accent)}html[data-theme=dark] .op-body{--op-ink:#e8eaed;--op-ink-soft:#c7ccd3;--op-muted:#a5adb8;--op-line:#343b44;--op-rule:#687481;--op-bg:#1c1c1d;--op-accent:#9cc9f5;--op-accent-soft:#24364a;--op-bg-contrast:#1c1c1d;--op-slate:#b4c2d1;--op-slate-soft:#29333e;--op-teal:#9bccbf;--op-teal-soft:#233b35;--op-ochre:#ddc394;--op-ochre-soft:#3c3324;--op-purple:#c8b6df;--op-purple-soft:#352d40;--op-blue:#abcae1;--op-blue-soft:#263746}.op-body footer{border-top:1px solid var(--op-line);background:var(--op-bg)}.op-wrap{max-width:1180px;margin:0 auto;padding:2.5rem 1.25rem 4rem;font-family:var(--op-sans);color:var(--op-ink-soft);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.op-wrap b,.op-wrap strong{font-weight:500}.op-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:3.5rem;align-items:start}.op-kicker{font-size:var(--op-font-meta);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--op-muted);margin-bottom:1.1rem}.op-headline{font-family:var(--op-sans);font-size:clamp(1.9rem,3.5vw,2.9rem);font-weight:500;line-height:1.22;letter-spacing:-0.028em;color:var(--op-ink);margin:0 0 1.75rem}.op-headline em{font-style:italic;font-weight:500;color:inherit}.op-intro{font-size:var(--op-font-body);line-height:1.75;color:var(--op-ink)}.op-intro p{margin-bottom:1rem}.op-intro a{color:var(--op-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;text-decoration-color:var(--op-rule);border-bottom:0}.op-intro a:hover{text-decoration-color:currentColor}.op-tabs{display:flex;flex-wrap:wrap;gap:1.15rem;padding-bottom:.7rem;margin-bottom:2.2rem;border-bottom:1px solid var(--op-line)}.op-tab{font-size:var(--op-font-meta);font-weight:500;letter-spacing:-0.005em;color:var(--op-muted);text-decoration:none;text-transform:capitalize;transition:color .15s ease}.op-tab:hover{color:var(--op-accent);text-decoration:none}.op-tab.is-active{color:var(--op-ink)}.op-section{margin-top:3rem}.op-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;font-family:var(--op-sans);font-size:1.3rem;font-weight:500;letter-spacing:-0.018em;color:var(--op-ink);padding-bottom:.5rem;margin-bottom:1.4rem;border-bottom:1px solid var(--op-line)}.op-section-link{font-family:inherit;font-size:var(--op-font-meta);font-weight:400;color:var(--op-muted);text-decoration:none;white-space:nowrap}.op-section-link:hover{color:var(--op-accent)}.op-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.75rem}.op-pillar{padding-top:.85rem;border-top:1px solid var(--op-rule)}.op-pillar-num{display:block;font-family:var(--op-sans);font-size:var(--op-font-meta);font-weight:600;letter-spacing:.1em;color:var(--op-muted);margin-bottom:.45rem}.op-pillar-title{font-family:var(--op-sans);font-size:var(--op-font-body);font-weight:500;line-height:1.35;letter-spacing:-0.015em;color:var(--op-ink);margin:0 0 .45rem}.op-pillar-body{font-size:var(--op-font-body);line-height:1.55;color:var(--op-ink-soft);margin:0}.op-pillar-links{margin:.55rem 0 0;display:flex;flex-wrap:wrap;gap:.3rem}.op-pillar-links a,.op-pillar-links button{font-family:inherit;font-size:var(--op-font-meta);font-weight:500;line-height:1.5;padding:.1rem .4rem;border-radius:3px;background:var(--op-accent-soft);color:var(--op-accent);text-decoration:none}.op-pillar-links button{border:0;cursor:pointer}.op-pillar-links a:hover,.op-pillar-links button:hover{filter:brightness(0.95)}.op-coming-soon{background:var(--op-bg);color:var(--op-ink);border:1px solid var(--op-rule);border-radius:6px;padding:1.25rem;max-width:calc(100vw - 2rem);font:inherit}
.op-coming-soon::backdrop{background:rgba(0,0,0,.2)}.op-coming-soon p{margin:0 0 1rem;font-weight:500}.op-coming-soon button{font:inherit;font-size:var(--op-font-meta);color:var(--op-accent);background:var(--op-accent-soft);border:1px solid var(--op-line);border-radius:3px;padding:.2rem .65rem;cursor:pointer}.op-more{display:block;width:100%;margin-top:.4rem;padding:.4rem;background:rgba(0,0,0,0);border:1px dashed var(--op-rule);border-radius:6px;font-size:var(--op-font-meta);color:var(--op-muted);cursor:pointer;transition:border-color .15s ease,color .15s ease}.op-more:hover{border-color:var(--op-accent);color:var(--op-accent)}.op-pub-filter{font-family:inherit;font-size:.75rem;font-weight:500;letter-spacing:.01em;line-height:1.5;padding:3px 9px;border:1px solid var(--op-line);border-radius:3px;background:rgba(0,0,0,0);color:var(--op-muted);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.op-pub-filter:hover{border-color:var(--op-rule);color:var(--op-ink)}.op-pub-filter.is-active{background:var(--op-accent-soft);border-color:var(--op-accent);color:var(--op-accent);outline:1px solid var(--op-accent);outline-offset:-2px}.op-side-inner{position:sticky;top:5rem}.op-card{text-align:center;padding-bottom:1.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--op-line)}.op-avatar{width:150px;height:150px;object-fit:cover;object-position:50% 20%;border-radius:50%;border:0;box-shadow:0 0 0 4px var(--op-bg-contrast),0 0 0 5px rgba(11,11,12,.14),0 10px 26px rgba(11,11,12,.13);margin-bottom:1.1rem}.op-name{font-family:var(--op-sans);font-size:1.35rem;font-weight:500;letter-spacing:-0.022em;color:var(--op-ink);margin:0 0 .45rem}.op-affil{font-size:var(--op-font-meta);line-height:1.5;color:var(--op-muted)}.op-affil p{margin:0 0 .15rem}.op-affil a{color:var(--op-accent);text-decoration:underline;text-decoration-color:var(--op-rule);text-underline-offset:2px}.op-affil a:hover{color:var(--op-accent);text-decoration-color:currentColor}.op-socials{margin-top:1.1rem}.op-socials .contact-icons{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.op-socials a{display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin:0;border-radius:50%;border:1px solid var(--op-line);color:var(--op-muted);text-decoration:none;transition:color .2s ease,border-color .2s ease,transform .2s ease}.op-socials a:hover{color:var(--op-accent);border-color:var(--op-accent);transform:translateY(-1px)}.op-socials i{font-size:.95rem;line-height:1}.op-cv{display:inline-flex;align-items:center;gap:6px;margin-top:1.1rem;padding:5px 12px;border:1px solid var(--op-line);border-radius:4px;font-size:var(--op-font-meta);font-weight:500;letter-spacing:.01em;color:var(--op-ink);text-decoration:none;transition:border-color .15s ease,color .15s ease}.op-cv i{font-size:.78rem}.op-cv:hover{border-color:var(--op-accent);color:var(--op-accent);text-decoration:none}.op-side-title{font-size:var(--op-font-meta);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--op-muted);margin-bottom:.9rem}.op-news-list{list-style:none;padding:0;margin:0}.op-news-item{padding:.55rem 0;border-bottom:1px solid var(--op-line)}.op-news-item:first-child{padding-top:0}.op-news-filters{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:.85rem}
.op-news-filter{font-family:inherit;font-size:var(--op-font-meta);font-weight:600;letter-spacing:.02em;line-height:1.5;padding:2px 7px;border:1px solid var(--op-line);border-radius:3px;background:var(--op-news-tint,transparent);color:var(--op-news-color,var(--op-muted));cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.op-news-filter:hover{border-color:var(--op-news-color,var(--op-rule));color:var(--op-news-color,var(--op-ink))}.op-news-filter.is-active{background:var(--op-news-tint,var(--op-line));border-color:var(--op-news-color,var(--op-muted));color:var(--op-news-color,var(--op-ink));outline:1px solid var(--op-news-color,var(--op-muted));outline-offset:-2px}.op-news-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px;margin-bottom:.3rem}.op-news-type{display:inline-block;font-size:var(--op-font-meta);font-weight:600;letter-spacing:.03em;padding:1px 5px;border-radius:3px;white-space:nowrap;color:var(--op-news-color,var(--op-muted));background:var(--op-news-tint,var(--op-accent-soft))}.op-news-date{display:inline-block;font-size:var(--op-font-meta);font-weight:500;letter-spacing:.02em;color:var(--op-muted);white-space:nowrap}.op-news-filter[data-type=AWARD],.op-news-item[data-type=AWARD]{--op-news-color:var(--op-ochre);--op-news-tint:var(--op-ochre-soft)}.op-news-filter[data-type=MILESTONE],.op-news-item[data-type=MILESTONE]{--op-news-color:var(--op-teal);--op-news-tint:var(--op-teal-soft)}.op-news-filter[data-type=PAPER],.op-news-item[data-type=PAPER]{--op-news-color:var(--op-purple);--op-news-tint:var(--op-purple-soft)}.op-news-filter[data-type=TALK],.op-news-item[data-type=TALK]{--op-news-color:var(--op-blue);--op-news-tint:var(--op-blue-soft)}.op-news-filter[data-type=ANNOUNCEMENT],.op-news-item[data-type=ANNOUNCEMENT]{--op-news-color:var(--op-slate);--op-news-tint:var(--op-slate-soft)}.op-news-text{font-size:var(--op-font-body);line-height:1.5;color:var(--op-ink-soft)}.op-news-text a{color:var(--op-accent);text-decoration:underline;text-decoration-color:var(--op-rule);text-underline-offset:2px}.op-news-text a:hover{color:var(--op-accent);text-decoration-color:currentColor}.op-news-text strong{color:var(--op-ink);font-weight:500}.op-news-text em{font-style:italic}.op-news-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:.4rem}.op-link-tag{display:inline-block;padding:0 5px;border-radius:3px;font-size:var(--op-font-meta);font-weight:500;letter-spacing:0;text-transform:capitalize;white-space:nowrap;text-decoration:none;color:var(--op-accent);background:var(--op-accent-soft);border:0;transition:filter .15s ease}a.op-link-tag[target=_blank]::after{content:"↗";font-size:var(--op-font-meta);margin-left:2px;display:inline-block}a.op-link-tag:hover{text-decoration:none;filter:brightness(0.92)}.op-page{max-width:860px}.op-page-title{font-family:var(--op-sans);font-size:clamp(1.7rem,3.2vw,2.3rem);font-weight:500;line-height:1.15;letter-spacing:-0.028em;color:var(--op-ink);margin:0 0 2rem}.op-section--first{margin-top:0}.op-page-body{margin-top:2.5rem}.op-page-body h2{font-family:var(--op-sans);font-size:1.3rem;font-weight:500;letter-spacing:-0.018em;color:var(--op-ink);padding-bottom:.5rem;margin:2.5rem 0 1.2rem;border-bottom:1px solid var(--op-line)}.op-page-body ul{padding-left:1.1rem}.op-page-body li{margin-bottom:.3rem}.op-year-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:1.5rem;padding-bottom:1.4rem;margin-bottom:1.4rem;border-bottom:1px solid var(--op-line)}.op-year-row:last-child{border-bottom:0;margin-bottom:0}.op-year{font-size:var(--op-font-meta);font-weight:500;line-height:1.5;color:var(--op-muted);text-align:right;padding-top:.15rem}.op-year-role{font-weight:600;color:var(--op-ink);letter-spacing:.01em}.op-year-period{margin-top:.15rem;font-size:var(--op-font-meta);color:var(--op-muted)}.op-entry+.op-entry{margin-top:.9rem}.op-entry-title{font-family:var(--op-sans);font-size:var(--op-font-body);font-weight:500;line-height:1.4;letter-spacing:-0.015em;color:var(--op-ink);margin:0 0 .2rem}.op-entry-title a{color:var(--op-accent);text-decoration:underline;text-decoration-color:var(--op-rule);text-underline-offset:2px}.op-entry-title a:hover{color:var(--op-accent);text-decoration-color:currentColor}
.op-award-details summary{cursor:pointer}.op-award-details summary::marker{color:var(--op-accent)}.op-award-details summary:focus-visible{outline:2px solid var(--op-accent);outline-offset:3px}.op-award-details[open] .op-entry-title{margin-bottom:.5rem}.op-timeline .op-year-row{display:block;padding-bottom:0;margin-bottom:20px;border-bottom:0}.op-timeline .op-year{margin:20px 0 12px;padding:0;text-align:left;font-size:15px;line-height:1.4;font-weight:600;color:var(--op-ink)}.op-timeline .op-entry{position:relative;margin:0 0 0 4px;padding:0 0 14px 18px;border-left:1px solid var(--op-line)}.op-timeline .op-entry::before{content:"";position:absolute;left:-4.5px;top:6px;width:8px;height:8px;border-radius:50%;background:var(--op-accent)}.op-timeline .op-entry:last-child{padding-bottom:0;border-left-color:rgba(0,0,0,0)}.op-timeline .op-entry-note{font-size:var(--op-font-body)}.op-timeline .op-timeline-intro{margin:0 0 20px;color:var(--op-muted)}.op-timeline .op-mentee-line{margin:0;line-height:1.5}.op-timeline .op-mentee-name{font-weight:500}.op-timeline .op-mentee-affiliation{color:var(--op-ink-soft)}.op-timeline .op-mentee-papers{list-style:none;margin:3px 0 0;padding:0;font-size:var(--op-font-meta);line-height:1.5}.op-timeline .op-mentee-papers li+li{margin-top:2px}.op-timeline a{color:var(--op-accent);text-underline-offset:3px}.op-entry-meta{font-size:var(--op-font-meta);color:var(--op-muted);margin:0}.op-entry-note{font-size:var(--op-font-body);line-height:1.55;color:var(--op-ink-soft);margin:.3rem 0 0}.op-plain-list{margin:0;padding-left:1.05rem}.op-plain-list li{font-size:var(--op-font-body);line-height:1.6;color:var(--op-ink-soft);margin-bottom:.15rem}.op-news-list--full .op-news-item{padding:.85rem 0}.op-news-list--full .op-news-text{font-size:var(--op-font-body)}@media(max-width:991px){.op-grid{grid-template-columns:1fr;gap:2.5rem}.op-side-inner{position:static}.op-card{text-align:left}.op-avatar{width:110px;height:110px}}@media(max-width:767px){.op-pillars{grid-template-columns:1fr;gap:1.4rem}}