@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";#root{max-width:1280px;margin:0 auto}:root{--color-text: #1a1a1a;--color-text-secondary: #555;--color-accent: #7c3aed;--color-accent-hover: #5b21b6;--color-bg: #fbfaf7;--color-surface: #fff;--color-border: #e5e5e5;--color-highlight-bg: #f0f4ff;--color-highlight-border: #bfdbfe;--color-gold: #ca8a04;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.6;font-weight:400;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover);text-decoration:underline}.home{display:flex;flex-direction:column;align-items:center;min-height:100vh;padding:3rem 1.5rem}.subhome{max-width:900px;width:100%}.section{margin-bottom:2rem}.section-title{font-size:1.25rem;font-weight:600;color:var(--color-text);margin-bottom:1rem;letter-spacing:-.01em}.publication-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.publication-header .section-title{margin-bottom:1rem}.section-divider{border:none;border-top:1px solid var(--color-border);margin:2rem 0}.header{display:flex;align-items:center;gap:2rem;margin-bottom:1.5rem;flex-wrap:wrap}.header-info{display:flex;flex-direction:column;gap:.25rem;text-align:left}.header-name{font-size:2rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}.header-title{font-size:1rem;font-weight:400;color:var(--color-text-secondary)}.header-tagline{font-size:.95rem;color:var(--color-text-secondary);font-style:italic;margin-top:.25rem}.header-email{display:block;font-size:.9rem;color:var(--color-text-secondary);margin-top:.25rem}.social-links{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.social-links a{color:var(--color-text-secondary);transition:color .2s ease;display:flex;align-items:center}.social-links a:hover{color:var(--color-text);text-decoration:none}.social-icon{font-size:1.25rem}.scholar-icon{font-size:.8rem;font-weight:500;padding:.125rem .4rem;border:1px solid var(--color-border);border-radius:.25rem;line-height:1}.research p{color:var(--color-text-secondary);margin-bottom:1rem;font-size:.95rem;line-height:1.7}.research p:last-child{margin-bottom:0}.callout{background:var(--color-highlight-bg);border:1px solid var(--color-highlight-border);border-radius:.75rem;padding:1.25rem 1.5rem;display:flex;align-items:flex-start;gap:1rem}.callout-content h3{font-size:1rem;font-weight:600;margin-bottom:.25rem}.callout-content p{font-size:.9rem;color:var(--color-text-secondary);line-height:1.6}.paper-list{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.paper{display:flex;flex-direction:column;padding:1rem;border-radius:1rem;background-color:var(--color-surface);box-shadow:0 0 10px #00000014;transition:box-shadow .15s ease}.paper:hover{box-shadow:0 0 15px #00000026}.paper-thumb-container{width:100%;height:150px;display:flex;justify-content:center;align-items:center;margin-bottom:.75rem;background:var(--color-bg);border-radius:.375rem;overflow:hidden}.paper-thumb{max-width:90%;max-height:130px;object-fit:contain}.paper-info{width:100%}.paper-info h4{font-size:.85rem;font-weight:600;line-height:1.4;margin-bottom:.25rem}.paper-info h4 a{color:var(--color-text)}.paper-info h4 a:hover{color:var(--color-accent)}.paper-authors{font-size:.8rem;color:var(--color-text-secondary);margin-bottom:.125rem}.paper-venue{font-size:.8rem;color:var(--color-text-secondary);font-style:italic}.paper-award{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;color:var(--color-gold);margin-top:.25rem}.scholar-link{font-size:.95rem;white-space:nowrap}.teaching-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}.teaching-card{display:block;padding:1.25rem;border-radius:1rem;background:var(--color-surface);box-shadow:0 0 10px #00000014;transition:box-shadow .2s ease,transform .2s ease;text-decoration:none;color:inherit}.teaching-card:hover{box-shadow:0 0 15px #00000026;transform:translateY(-2px);text-decoration:none}.teaching-card h3{font-size:1.2rem;font-weight:700;color:var(--color-text);margin-bottom:.25rem}.teaching-card-name{font-size:.85rem;color:var(--color-accent);margin-bottom:.5rem}.teaching-card-role{font-size:.8rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em}.award-item{font-size:.9rem;color:var(--color-text-secondary);margin-bottom:.375rem}.award-item a{color:var(--color-text);font-weight:500}.footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--color-border);text-align:center;font-size:.8rem;color:var(--color-text-secondary)}.footer .social-links{justify-content:center;margin-bottom:.75rem}@media (max-width: 700px){.home{padding:2rem 1rem}.header{flex-direction:column;align-items:flex-start;gap:1rem}.header-name{font-size:1.6rem}.teaching-grid,.paper-list{grid-template-columns:1fr}.publication-header{align-items:flex-start;flex-direction:column;gap:.25rem}.scholar-link{white-space:normal}.callout{flex-direction:column}}.nb-mono{font-family:JetBrains Mono,ui-monospace,monospace}.nb-header{display:flex;gap:2rem;align-items:flex-start;flex-wrap:wrap;padding-bottom:.5rem}.nb-header-info{position:relative;flex:1 1 420px;min-width:0;padding-top:1rem}.nb-name{font-size:2.4rem;line-height:1.1;font-weight:600;letter-spacing:-.02em}.nb-title{margin-top:.4rem;font-size:1.05rem;color:#3d3d3d}.nb-links{margin-top:.4rem;font-size:.875rem;color:#6b6b6b}.nb-links .nb-mono{font-size:.8rem}.nb-bio{margin-top:1.1rem;font-size:1rem;line-height:1.7}.nb-bio-secondary{margin-top:.75rem;color:#3d3d3d}.nb-cells{display:flex;flex-direction:column;gap:2.25rem;margin-top:2.25rem}html{scroll-behavior:smooth}.nb-layout{display:flex;justify-content:center;gap:3rem;width:100%;max-width:1120px}.nb-layout .subhome{flex:0 1 900px;min-width:0}.nb-cell{scroll-margin-top:2rem}.nb-side{flex:0 0 120px;position:sticky;top:3rem;align-self:flex-start;margin-top:16rem;display:flex;flex-direction:column;border-left:1px solid #e6e3dc}.nb-side-link{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.875rem;color:#6b6b6b;padding:.6rem 0 .6rem 1rem;margin-left:-1px;border-left:2px solid transparent;min-height:44px;display:flex;align-items:center}.nb-side-link:hover{color:#1f1f1f;text-decoration:none}.nb-side-active{color:var(--color-accent);border-left-color:var(--color-accent);font-weight:500}@media (max-width: 1000px){.nb-side{display:none}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}.nb-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:1rem}.nb-row-out{margin-top:1rem}.nb-prompt{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem;color:#9a9a9a;padding-top:.25rem}.nb-prompt-in{padding-top:1.1rem}.nb-code{margin:0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.95rem;line-height:1.7;background:#f1efe9;border-radius:10px;padding:1rem 1.25rem;white-space:pre-wrap}.nb-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem}.nb-card{background:#fff;border:1px solid #e6e3dc;border-radius:10px;padding:1.1rem}.nb-card-when{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem;color:#6b6b6b}.nb-card-name{margin-top:.35rem;font-weight:600;font-size:1.05rem}.nb-card-desc{margin-top:.35rem;font-size:.875rem;line-height:1.6;color:#3d3d3d}.nb-list{display:flex;flex-direction:column;gap:1rem;font-size:.95rem;line-height:1.5}.nb-list-tight{gap:.6rem}.nb-meta{font-size:.875rem;color:#6b6b6b}.nb-paper-title{color:#1f1f1f}.nb-more,.nb-year{font-size:.8rem;color:#6b6b6b}.nb-more{color:var(--color-accent)}@media (max-width: 700px){.nb-row{grid-template-columns:1fr;gap:.25rem}.nb-prompt,.nb-prompt-in{padding-top:0}.nb-course-grid{grid-template-columns:1fr}.nb-name{font-size:2rem}}a:focus-visible,button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:3px}.nb-photo{position:relative;flex:0 0 auto}.nb-photo svg{cursor:pointer}.nb-trapdoor{position:absolute;right:18px;bottom:14px;padding:0;border:0;background:transparent;cursor:pointer}.nb-trapdoor img{width:26px;display:block}.nb-primary-links{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.1rem;margin-top:.75rem;font-size:.95rem}.nb-primary-links>a{font-weight:600}.nb-email{display:inline-flex;align-items:center;gap:.4rem;color:#6b6b6b;font-size:.8rem}.nb-news{display:flex;flex-direction:column;gap:.6rem;font-size:.95rem;line-height:1.55}.nb-news-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:1rem}.nb-news-when{font-size:.8rem;color:#6b6b6b;padding-top:.15rem}.nb-papers{gap:1.35rem}.nb-paper-title{color:#1f1f1f;font-weight:500}a.nb-paper-title:hover{color:var(--color-accent)}.nb-paper-result{margin-top:.2rem;font-size:.9rem;line-height:1.55;color:#3d3d3d}.nb-paper .nb-meta{margin-top:.15rem}.nb-footer{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e6e3dc;font-size:.85rem;color:#6b6b6b;padding-bottom:30vh}@media (max-width: 700px){.nb-news-row{grid-template-columns:1fr;gap:0}.nb-row-out .nb-prompt{display:none}.nb-footer{padding-bottom:2rem}}
