:root{--bg-color: #ffffff;--text-color: hsl(0, 0%, 0%);--text-primary: #000000;--text-secondary: #000000;--accent-color: #333333;--card-bg: #ffffff;--border-color: #000000;--hover-bg: #f5f5f5;--primary-color: #000000;--primary-dark: #000000;--primary-light: #eff6ff;--font-heading: "Outfit", sans-serif;--font-body: "Inter", sans-serif}[data-theme=dark]{--bg-color: #1a1d21;--text-color: #e0e0e0;--text-primary: #ffffff;--text-secondary: #ababad;--accent-color: #36c5f0;--card-bg: #222529;--border-color: #3d4043;--hover-bg: #2c2f33;--primary-color: #36c5f0;--primary-dark: #1d9bd1;--primary-light: #2c3e50}.theme-toggle{position:fixed;top:1rem;right:1rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:50%;width:44px;height:44px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:all .3s ease;z-index:1000;box-shadow:0 2px 8px #0000001a}.theme-toggle:hover{transform:scale(1.1);box-shadow:0 4px 12px #00000026}.theme-toggle .sun-icon{display:none}.theme-toggle .moon-icon,[data-theme=dark] .theme-toggle .sun-icon{display:block}[data-theme=dark] .theme-toggle .moon-icon{display:none}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-body);min-height:100vh;line-height:1.6}#app{max-width:1000px;margin:0 auto;padding:4rem 2rem;padding-bottom:60px}header{margin-bottom:4rem}h1{font-family:var(--font-heading);font-size:3.5rem;font-weight:800;letter-spacing:-.03em;margin:0;color:var(--text-primary)}header p{color:var(--text-secondary);font-size:1.2rem;margin-top:.5rem;font-weight:400}.search-section{max-width:800px;margin:0 auto 2rem}.search-container{display:flex;justify-content:center;margin-bottom:1.5rem}.search-container input{background:#0000000d url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAUCAYAAABvVQZ0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQBJREFUeNqslI0RgyAMhdENWIEVWMEVXIGO0BW6Ah2hHcGOoCPYEewINFzBe9IA9id37w4kfEZesHHOCSYUqSPJML+RJlELDwN1pMHxMZNMkr8RTgyz2YPH5LmtwXpIHkOFmKhIlxowDmYAycKnHAHYcTCsSpXOJCie6YWDnXKLGeHLN2stGaqDsXXrX3GFcYcLrfhjtKEhffQ792gYT2nT6pJDjCw4z7ZGdGipOIqNbXIwFUARmCbKpMfYxsWJBmCEDoW7+gYUTAU2s3HJrK3AJvMLkqGHFLgWXTckm+SfSQexs+tLRqwVfgvjgMsvMAT689S5M/sk/I14kO5PAQYAuk6L1q+EdHMAAAAASUVORK5CYII=) no-repeat 14px center;text-indent:1em;display:inline-block;border:0 none;width:100%;height:3em;border-radius:3em;outline:none;padding:0 1.5em;cursor:text;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-weight:inherit;font-size:1.1rem;font-family:inherit;color:var(--text-primary)}[data-theme=dark] .search-container input{background-color:#ffffff1a;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAUCAYAAABvVQZ0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAT5JREFUeNqsVLtOw0AQtIMlRJHCEhUVMg398QEUSZnSfILzCXxDPsFu6XAJHWnTcS1lWsprKdmLxtKwvjVBYaTV7cm+udnX5fPb+yyBSmwhVmK/FfPZLyjUPhI8YtXYi23EOovs7PzyevAbsWeoGg5HNUHsCipX8F9TZDOstVgLPxIsxW6w3sHv6dJ2StkLbh6IPtR/AWRfSIET20H9D2U1hfaAgxY2KMagcBSmg9/rmwx0lBqTzGfHoVfVHxXgXzCjHNRHnnHke4vMGc2q0RBR0GSeCLlpLaJGFWKUszVuib32nih7iTFrjXAPyGnQ48c3Gu5AOVlMtMk6NZuf+FiC+AIhV0T+pBQ5ntXceIJKqKko2duJ2TwoLAz5QTVnagJaXWEO8y/wSMuKH9RTJoCTHyNZFidOUEfNu/8WYAAOXUT04MOtlwAAAABJRU5ErkJggg==)}.search-container input:hover,.search-container input:focus{border:none;box-shadow:0 4px 12px #0000001a}.filters{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:.75rem}.filter-group label{font-weight:500;color:var(--text-secondary);font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}.filter-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.filter-btn{padding:.4rem .9rem;font-size:.85rem;font-weight:500;border:1px solid var(--border-color);border-radius:20px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;opacity:.5}.filter-btn:hover{border-color:var(--accent-color);color:var(--text-primary);opacity:.8}.filter-btn.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color);opacity:1}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin-bottom:2rem}.faculty-count{text-align:center;color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem;font-weight:500}.card{background:var(--card-bg);border:1px solid var(--border-color);padding:2rem;transition:all .2s ease;display:flex;flex-direction:column}.card:hover{border-color:var(--text-primary);transform:translateY(-2px);box-shadow:4px 4px #0000000d}.card h2{margin:0 0 .25rem;font-family:var(--font-heading);font-size:1.5rem;font-weight:700;-webkit-user-select:text;user-select:text;cursor:text}.card-header{display:flex;align-items:center;gap:1rem}.faculty-photo{width:60px;height:60px;border-radius:50%;object-fit:cover;flex-shrink:0}.card-header-text{flex:1;min-width:0}.card-content{margin-top:1.5rem;display:flex;flex-direction:column;flex-grow:1}.card-subtitle{color:var(--text-secondary);margin-bottom:.5rem;font-size:.9rem;font-weight:400;font-family:var(--font-body)}.card-links{display:flex;gap:1.5rem;margin-bottom:1rem}button.card-link{background:var(--hover-bg);border:1px solid var(--border-color);border-radius:6px;padding:.3rem .9rem;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-primary);transition:all .25s ease}button.card-link:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}button.card-link.copied{background:#22c55e;color:#fff;border-color:#22c55e}.card-link:not(button){color:var(--text-primary);text-decoration:none;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid transparent;transition:border-color .2s}.card-link:not(button):hover{border-color:var(--text-primary)}.copy-email-inline{background:none;border:none;color:var(--primary-color);cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-decoration:none;transition:all .25s ease}.copy-email-inline:hover{text-decoration:underline}.copy-email-inline.copied{color:#22c55e}.faculty-details{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.faculty-detail{display:flex;justify-content:space-between;align-items:baseline;font-size:.9rem;padding:.2rem 0;border-bottom:1px dotted var(--border-color)}.faculty-detail:last-child{border-bottom:none}.detail-label{color:var(--text-secondary);font-weight:500;flex-shrink:0;margin-right:1rem}.detail-value{text-align:right;color:var(--text-primary)}.detail-value a{color:var(--primary-color);text-decoration:none}.detail-value a:hover{text-decoration:underline}.achievements-section{margin-top:1.5rem}.achievements-header{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.achievements-heading{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0}.achievements-toggle{font-size:.7rem;color:var(--text-secondary);transition:transform .3s ease}.achievements-section:not(.collapsed) .achievements-toggle{transform:rotate(90deg)}.achievements-list{margin:.5rem 0 0;padding-left:1.2rem;list-style:disc;overflow:hidden;max-height:500px;opacity:1;transition:all .3s ease}.achievements-section.collapsed .achievements-list{max-height:0;opacity:0;margin-top:0}.achievements-list li{font-size:.9rem;color:var(--text-primary);padding:.2rem 0;line-height:1.4}.interest-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:2rem}.interest-tag{background:var(--hover-bg);color:var(--text-primary);padding:.3rem .8rem;font-size:.85rem;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s}.interest-tag:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.active-filter-banner{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.6rem 1.2rem;margin:0 auto 1.5rem;max-width:500px;background:var(--hover-bg);border:1px solid var(--border-color);border-radius:8px;font-size:.95rem;font-weight:500;color:var(--text-primary)}.active-filter-banner button{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--text-secondary);transition:color .2s}.active-filter-banner button:hover{color:var(--text-primary)}footer{position:fixed;bottom:0;left:0;right:0;padding:.75rem 0;text-align:center;background:var(--bg-color);border-top:1px solid var(--border-color);z-index:100}footer a{color:var(--text-secondary);text-decoration:none;font-size:.9rem;transition:color .2s}footer a:hover{color:var(--text-primary);text-decoration:underline}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.results-grid .card{animation:fadeIn .3s ease-out}@media(max-width:640px){h1{font-size:2.5rem}#app{padding:2rem 1rem}.results-grid{grid-template-columns:1fr}.filters{flex-direction:column;align-items:center}}
