body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.app-main-viewport{box-sizing:border-box;margin:0 auto;padding:10px}.header-container{background-color:#fff;border-bottom:1px solid #e5e7eb;box-sizing:border-box;padding:12px 16px;width:100%}.header-grid{align-items:center;display:grid;grid-template-columns:1fr 2fr 1fr;margin:0 auto}.header-left{display:flex;justify-content:flex-start;margin-left:18px}.header-center{display:flex;justify-content:center;text-align:center}.header-right{display:flex;justify-content:flex-end}.header-logo{height:40px;object-fit:contain;width:auto}.header-title{color:#2e34a4;font-size:1.2rem;font-weight:700;letter-spacing:-.025em;margin:0}@media (min-width:640px){.header-container{padding:12px 24px}.header-logo{height:40px}.header-title{font-size:1.5rem}}@media (min-width:768px){.header-title{font-size:1.6rem}.header-logo{height:60px}}.project-container{font-family:system-ui,-apple-system,sans-serif;margin:20px 0;width:100%}.table-wrapper{background:#fff;border:1px solid #e0e0e0;border-radius:8px;max-height:65vh;overflow-x:auto;overflow-y:auto;width:100%}.no-record{color:#666;font-family:system-ui;padding:20px;text-align:center}.project-table{border-collapse:collapse;font-size:.9rem;text-align:left;width:100%}.project-table th{background-color:#b0e0e6;border-bottom:2px solid #e0e0e0;color:#2d33b2;font-weight:600;position:-webkit-sticky;position:sticky;top:0;white-space:nowrap;z-index:2}.project-table td,.project-table th{border-right:1px solid #e0e0e0;padding:12px 16px}.project-table td{border-bottom:1px solid #e0e0e0;color:#333;vertical-align:top}.abstract-text{-webkit-box-orient:vertical;color:#666;display:-webkit-box;font-size:.85rem;max-width:250px;overflow:hidden}.table-link{border:1px solid #e0e0e0;border-radius:3px;color:#06c;cursor:pointer;display:inline;font-weight:500;padding:3px 5px;text-decoration:none;width:55px}.table-link:hover{font-weight:700}select{white-space:normal;width:100%}select option{word-wrap:break-word;max-width:250px;white-space:normal;word-break:break-word}@media screen and (max-width:768px){.project-table,.project-table tbody,.project-table td,.project-table tr{display:block}.project-table thead{display:none}.table-wrapper{background:#0000;border:none;overflow-x:hidden}.project-table tr{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:16px}.project-table td{border:none;font-size:.95rem;padding:0;text-align:left}.project-table td:not(:last-child) .cell-content-wrapper{border-bottom:1px solid #f0f0f0}.project-table td:before{background-color:#b0e0e6;color:#4636b2;content:attr(data-label);display:block;font-weight:700;padding:8px 12px}.cell-content-wrapper{padding:8px 12px}.abstract-text{display:inline-block;max-width:100%;text-align:left}.supervisor-photo{display:inline-block;height:80px;width:80px}}.page-container{padding:10px 20px}.page-container,.page-notes{font-family:system-ui,-apple-system,sans-serif}.page-notes{color:blue;font-size:.7rem;padding-bottom:10px}.loading-message{color:#555}.error-message,.loading-message{font-family:system-ui,-apple-system,sans-serif;padding:20px}.error-message{color:#e63946;font-weight:500}.filter-bar{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px;padding:15px}.filter-input,.filter-select{background-color:#fff;border:1px solid #ccc;border-radius:6px;color:#1d1d1f;flex:1 1 150px;font-family:inherit;font-size:.9rem;outline:none;padding:10px;transition:border-color .2s ease,box-shadow .2s ease}.filter-input{flex:1 1 200px}.filter-input:focus,.filter-select:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a}.supervisor-cell{align-items:center;display:flex;gap:12px}.supervisor-details{display:flex;flex-direction:column;gap:2px}.supervisor-name{color:#1d1d1f;font-weight:600}.project-title-text{color:#1d1d1f;font-weight:400}.research-metadata{color:#1d1d1f;font-size:.9rem}.research-label{font-weight:600}.research-tag{color:#888;font-style:italic;margin-top:4px}.results-counter{color:#666;font-size:.9rem;margin-top:10px;text-align:right}.btn-reset{background-color:#2e34a4;border:1px solid #2e34a4;border-radius:3px;color:#fff;cursor:pointer}.line-spacing{height:3px}.detail-page-container{background-color:#fff;font-family:system-ui,-apple-system,sans-serif;margin:.5em auto;max-width:1200px;padding:0 1rem}.detail-header{border-bottom:1px solid #e0e0e0;margin-bottom:2rem;padding-bottom:1rem;text-align:center}.detail-header-title{color:#1d1d1f;font-size:1.8rem;font-weight:600;margin:0}.detail-header-subtitle{color:#555;font-size:1.1rem;margin-top:.5rem}.detail-body-grid{grid-gap:2.5rem;display:grid;gap:2.5rem;grid-template-columns:2fr 1fr}.details-table{border:1px solid #d1d1d6;border-collapse:collapse;border-radius:8px;box-shadow:5px 5px 15px 0 #0003;overflow:hidden;width:100%}.details-table td{border-bottom:1px solid #d1d1d6;padding:1rem;vertical-align:top}.details-table tr:last-child td{border-bottom:none}.detail-label-cell{background-color:#b0e0e6;color:#2d33b2;font-size:.95rem;font-weight:600;width:150px}.detail-value-cell{color:#333;line-height:1.6}.supervisor-card{border:1px solid #d1d1d6;border-radius:8px;box-shadow:5px 5px 15px 0 #0003;height:-webkit-fit-content;height:fit-content;padding:1.5rem;text-align:center}.supervisor-photo{aspect-ratio:1/1;border:1px solid #eee;border-radius:4px;border-radius:50%;height:auto;margin:0 auto;max-width:200px;object-fit:cover;width:100%}.supervisor-card-name{color:#1d1d1f;font-size:1.25rem;font-weight:700;margin:1rem 0}.supervisor-contact-item{font-size:.9rem;margin-top:1rem;text-align:left}.supervisor-contact-item strong{color:#1d1d1f;display:block;margin-bottom:.25rem}.supervisor-contact-item a{color:#06c;text-decoration:none;word-break:break-all}.supervisor-contact-item a:hover{text-decoration:underline}.footer-box{display:flex;flex-direction:row;justify-content:center;margin-top:2rem;text-align:center}.footer-link{align-content:center;color:#06c;font-size:.8rem;margin-right:20px;text-decoration:none}.footer-message{color:#888;font-size:.8rem}@media screen and (max-width:900px){.detail-header-title{font-size:1rem;padding-top:.5rem}.detail-header-subtitle{font-size:.7rem}.detail-body-grid{grid-template-columns:1fr}.supervisor-card{grid-row:1}.details-table,.details-table tbody,.details-table td,.details-table tr{box-sizing:border-box;display:block;width:100%}.detail-label-cell{border-bottom:none;padding-bottom:8px;width:100%}.detail-value-cell{border-bottom:2px solid #d1d1d6;padding-top:0}.details-table tr:last-child .detail-value-cell{border-bottom:none}.filter-input,.filter-select{word-wrap:break-word;max-width:100%;overflow-wrap:break-word}}