@import url("https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,400;0,500;0,600;1,500;1,600&display=swap");@import url("https://fonts.googleapis.com/css2?family=Ubuntu+Mono&display=swap");@import url("https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap");@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@500&display=swap");html{scroll-behavior:smooth;overflow-y:scroll}body{-webkit-font-smoothing:antialiased;background-color:#fff;padding:0px;font:17px/1.72 "Crimson Pro", serif;color:#3a3a3a;font-weight:400;margin:0}.pub-row{display:flex;align-items:center}.social-icons a{display:inline-block;height:2.4rem;width:2.4rem;background-color:transparent;color:#13294B !important;border-radius:100%;text-align:center;font-size:1.15rem;line-height:2.5rem;margin-right:0.9rem;transition:color 0.2s ease, transform 0.25s ease}.social-icons a:last-child{margin-right:0}.social-icons a:hover{background-color:transparent;color:#FF5F05 !important;transform:translateY(-4px)}.icon-button{background-color:white;border-radius:3.6rem;cursor:pointer;display:inline-block;font-size:2.0rem;height:3.6rem;line-height:3.6rem;margin:0 5px;position:relative;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:3.6rem}.icon-button span{border-radius:0;display:block;height:0;left:50%;margin:0;position:absolute;top:50%;-webkit-transition:all 0.3s;-moz-transition:all 0.3s;-o-transition:all 0.3s;transition:all 0.3s;width:0}.icon-button:hover span{width:3.6rem;height:3.6rem;border-radius:3.6rem;margin:-1.8rem}.twitter span{background-color:#4099ff}.facebook span{background-color:#4286f4}.linkedin span{background-color:#0077B5}.github span{background-color:#000}email{font-size:13px;font-family:"Ubuntu Mono";color:#666}.icon-button i{background:none;color:white;height:3.6rem;left:0;line-height:3.6rem;position:absolute;top:0;-webkit-transition:all 0.3s;-moz-transition:all 0.3s;-o-transition:all 0.3s;transition:all 0.3s;width:3.6rem;z-index:10}.icon-button .icon-twitter{color:#4099ff}.icon-button .icon-facebook{color:#4286f4}.icon-button .icon-github{color:#000}.icon-button .icon-linkedin{color:#0077B5}.icon-button:hover .icon-twitter,.icon-button:hover .icon-facebook,.icon-button:hover .icon-github,.icon-button:hover .icon-linkedin{color:white}autocolor{color:#5a5a5a}lightonly{visibility:visible}darkonly{visibility:hidden}education{font-weight:500;font-size:115%}papertitle{font-weight:600;font-size:100%}position{font-size:1.05rem;color:#555;display:block}.image{border-radius:0.35em;border:0;display:inline-block;position:relative}.image:before{-moz-transition:opacity 0.2s ease-in-out;-webkit-transition:opacity 0.2s ease-in-out;-ms-transition:opacity 0.2s ease-in-out;transition:opacity 0.2s ease-in-out;border-radius:0.35em;content:'';display:block;height:100%;left:0;opacity:0.5;position:absolute;top:0;width:100%}.image.avatar{border-radius:100%}.image.avatar:before{display:none}.image.avatar img{border-radius:100%;width:42%;padding:5px;border:2px solid #d0d0d0;box-shadow:0 6px 24px rgba(19,41,75,0.18)}#header .image.avatar{margin:0 0 1.1em 0;width:8.00em}h3,h4,h5,h6{font-weight:600;color:#13294B;margin:0 0 16px}h1{font-weight:600;color:#13294B;margin:0 0 5px;font-size:1.55rem;letter-spacing:-0.01em}h2{color:#13294B;font-weight:600;margin:52px 0px 14px;font-size:1.5rem;padding-bottom:9px;border-bottom:none;letter-spacing:0.005em}p,ul,ol,table,pre,dl{margin:0 0 20px}h1,h2,h3{line-height:1.2}a{color:#0055a5;text-decoration:none;transition:color 0.15s ease}a:hover{color:#13294B}a small{font-size:11px;color:#777;margin-top:-0.3em;display:block}a:hover small{color:#777}.wrapper{width:960px;margin:0 auto}blockquote{border-left:3px solid rgba(19,41,75,0.25);margin:0 0 20px;padding:6px 0 6px 18px;font-style:italic;color:#555}code,pre{font-family:Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal, Consolas, Liberation Mono, DejaVu Sans Mono, Courier New, monospace;color:#333}pre{max-width:500px;padding:8px 15px;background:#f8f8f8;border-radius:5px;border:1px solid #e5e5e5;overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:5px 10px;border-bottom:1px solid #e5e5e5}dt{color:#444;font-weight:500}th{color:#444}img{max-width:100%}header{width:242px;float:left;position:fixed;-webkit-font-smoothing:subpixel-antialiased;padding-top:5.2em;text-align:center}header ul{list-style:none;height:40px;padding:0;background:#f4f4f4;border-radius:5px;border:1px solid #e0e0e0;width:270px}header li{width:89px;float:left;border-right:1px solid #e0e0e0;height:40px}header li:first-child a{border-radius:5px 0 0 5px}header li:last-child a{border-radius:0 5px 5px 0}header ul a{line-height:1;font-size:11px;color:#999;display:block;text-align:center;padding-top:6px;height:34px}header ul a:hover{color:#999}header ul a:active{background-color:#f0f0f0}strong{color:#1a1a1a;font-weight:600}header ul li+li+li{border-right:none;width:89px}header ul a strong{font-size:14px;display:block;color:#222}.sidebar-divider{border:none;border-top:1px solid rgba(19,41,75,0.1);margin:14px auto;width:60%}section{width:662px;float:right;padding-top:90px;padding-bottom:56px}section ul li{margin-bottom:7px;line-height:1.62}section p{line-height:1.78}small{font-size:11px}hr{border:0;background:#e5e5e5;height:1px;margin:0 0 20px}footer{width:242px;float:left;position:fixed;bottom:30px;-webkit-font-smoothing:subpixel-antialiased;text-align:center}@media print, screen and (max-width: 960px){.pub-row{display:flex;align-items:center}div.wrapper{width:auto;margin:0}header,section,footer{float:none;position:static;width:auto}header{padding-top:80px}section{border:none;border-top:1px solid #e5e5e5;padding:20px 0;margin:0 0 20px}header a small{display:inline}header ul{position:absolute;right:50px;top:52px}.image.avatar img{border-radius:100%;width:117px;padding:4px;border:2px solid #d0d0d0;box-shadow:0 4px 16px rgba(19,41,75,0.16)}section{padding:20px 28px}section.simple-page{padding-top:65px}}@media print, screen and (max-width: 960px){body{word-wrap:break-word;padding:0px}.pub-row{display:flex;align-items:center}pre,code{word-wrap:normal}}@media print, screen and (max-width: 480px){.pub-row{display:block;align-items:center}body{padding:0px}header ul{width:99%}header li,header ul li+li+li{width:33%}.image.avatar img{border-radius:100%;width:95px;padding:5px;border:2px solid #d0d0d0;box-shadow:0 4px 16px rgba(19,41,75,0.16)}}@media print{body{padding:0.4in;font-size:12pt;color:#444}}.dated-list{list-style:none;padding-left:0;margin:4px 0 0}.dated-list li{position:relative;font-size:0.92em;line-height:1.6;margin:0;padding:5px 10px 5px calc(var(--label-w, 4.1rem) + 24px);border-radius:7px;transition:background-color 0.2s ease}.dated-list li:hover{background-color:#f5f7fa}.dated-list li>strong:first-child{position:absolute;left:10px;width:var(--label-w, 4.1rem);text-align:right;white-space:nowrap;font-family:'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;font-weight:500;font-size:0.8em;line-height:2;letter-spacing:0.01em;color:rgba(19,41,75,0.6)}.dated-list li.news-toggle{margin-top:4px;font-size:0.86em}.dated-list li.news-toggle:hover{background-color:transparent}.textsectionheader2{font-size:0.82em;font-weight:700;color:#13294B;margin:28px 0 7px;letter-spacing:0.06em;text-transform:uppercase}.papericon{border:1px solid rgba(19,41,75,0.18);border-radius:8px;box-shadow:0 2px 8px rgba(19,41,75,0.12);transition:box-shadow 0.2s ease, transform 0.2s ease}.member-card:hover .papericon{box-shadow:0 6px 16px rgba(19,41,75,0.18);transform:translateY(-2px)}.member-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:14px 8px 12px;border-radius:10px;transition:background-color 0.2s ease, box-shadow 0.2s ease}.member-card:hover{background-color:#f5f7fa;box-shadow:0 4px 14px rgba(19,41,75,0.12)}.member-card a{font-weight:600}.memberrole{font-size:9pt;color:#666;line-height:1.2;margin-top:3px}.memberrole-line{display:block;line-height:1.2}.group-link{display:inline-block;margin-bottom:24px;font-family:'Ubuntu Mono', monospace;font-size:0.85rem;color:#13294B;border:1px solid #13294B;border-radius:5px;padding:4px 12px;text-decoration:none;transition:background-color 0.2s ease, color 0.2s ease}.group-link:hover{background-color:#13294B;color:#fff !important;text-decoration:none}.alumni-list{display:flex;flex-direction:column;gap:2px;margin-top:8px;margin-bottom:24px}.alumni-entry{padding:5px 0;font-size:1em}.alumni-entry .alumni-role{font-size:9pt;color:#666}.biblink{text-decoration:none;display:inline;margin-right:0px}.fakelink{text-decoration:none;cursor:pointer}.bibref{font-size:70%;margin-top:10px;margin-left:0px;display:none;font-family:monospace}.contact-list{list-style:none;padding:0;margin:0}.contact-list li{margin-bottom:8px;line-height:1.62}.contact-list li:last-child{margin-bottom:0}.contact-list i{color:#13294B;margin-right:7px}:root{--navy: #13294B;--orange: #FF5F05;--orange-ink: #c94f00;--orange-soft: #fff7f1;--red: #e74d3c;--line: rgba(19,41,75,0.14);--tint: #f5f7fa}::selection{background:rgba(255,95,5,0.22)}a:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:2px}section>h2:not(.year):not(.no-accent),h2.page-title{position:relative}section>h2:not(.year):not(.no-accent)::after,h2.page-title::after{content:'';position:absolute;left:0;bottom:-1.5px;width:44px;height:2.5px;background:var(--orange);border-radius:2px}h2.page-title{margin:0 0 18px}h4.sub-heading{font-size:0.8em;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--navy);margin:26px 0 8px}h4.sub-heading:first-of-type{margin-top:4px}h4.talk-title{font-size:1.02em;font-weight:600;color:var(--navy);margin:22px 0 6px;line-height:1.35}h4.talk-title:first-of-type{margin-top:4px}h4.talk-title .slides{font-size:0.78rem;font-weight:500;color:var(--orange-ink);border:1px solid rgba(201,79,0,0.4);border-radius:20px;padding:1px 9px;margin-left:6px;vertical-align:2px;white-space:nowrap}h4.talk-title .slides:hover{background:var(--orange-ink);color:#fff;text-decoration:none}ul.sub-list{margin:0 0 4px}ul.sub-list li{margin-bottom:5px}ul.sub-list li .note{display:block;font-size:0.92em}.note,.note a{color:var(--red);font-style:italic;font-weight:600}.dated-list.term-list{--label-w: 6.4rem}.dated-list.year-list{--label-w: 3.2rem}.dated-list.year-list li,.dated-list.term-list li{font-size:1em;padding-top:6px;padding-bottom:6px}.course-code{font-family:'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;font-size:0.72em;color:rgba(19,41,75,0.7);background:var(--tint);border:1px solid var(--line);border-radius:4px;padding:1px 6px;margin-left:6px;vertical-align:1px;letter-spacing:0.02em}.dated-list .note{display:block;font-size:0.9em;margin-top:2px}.callout{margin-top:26px;padding:14px 20px;border:1.5px solid #e0e0e0;border-radius:8px;background:#fafafa;box-shadow:0 2px 10px rgba(0,0,0,0.07);line-height:1.7}.callout .callout-title{color:var(--orange-ink);font-weight:600}.callout a{color:var(--orange-ink);font-weight:500}.dated-list li.news-toggle a{display:inline-block;font-family:'Source Sans 3', sans-serif;font-size:0.86rem;font-weight:600;letter-spacing:0.03em;color:var(--navy);border:1.5px solid var(--line);border-radius:20px;padding:3px 14px;transition:background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease}.dated-list li.news-toggle a:hover{background:var(--navy);border-color:var(--navy);color:#fff;text-decoration:none}@media print, screen and (max-width: 480px){.dated-list li{padding-left:10px}.dated-list li>strong:first-child{position:static;display:block;width:auto;text-align:left;line-height:1.4;margin-bottom:1px}}.wrapper.single-col header,.wrapper.single-col section,.wrapper.single-col footer{float:none;position:static;width:auto;text-align:left}.wrapper.single-col{padding:0 140px;box-sizing:border-box}.wrapper.single-col header.hero{padding-top:96px;padding-bottom:0}.wrapper.single-col section{padding-top:0;border-top:none}.wrapper.single-col section>h2:first-child{margin-top:0}.wrapper.single-col footer{bottom:auto}.hero{display:flex;align-items:center;gap:64px;padding-left:36px}.hero .image.avatar{flex:0 0 120px;width:120px;margin:0}.hero .image.avatar img{display:block;width:100%;padding:4px;border:2px solid #e3e7ee;box-shadow:0 10px 30px rgba(19,41,75,0.16)}.hero .hero-text{flex:1 1 auto;min-width:0}.hero h1{font-size:2.05rem;line-height:1.1;margin:0 0 8px;letter-spacing:-0.015em}.hero h1 .hero-native{font-weight:500;color:#6b7280;margin-left:6px;font-size:0.7em}.hero .hero-position{font-family:'Source Sans 3', sans-serif;font-size:0.86rem;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;color:var(--orange-ink);margin:0 0 6px}.hero .hero-affil{margin:0 0 16px;line-height:1.5;font-size:1.04rem;color:#4a4a4a}.hero .hero-affil a{color:inherit}.hero .hero-affil a:hover{color:var(--navy);text-decoration:underline}.hero .hero-links{display:flex;flex-wrap:wrap;gap:8px}.hero-pill{display:inline-flex;align-items:center;gap:7px;font-family:'Source Sans 3', sans-serif;font-size:0.86rem;font-weight:600;letter-spacing:0.02em;color:var(--navy);border:1.5px solid var(--line);border-radius:20px;padding:4px 13px;line-height:1.35;transition:background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease}.hero-pill i{font-size:0.98rem;line-height:1}.hero-pill:hover{background:var(--navy);border-color:var(--navy);color:#fff;text-decoration:none;transform:translateY(-1px)}.hero-links.icon-only .hero-pill span{display:none}.hero-links.icon-only .hero-pill{padding:6px 10px}hr.hero-rule{margin:40px 0 36px}@media print, screen and (max-width: 960px){.wrapper.single-col{padding:0}.wrapper.single-col header.hero{padding:84px 28px 0;text-align:left}.wrapper.single-col section{padding-top:0}.hero{gap:30px}.hero .image.avatar{flex-basis:110px;width:110px}.hero .image.avatar img{width:100%;padding:4px}.hero h1{font-size:1.8rem}hr.hero-rule{margin:28px 28px 26px}}@media screen and (max-width: 630px){.hero .hero-affil-depts{display:none}.hero .hero-pill-extra{display:none}}@media print, screen and (max-width: 480px){.hero{flex-direction:column;align-items:flex-start;gap:16px}.hero .image.avatar{flex-basis:auto;width:92px}.hero .image.avatar img{width:100%;padding:3px}.hero h1{font-size:1.55rem}}html{background:#f4f4f4}body{max-width:1200px;width:100%;margin:0 auto;min-height:100vh;background:#fff;box-shadow:0 0 10px rgba(0,0,0,0.18);box-sizing:border-box}.topnav{width:auto;max-width:1200px;left:0;right:0;margin:0 auto}
