/* Layout reproduced from the rendered hannaneh.ai reference, 2026-10-08.
   Own academic content; UW purple/gold replace the reference accent colors. */
:root {
 --maxw:1020px; --pad:1.2rem; --text:#0b0f12; --muted:#5b6570;
 --color-accent:#4b5563; --color-link:#4b2e83; --link:#4b2e83;
 --link-hover:#32006e; --rule:#e8e3d3; --bg:#fff;
}
*,*::before,*::after { box-sizing:border-box; }
html { margin:0; padding:0; -webkit-text-size-adjust:100%; scroll-padding-top:24px; }
body { margin:0; font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol",sans-serif; line-height:1.65; color:var(--text); background:var(--bg); font-size:16px; font-weight:400; }
a { color:var(--link); text-decoration:none; }
a:hover,a:focus { color:var(--link-hover); text-decoration:underline; }
:focus-visible { outline:2px solid var(--link); outline-offset:3px; }
h1 { font-size:clamp(1.8rem,2.2vw + 1rem,2.4rem); line-height:1.15; margin:0 0 .75rem; letter-spacing:-.01em; }
h2 { margin:2.25rem 0 1rem; padding-bottom:.35rem; border-bottom:1px solid var(--rule); font-size:1.25rem; letter-spacing:-.01em; }
h3 { font-size:1.17em; margin:1em 0; }
h4 { font-size:1em; margin:1.33em 0; }
p { line-height:1.2; margin:1em 0 .1rem; padding:.1rem; text-wrap:pretty; }
ul,ol { padding-left:1.15rem; }
ul li,ol li { margin-bottom:.1rem; line-height:1.2; padding:.1rem; }
li { list-style:disc; border-radius:8px; }
li:hover { background:#fafafa; }
li > a:first-child { font-weight:600; }
b { font-weight:600; }
figure,dl,dd { margin:0; }
img { max-width:100%; }
.skip-link { position:absolute; top:-100px; left:16px; background:#fff; padding:8px 12px; z-index:10; }
.skip-link:focus { top:8px; }
header.site-header { max-width:var(--maxw); margin:0 auto; padding:var(--pad); border-bottom:2px solid var(--rule); }
header .profile { display:flex; align-items:flex-start; gap:1.5rem; }
header .avatar { display:block; flex:none; width:154px; height:193px; object-fit:contain; object-position:center; border:3px solid var(--rule); border-radius:6px; }
.profile-content { flex:1; min-width:0; }
header .site-name { margin:0 0 .3rem; padding:0; font-size:2rem; font-weight:600; line-height:1.15; letter-spacing:-.01em; }
header .affiliations { margin:0 0 .3rem; color:var(--color-accent); font-weight:400; }
header .university-link { font-weight:600; }
header .profile-verification { display:flex; flex-wrap:wrap; align-items:baseline; gap:.2rem .6rem; margin:0 0 .4rem; padding:.1rem; font-size:.875rem; line-height:1.5; }
header .profile-verification a { white-space:nowrap; font-weight:400; text-decoration:underline; text-underline-offset:3px; }
header .profile-verification span { color:var(--muted); }

header .email { margin:0 0 .6rem; color:var(--color-accent); font-size:.95rem; font-weight:400; }
header .email > a:first-child { color:inherit; }
.email-instructions { font-size:.875rem; margin-left:.75rem; white-space:nowrap; }
.social-links { display:flex; flex-wrap:wrap; gap:1rem; }
.social-links a { color:var(--color-link); font-size:1.4rem; transition:color .2s ease; }
.social-links a:hover { color:var(--link-hover); transform:translateY(-1px); }
.nav { margin-top:1rem; display:flex; flex-wrap:wrap; gap:1rem; }
.nav a { text-decoration:none; color:var(--color-link); font-weight:500; }
.nav a:hover,.nav a[aria-current="page"] { text-decoration:underline; text-underline-offset:.25em; text-decoration-thickness:1.5px; }
main,.container { max-width:var(--maxw); margin:0 auto; padding:var(--pad); }
section { margin-bottom:1.8rem; }
section h2 { font-size:1.6rem; font-weight:600; border-bottom:2px solid var(--rule); padding-bottom:.3rem; margin-bottom:.7rem; }
/* The reference homepage uses tighter introductory sections and 1.2 line spacing. */
.home-content section { margin-bottom:1.2rem; }
.home-content .faculty-research { margin-bottom:0; padding-bottom:0; }
.home-content .faculty-research p { margin-bottom:0; padding-bottom:0; }
.home-content p { margin-bottom:.8rem; }
.home-content .faculty-research li { margin-bottom:.3rem; }
.home-content .recognition-list li { margin-bottom:.5rem; line-height:1.35; }
.home-content .recognition-list strong { font-weight:600; }
.home-content #selected-awards-service,.home-content #phd-advising { margin-top:-1.2rem; padding-top:0; }
.recruiting-heading { color:var(--link); }
.recognition-list .detail { display:inline; }
.recognition-list .detail::before { content:" · "; }
.student-actions { margin:1rem 0; line-height:1.4; }
.student-actions a { display:inline-block; margin:0 1rem .2rem 0; }
.text-links a + a { margin-left:1rem; }
.detail { color:var(--muted); }
.detail::before { content:" — "; }
.compact-list li { margin-bottom:.3rem; }
.course-list { padding-left:1.15rem; }
.course-list li { display:list-item; }
.course-list strong { font-weight:400; }
.small-note { color:var(--muted); font-size:.95rem; }
/* Hanna's student roster style, reused for the owner's advising hierarchy. */
.member-section { margin-bottom:2rem; }
.member-section h2 { color:var(--text); font-size:1.4rem; font-weight:700; margin-bottom:.8rem; padding-bottom:.3rem; border-bottom:2px solid var(--rule); }
.member-list { list-style:none; padding:0; }
.member-list li { margin-bottom:.6rem; line-height:1.4; }
.member-list > li { list-style:none; }
.home-page #systems .member-list { padding-left:1.15rem; }
.home-page #systems .member-list > li { list-style:disc; }
#current-phd-students strong, #masters-students strong { font-weight:600; }
.students-pathway,.students-subsection { margin:0; }
.thesis-list em { display:block; line-height:1.4; text-wrap:balance; }
.more-link { margin-top:1rem; }
.back-home { margin-top:1.5rem; }
/* Publication citations match the reference's dense, year-grouped list. */
.publications-page { font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif; line-height:1.4; }
.publications-page main > h1 { margin-bottom:1rem; }
.publication-year { margin-bottom:0; }
.publication-year h2 { margin-top:.5rem; margin-bottom:.25rem; padding-bottom:.25rem; border-bottom:1px solid var(--rule); font-size:1.25rem; font-weight:700; }
.publication-year ul { padding-left:1.25rem; }
.publication-year li { margin:0 0 .6rem; line-height:1.2; padding:.2rem 0; }
.publication-entry > a { font-weight:600; }
.publication-year li br { line-height:.8; margin:0; }
.venue { display:block; margin-top:.1rem; font-style:italic; color:var(--muted); }
.author-marker { font-size:.7em; margin-left:1px; }
.publication-notes { font-size:.95rem; line-height:1.4; margin-top:1.25rem; }
.distinction { color:var(--link); font-weight:700; margin:0 .25rem; }
.links { display:inline-block; margin-top:.1rem; }
.links a { display:inline-block; margin:0 .25rem 0 0; padding:0 .15rem; }
.links a::before { content:"["; opacity:.8; }
.links a::after { content:"]"; opacity:.8; }
.anchor-target { display:block; }
/* Media adopts the reference Talks page's year headings and text lists. */
.media-page h2 { margin-top:1rem; margin-bottom:.5rem; font-size:1.25rem; }
.media-entry > a { font-weight:600; }
.media-meta { color:var(--muted); }
.media-links { display:inline-block; }
.media-entry { margin-bottom:.5rem; }
footer.site-footer { max-width:var(--maxw); margin:0 auto; padding:var(--pad); text-align:center; border-top:2px solid var(--rule); color:#555; }
@media(max-width:640px) {
 header .profile { flex-direction:column; align-items:flex-start; }
 header .avatar { width:122px; height:153px; }
 .nav { gap:.7rem; }
 ul { padding-left:1rem; }
 .social-links { flex-wrap:wrap; }
 .email-instructions { display:inline-block; }
}
@media print {
 :root { --text:#000; --muted:#333; --rule:#ccc; }
 a { color:#000; text-decoration:underline; }
 li { break-inside:avoid; }
 main,.container { margin:0; max-width:100%; }
}

/* Prose wrapping is shared across pages; typography and container widths stay unchanged.
   Opt descriptive course, honor, service, and narrative lists into prose-list; bibliographic metadata and controls remain excluded. */
main :is(p, .prose-list > li, .media-description) { text-wrap:pretty; }
@supports (text-wrap:balance) {
 main :is(p, .prose-list > li, .media-description) { text-wrap:balance; }
}
/* Navigation, bibliographic metadata, and resource rows retain their natural wrapping. */
main :is(nav, .more-link, .back-home, .text-links, .student-actions,
 .publication-year, .publication-entry, .publication-notes, .publication-author,
 .publication-term, .venue, .author-marker, .distinction, .links,
 .media-meta, .media-links, .review-venues),
main :is(nav, .publication-year, .publication-entry, .review-venues) :is(p, li) {
 text-wrap:wrap;
}
.media-description { display:block; }
.media-entry .media-links { display:block; text-wrap:wrap; }

/* Keep short journal-name lists from ending with a stranded conjunction. */
main .review-venues > li { text-wrap:pretty; text-wrap:balance; }
