:root{color-scheme:light dark;--bg: #0f1114;--surface: #181c22;--border: #2a313c;--text: #e8eaef;--muted: #8b939f;--accent: #7eb8da;font-family:DM Sans,system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.55}*{box-sizing:border-box}body{margin:0;min-height:100vh}#app{max-width:42rem;margin:0 auto;padding:2rem 1.25rem 4rem}#app.faculty-directory{max-width:min(72rem,96vw)}#app.faculty-profile-view{max-width:min(56rem,96vw)}.faculty-home{width:100%}.site-header{margin-bottom:2.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.site-kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0 0 .35rem}.site-title{font-family:Fraunces,Georgia,serif;font-weight:500;font-size:2rem;letter-spacing:-.03em;margin:0 0 .5rem}.site-lede{margin:0;color:var(--muted);font-size:.98rem}.college-section{margin-bottom:2.5rem}.college-section:last-child{margin-bottom:0}.college-heading{font-family:Fraunces,Georgia,serif;font-weight:500;font-size:1.25rem;letter-spacing:-.02em;margin:0 0 1rem;color:var(--accent)}.college-nav{margin:0 0 1.75rem;padding:0 0 1.25rem;border-bottom:1px solid var(--border)}.college-nav-lead{margin:0 0 .5rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.college-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem 1rem}.college-nav-link{color:var(--accent);text-decoration:none;font-size:.95rem}.college-nav-link:hover{text-decoration:underline}.bust-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:1rem 1.1rem}.bust-card{display:flex;flex-direction:column;align-items:stretch;gap:.55rem;text-decoration:none;color:inherit;border-radius:10px;padding:.5rem;margin:-.5rem;transition:background .15s ease}.bust-card:hover{background:#7eb8da14}.bust-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bust-frame{border-radius:10px;overflow:hidden;border:1px solid var(--border);background:#252a33;aspect-ratio:1}.bust-thumb{width:100%;height:100%;object-fit:cover;display:block;vertical-align:middle}.bust-thumb.placeholder{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:1.75rem}.bust-name{font-size:.88rem;line-height:1.3;text-align:center;font-weight:500}.crumb{margin-bottom:1.25rem}.crumb-link{color:var(--accent);font-size:.92rem;text-decoration:none}.crumb-link:hover{text-decoration:underline}.research-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.research-section-title{font-family:Fraunces,Georgia,serif;font-size:1.1rem;font-weight:500;margin:0 0 .65rem;color:var(--accent)}.research-section-lede{margin:0 0 .5rem;font-size:.88rem;color:var(--muted)}.research-subheading{font-size:1rem;font-weight:600;margin:1rem 0 .5rem;color:var(--text)}.research-list{margin:0;padding-left:1.15rem}.research-list li{margin-bottom:.4rem}.research-md{font-size:.98rem;line-height:1.55}.research-md p{margin:0 0 .65rem}.research-md p:last-child{margin-bottom:0}.research-md ul{margin:.5rem 0;padding-left:1.15rem}.research-md h2,.research-md h3{font-family:Fraunces,Georgia,serif;font-size:1.05rem;font-weight:500;margin:.75rem 0 .5rem;color:var(--text)}.biblio-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.biblio-heading{font-family:Fraunces,Georgia,serif;font-size:1.1rem;font-weight:500;margin:0 0 .65rem;color:var(--accent)}.biblio-group{margin-bottom:1rem}.biblio-group:last-child{margin-bottom:0}.biblio-subheading{font-family:Fraunces,Georgia,serif;font-size:.98rem;font-weight:500;margin:0 0 .45rem;color:var(--text)}.biblio-list{margin:0;padding-left:1.15rem}.biblio-list li{margin-bottom:.4rem}.biblio-link{color:var(--accent);text-decoration:none}.biblio-link:hover{text-decoration:underline}.meta-label{color:var(--muted);font-size:.78rem;margin-right:.25rem}h1{font-family:Fraunces,Georgia,serif;font-weight:500;font-size:1.65rem;letter-spacing:-.02em;margin:0 0 .35rem}.sub{color:var(--muted);font-size:.95rem;margin:0 0 1.5rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.profile-body{border-top:1px solid var(--border);padding:0 1.25rem 1.25rem}.profile-section-title{font-family:Fraunces,Georgia,serif;font-size:1.15rem;font-weight:500;margin:0 0 .65rem;color:var(--text)}.about-section,.suggested-section,.collab-section,.works-section,.colleges-section,.infl-section,.wiki-section,.bio-dl-section,.corpus-section{margin-top:1.35rem}.about-body{font-size:.98rem;line-height:1.55;white-space:pre-wrap}.patron-strip{margin-top:.5rem;display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem;padding:.35rem .65rem;border-radius:999px;border:1px solid rgba(212,165,55,.45);background:#d4a53714;font-size:.82rem}.patron-label{font-weight:600;color:#d4b870}.patron-name{color:var(--text)}.rank-strip{margin-top:.65rem}.rank-pill{display:inline-block;padding:.25rem .65rem;border-radius:999px;font-size:.82rem;font-weight:500;background:#7eb8da26;color:var(--accent);border:1px solid rgba(126,184,218,.35)}.fields-block{margin-top:1rem}.fields-label{font-size:.82rem;font-weight:600;margin:0 0 .4rem;color:var(--muted)}.field-chips{display:flex;flex-wrap:wrap;gap:.35rem}.field-chip,.college-chip{font-size:.78rem;padding:.25rem .55rem;border-radius:999px;background:#7eb8da1f;color:var(--accent);border:1px solid rgba(126,184,218,.28)}.college-chip.primary{background:#7eb8da38}.influence-link{font-size:.82rem;padding:.25rem .55rem;border-radius:999px;background:#9399e626;color:#b8bdf5;border:1px solid rgba(147,153,230,.35);text-decoration:none}.influence-link:hover{text-decoration:underline}.suggested-list{margin:0;padding-left:1.25rem}.suggested-list li{margin-bottom:.5rem}.suggested-num{font-weight:600;color:var(--accent);margin-right:.35rem}.works-group{margin-bottom:1rem}.works-group-title{font-size:.88rem;font-weight:600;margin:0 0 .35rem;color:var(--muted)}.work-source{font-size:.78rem;color:var(--muted)}.bio-dl{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;font-size:.92rem}.bio-dl dt{font-weight:600;color:var(--muted)}.corpus-texts-label{font-size:.88rem;font-weight:600;margin:.75rem 0 .35rem}.corpus-more{margin-top:.5rem}.corpus-more summary{cursor:pointer;color:var(--accent);font-size:.88rem}.support-panel{margin-top:1.75rem;padding:1.25rem 1.35rem;border:1px solid var(--border);border-radius:12px;background:#181c22eb}.support-panel-header{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.65rem}.support-panel-title{font-family:Fraunces,Georgia,serif;font-size:1.12rem;font-weight:500;margin:0;color:var(--text);letter-spacing:-.02em}.support-oc-brand{font-size:.72rem;color:var(--muted);flex-shrink:0}.support-goal-line{margin:0 0 1rem;font-size:.92rem;color:var(--text);line-height:1.45}.support-field{margin-bottom:1rem}.support-label{display:block;font-size:.72rem;font-weight:600;color:var(--muted);margin-bottom:.35rem}.support-amount-input{width:100%;max-width:14rem;padding:.55rem .65rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:.95rem}.support-amount-input:focus{outline:2px solid rgba(126,184,218,.45);outline-offset:1px}.support-cta-wrap{margin:0 0 .75rem;text-align:center}.support-cta{display:inline-flex;align-items:center;gap:.35rem;color:var(--accent);font-weight:600;font-size:.98rem;text-decoration:none}.support-cta:hover{text-decoration:underline}.support-ext-icon{flex-shrink:0;opacity:.9}.support-footnote{margin:0;font-size:.78rem;line-height:1.4}.muted{color:var(--muted)}.italic{font-style:italic}.layout{display:grid;gap:1.25rem;padding:1.25rem}@media (min-width: 520px){.layout{grid-template-columns:140px 1fr;align-items:start}}.portrait{width:100%;aspect-ratio:1;border-radius:8px;object-fit:cover;background:#252a33}.portrait.placeholder{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:2rem}.body-text p{margin:0 0 .85rem;font-size:.98rem}.body-text p:last-child{margin-bottom:0}.meta{font-size:.82rem;color:var(--muted);margin-top:1rem;word-break:break-all}.banner{padding:1rem 1.25rem;border-radius:8px;border:1px dashed var(--border);color:var(--muted);font-size:.95rem}.banner a{color:var(--accent)}.error{color:#f0a8a8}.loading{color:var(--muted)}code{font-size:.88em;background:#252a33;padding:.12em .35em;border-radius:4px}
