@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{color:#111827;background:#f8f9fb;font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;background:#f8f9fb;color:#111827}button,input{font:inherit}mark{background:#fef3c7;color:#92400e;border-radius:2px;padding:0 1px}.app-shell{min-height:100vh}.app-header{background:#fff;border-bottom:1px solid #e5e7eb}.app-header__inner{max-width:960px;height:52px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:12px}.app-header__brand-mark{width:26px;height:26px;border-radius:6px;background:#1e40af;display:flex;align-items:center;justify-content:center}.app-header__title{font-size:14.5px;font-weight:700;letter-spacing:-.2px}.app-header__spacer{flex:1}.app-header__meta,.results-count{font-family:IBM Plex Mono,monospace;color:#6b7280}.app-header__meta{font-size:12px;color:#9ca3af}.app-content{max-width:960px;margin:0 auto;padding:24px 24px 60px}.search-field{position:relative;display:block;margin-bottom:14px}.search-field__icon{position:absolute;top:50%;left:14px;transform:translateY(-50%);color:#9ca3af;display:inline-flex}.search-field__input{width:100%;padding:10px 16px 10px 42px;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#111827;font-size:14px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.search-field__input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f620}.search-field__input::placeholder{color:#9ca3af}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:20px}.toolbar__divider{width:1px;height:20px;margin:0 4px;background:#e5e7eb}.toolbar__spacer{flex:1}.clear-filters{border:0;padding:0;background:none;color:#6b7280;font-size:13px;cursor:pointer}.clear-filters:hover{color:#111827;text-decoration:underline}.dropdown{position:relative}.dropdown__trigger{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;background:#fff;border:1px solid #d1d5db;border-radius:7px;color:#374151;font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.dropdown__trigger:hover{border-color:#9ca3af}.dropdown__trigger--active{border-color:#3b82f6;background:#eff6ff;color:#1d4ed8}.dropdown__trigger svg{transition:transform .2s ease}.dropdown__badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#3b82f6;color:#fff;font-size:11px;font-weight:600}.dropdown__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;border:0;padding:0;background:transparent;cursor:default}.dropdown__panel{position:absolute;top:calc(100% + 4px);left:0;z-index:60;min-width:260px;max-height:280px;overflow-y:auto;padding:5px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 40px #0000001a,0 2px 8px #0000000a}.dropdown__search{position:sticky;top:0;z-index:1;margin-bottom:4px;padding:4px;background:#fff}.dropdown__search-input{width:100%;padding:8px 10px;border:1px solid #d1d5db;border-radius:7px;background:#f9fafb;color:#111827;font-size:13px;outline:none}.dropdown__search-input:focus{border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61f}.dropdown__empty{padding:10px 12px 12px;color:#9ca3af;font-size:13px}.dropdown__option{width:100%;display:flex;align-items:center;gap:10px;padding:7px 10px;border:0;border-radius:6px;background:none;color:#374151;font-size:13.5px;text-align:left;cursor:pointer}.dropdown__option:hover{background:#f3f4f6}.dropdown__checkbox{width:17px;height:17px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1.5px solid #d1d5db;border-radius:4px;color:#fff;transition:border-color .1s ease,background .1s ease}.dropdown__checkbox--selected{background:#3b82f6;border-color:#3b82f6}.dropdown__panel::-webkit-scrollbar{width:5px}.dropdown__panel::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:999px}.project-list{display:flex;flex-direction:column;gap:10px}.project-card{padding:20px 24px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.project-card--expanded{margin-bottom:8px}.project-card:hover{border-color:#bfdbfe;box-shadow:0 1px 6px #3b82f614}.project-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.project-card__status{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.project-card__title{margin:0;flex:1;min-width:0;font-size:15px;font-weight:600;line-height:1.45}.project-card__supervisors{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.project-card__topics{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.project-card__description{white-space:pre-wrap;color:#4b5563;font-size:13.5px;line-height:1.75}.project-card__description strong{color:#111827;font-weight:600}.project-card__toggle{font-size:12px;color:#9ca3af}.project-card__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.project-card__link{color:#1d4ed8;font-size:12px;font-weight:600;text-decoration:none}.project-card__link:hover{text-decoration:underline}.project-tag{display:inline-flex;align-items:center;flex-shrink:0;padding:2px 9px;border-radius:4px;font-size:12px;font-weight:500;font-family:IBM Plex Mono,monospace;white-space:nowrap}.project-tag--supervisor{background:#f3f4f6;color:#4b5563}.project-tag--campus-yes{background:#fef3c7;color:#92400e}.project-tag--campus-no{background:#ecfdf5;color:#065f46}.project-tag--topic{background:#eff6ff;color:#1d4ed8}.project-tag--wam{background:#fee2e2;color:#991b1b}.empty-state{padding:80px 20px;color:#9ca3af;font-size:14px;text-align:center}@media (max-width: 640px){.app-header__inner,.app-content{padding-left:16px;padding-right:16px}.project-card{padding:18px}.project-card__header{flex-direction:column}.project-card__status{justify-content:flex-start}.project-card__footer{flex-direction:column;align-items:flex-start}.toolbar__spacer{display:none}.results-count{width:100%}}
