:root{--paper:#f9fdff;--ground:#eaf3fc;--ink:#1e3459;--muted:#5e718c;--accent:#2856b9;--rule:#b1c8e7;--tint:#dcecff;--body:'IBM Plex Sans',Arial,sans-serif;--head:'IBM Plex Mono','Courier New',monospace;--side:192px;color-scheme:light;--panel-shadow:#cadcf1;--pattern:#c6d8ee;--band:#cfe5ff;--band-end:#f3faff;--selected:#ffdf8c;--selected-line:#d4b765;--soft:#e8f2ff;--warm:#fff0bf;--photo-shadow:#c6d9f0}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:84px}body{margin:0;background:var(--ground);color:var(--ink);font:15px/1.6 var(--body);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}a:focus-visible,[tabindex]:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}p{margin:0 0 13px}strong,b{font-weight:600}em{font-style:normal}.journal{font-style:italic}.authors{color:#000}[hidden]{display:none!important}
.page-shell{max-width:1200px;margin:30px auto 40px;background:var(--paper);border:1px solid var(--rule);min-height:calc(100vh - 114px)}.topbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:27px 34px;border-bottom:1px solid var(--rule)}.site-name{font:normal 28px/1.2 var(--head);letter-spacing:-.6px;color:var(--ink);white-space:nowrap}.site-name:hover{text-decoration:none}.topbar nav{display:flex;gap:25px;font-size:14px}.topbar nav a{color:var(--muted);padding:5px 0;border-bottom:1px solid transparent}.topbar nav a[aria-current=page]{color:var(--accent);border-color:var(--accent)}.layout{display:grid;grid-template-columns:var(--side) minmax(0,1fr)}.sidebar{position:sticky;top:64px;align-self:start;padding:30px 17px 28px 23px;border-right:1px solid var(--rule)}.nav-label{font:10px/1.5 Arial,Helvetica,sans-serif;letter-spacing:1.5px;color:var(--muted);margin:0 0 15px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.sidebar nav a{display:block;padding:5px 8px;border-left:2px solid transparent;font-size:16px;color:var(--ink);white-space:nowrap}.sidebar nav a[aria-current=location]{border-color:var(--accent);color:var(--accent);background:var(--tint)}.sidebar-contact{margin:26px 0 0 10px;display:flex;flex-direction:column;font:11px/1.9 Arial,Helvetica,sans-serif;color:var(--muted)}.content{min-width:0;padding:29px 36px 42px}.content:focus{outline:none}section{margin:0 0 38px;scroll-margin-top:0}h1,h2,h3{color:var(--ink);font-weight:400;line-height:1.35}h1{font:normal 24px/1.3 var(--head);margin:0 0 17px}h2,.students-content h1{font:normal 21px/1.35 var(--head);margin:0 0 16px;padding:0 0 9px;border-bottom:1px solid var(--rule);display:flex;gap:12px;align-items:baseline}h3{font-size:16px;font-weight:600;margin:20px 0 14px}.section-count{font:11px/1.4 Arial,Helvetica,sans-serif;color:var(--muted);font-variant-numeric:tabular-nums}.profile{display:grid;grid-template-columns:minmax(0,1fr) 116px;gap:27px;align-items:start}.profile img{width:116px;height:138px;object-fit:cover}.contact{display:grid;grid-template-columns:70px minmax(0,1fr);gap:5px 10px;margin:19px 0;font:13px/1.65 Arial,Helvetica,sans-serif}.contact dt{color:var(--muted)}.contact dd{margin:0;overflow-wrap:anywhere}.research-interests{border-left:2px solid var(--rule);padding-left:14px;margin:6px 0 14px;font-size:14px}.research-interests strong{display:block;font-size:12px;font-weight:400;color:var(--muted);margin:0 0 3px}.records{padding-left:30px;margin:0;font-size:14px;line-height:1.65}.records li{padding:0 0 10px 4px}.records li::marker{font:12px/1.6 Arial,Helvetica,sans-serif;color:var(--muted);font-variant-numeric:tabular-nums}.links{white-space:normal;font:12px/1.5 Arial,Helvetica,sans-serif;color:var(--muted)}.links a{display:inline-block}.plain-list,.talks{padding-left:19px;margin:0;font-size:14px}.plain-list li{margin-bottom:8px}.talks{padding:0;list-style:none}.talks>li{margin-bottom:17px}.talk-conference{display:block;color:var(--ink);font-size:14px}.talk-date{color:var(--muted);font-size:12px}.talk-conference+br{display:none}.talk-title{display:inline-block;margin-top:3px;font-size:14px;font-weight:400}.talks .links{margin-left:3px}
.students-content{font-size:14px}.students-content p{text-align:left}.course-resource{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:16px 0 20px;padding:13px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font-size:13px}.course-resource strong{font-weight:600}.table-scroll{width:100%;overflow-x:auto;margin-bottom:24px;overscroll-behavior-x:contain}.students-content table{width:100%;border-collapse:collapse;text-align:left;font:13px/1.55 Arial,Helvetica,sans-serif}.students-content th,.students-content td{padding:10px 8px;vertical-align:top;border-bottom:1px solid var(--rule)}.students-content th{font-size:11px;font-weight:400;color:var(--muted)}.students-content th p,.students-content td p{margin:0}.lecture-table{table-layout:fixed}.lecture-table td:first-child{font-size:12px;color:var(--muted)}.lecture-table td:last-child{font-size:12px;overflow-wrap:anywhere}.lecture-table td:last-child a{display:inline-block;margin-bottom:5px}.thesis-table td:first-child{width:19%}.thesis-table td:nth-child(2){width:57%}.thesis-table td:nth-child(n+3){white-space:nowrap;font-size:12px}.students-content table b{font-weight:400}footer{margin:0 36px 0 calc(var(--side) + 36px);padding:20px 0 24px;border-top:1px solid var(--rule);font:italic 13px/1.7 var(--head);color:var(--muted)}footer.student-quotes{display:flex;flex-direction:column;gap:5px;font-style:normal}.skip-link{position:fixed;top:-90px;left:10px;z-index:25;padding:10px 16px;background:var(--accent);color:var(--paper)}.skip-link:focus{top:50px}

body{background-image:radial-gradient(#c8d1ee 1px,transparent 1px);background-size:16px 16px}
.page-shell{border:1px solid #b7c3e2;border-radius:10px;box-shadow:8px 8px 0 #d7dff4;overflow:clip}
.topbar{background:linear-gradient(100deg,#fff5c9 0%,#fffaf0 66%);border-bottom:2px solid #243b79}
.site-name{font-size:29px;font-weight:600;letter-spacing:-1px}
.topbar nav a{color:#2c4071}
.sidebar{border:0}
.nav-label{color:#54659d}
.sidebar nav{gap:8px}
.sidebar nav a{border:1px solid transparent;border-radius:4px;font-size:15px}
.sidebar nav a[aria-current=location]{background:#ffec9c;border-color:#e9ce6c;color:#27395c;box-shadow:3px 3px 0 #f2df94}
h1{font-size:25px;font-weight:600}
h2,.students-content h1{font-size:21px;font-weight:600;border-bottom:2px solid #b7c6ed}
.section-count{margin-left:auto;border:1px solid #bac7eb;border-radius:50%;min-width:25px;line-height:24px;text-align:center;background:#edf1fe;color:#35529b}
.profile img{border:3px solid #fbdfa6;border-radius:7px;box-shadow:6px 6px 0 #d3ddf8;transform:rotate(2deg)}
.research-interests{background:#edf1fd;border:0;border-radius:5px;padding:13px 15px}
.research-interests strong{color:#3155bd}
.records li::marker{color:#3155bd;font-weight:400}
.talks>li{padding-left:12px;border-left:3px solid #f0d276}
.course-resource{background:#fff0b2;border:0;border-radius:4px;padding:13px 15px}
.students-content thead{background:#edf1fd}
footer{background:#fff4db;border:0;border-radius:5px;padding:14px 17px;margin-bottom:25px}
@media(max-width:1260px){.page-shell{margin:22px 24px 34px}}
@media(max-width:820px){:root{--side:160px!important}.page-shell{margin:16px!important}.topbar{padding:23px 24px}.site-name{font-size:26px!important}.topbar nav{font-size:12px;gap:16px}.sidebar{padding:27px 12px 25px 16px}.sidebar nav a{font-size:14px!important;padding-left:6px}.sidebar-contact{margin-left:8px;font-size:10px}.content{padding:27px 25px 35px!important}.profile{grid-template-columns:minmax(0,1fr) 88px;gap:16px}.profile img{width:88px;height:107px}.contact{grid-template-columns:62px minmax(0,1fr);font-size:12px}footer{margin-left:185px!important;margin-right:25px!important}.students-content table{font-size:12px}}
@media(max-width:620px){html{scroll-padding-top:110px}.page-shell{margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}.topbar{padding:20px!important;align-items:flex-start;flex-direction:column;gap:13px}.site-name{font-size:26px!important}.topbar nav{gap:25px;font-size:13px!important}.layout{display:block}.sidebar{position:static!important;border:0!important;border-bottom:1px solid var(--rule)!important;padding:12px 14px!important}.nav-label,.sidebar-contact{display:none!important}.sidebar nav{flex-direction:row;flex-wrap:wrap;gap:3px!important}.sidebar nav a{font:13px/1.5 var(--body)!important;padding:4px 7px!important}.content{padding:25px 20px 34px!important}.profile{grid-template-columns:minmax(0,1fr) 77px;gap:14px}.profile img{width:77px;height:97px}.contact{font-size:12px;grid-template-columns:60px minmax(0,1fr);gap:5px 8px}.research-interests{font-size:14px!important}h1{font-size:24px!important}h2,.students-content h1{font-size:21px!important}.records{font-size:14px!important;padding-left:26px}.records li{padding-left:2px!important}.talk-date{display:block}.links{font-size:12px}.lecture-table{min-width:460px}.thesis-table{min-width:570px}.course-resource{align-items:flex-start;flex-direction:column;gap:5px}.students-content table{font-size:12px}footer{margin:0 20px 0!important;padding:19px 0 24px}footer{padding:13px;margin-bottom:20px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.sidebar,.topbar nav{display:none}body{background:#fff!important;color:#000!important}.page-shell{margin:0!important;border:0!important;box-shadow:none!important;background:#fff!important}.layout{display:block}.content{padding:15px 0!important}.topbar{background:#fff!important;padding:0 0 20px!important}.site-name,h1,h2,h3,.authors,.journal,.talk-conference{color:#000!important}footer{margin:0!important}.table-scroll{overflow:visible}}

body{font-family:var(--body);background-image:radial-gradient(var(--pattern) 1px,transparent 1px);background-size:18px 18px}
.page-shell{border-color:var(--rule);box-shadow:8px 8px 0 var(--panel-shadow)}
.topbar{background:linear-gradient(105deg,var(--band),var(--band-end));border-bottom-color:var(--accent)}
.site-name{font-family:var(--head);color:var(--ink);letter-spacing:-.8px;font-weight:700;font-size:30px}
.topbar nav a{color:var(--accent)}
.nav-label{color:var(--accent)}
.sidebar nav a[aria-current=location]{background:var(--selected);border-color:var(--selected-line);color:var(--ink);box-shadow:3px 3px 0 var(--panel-shadow)}
h1,h2,h3{font-family:var(--head)}
h2,.students-content h1{border-bottom-color:var(--rule);font-weight:650}
.section-count{border-color:var(--rule);background:var(--soft);color:var(--accent)}
.profile img{border-color:var(--selected-line);box-shadow:6px 6px 0 var(--photo-shadow)}
.research-interests{background:var(--soft)}
.research-interests strong{color:var(--accent)}
.records li::marker{color:var(--accent)}
.talks>li{border-left-color:var(--selected-line)}
.course-resource{background:var(--warm)}
.students-content thead{background:var(--soft)}
footer{background:var(--warm);font-family:var(--head)}
.records{line-height:1.65}.contact,.students-content table,.links{font-family:var(--body)}

body{background-image:linear-gradient(var(--pattern) 1px,transparent 1px),linear-gradient(90deg,var(--pattern) 1px,transparent 1px);background-size:22px 22px}
.page-shell{border-radius:2px;box-shadow:7px 7px 0 var(--panel-shadow)}
.site-name{font-size:27px;letter-spacing:-1.2px;font-weight:500}
h1{font-size:23px;font-weight:500;letter-spacing:-.7px}
h2,.students-content h1{font-size:20px;font-weight:500;letter-spacing:-.6px}
.section-count{border-radius:2px}
.profile img{transform:rotate(0);border-radius:1px;border-width:2px;box-shadow:5px 5px 0 var(--photo-shadow)}
.sidebar nav a{border-radius:1px}
.sidebar nav a[aria-current=location]{background:#fff8e6;border-color:#e7ddc4;box-shadow:none}
.journal{color:#926600;font-style:normal;font-weight:500}
#about .profile p,#about .research-interests,#temata>p{text-align:justify;text-align-last:start;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}
.research-interests,.course-resource{border-radius:1px}
.sidebar-contact,.nav-label{font-family:'IBM Plex Mono','Courier New',monospace}
footer{font-family:'IBM Plex Sans',Arial,sans-serif}
@media(max-width:820px){.site-name{font-size:24px!important}}@media(max-width:620px){.page-shell{border-radius:0}h1{font-size:23px!important}h2,.students-content h1{font-size:21px!important}h1{font-size:21px!important}h2,.students-content h1{font-size:19px!important}footer{font-size:12px}}

/* The selected Blueprint site, without comparison controls. */
html{scroll-padding-top:20px}
.sidebar{top:20px}
.skip-link:focus{top:10px}
.sidebar nav a[aria-current=location]{background:var(--warm);border-color:var(--selected-line);box-shadow:none}
.course-resource{display:grid;grid-template-columns:82% 18%;gap:0;padding:13px 0;min-width:460px;align-items:start}
.course-resource strong{padding:0 15px}
.course-resource>a{padding:0 8px;font-size:12px;font-weight:600;overflow-wrap:anywhere}
.lecture-table{min-width:460px}
.talk-entry{margin-top:3px}
.talk-entry .talk-title{display:inline}
