@import"https://fonts.googleapis.com/css?family=Roboto&display=swap";:root{--primary: #396dff;--primary--dim: #6987db;--darkgrey: #d4d4d4;--medgrey: #e0e0e0;--grey: #f7f7f7;--white: #fff;--xs: 4px;--s: 8px;--m: 16px;--l: 24px}body{margin:0;padding:0;font-family:Roboto,sans-serif;font-weight:300}form{flex-grow:1}.u-flex{display:flex}.u-flexColumn{display:flex;flex-direction:column}.u-flex-justifyCenter{justify-content:center}.u-flex-alignCenter{align-items:center}.u-inlineBlock{display:inline-block}.u-bold{font-weight:600}.u-textCenter{text-align:center}.u-relative{position:relative}.u-pointer{cursor:pointer}.u-link{color:var(--primary);text-decoration:none;cursor:pointer}.u-link:hover{color:var(--primary--dim)}.skeleton-layout{display:grid;grid-template-columns:20% 60% 20%;grid-template-rows:auto 1fr;height:100vh}.left-sidebar{grid-column:1;background-color:#1a1a1a;color:#fff;padding:20px;display:flex;flex-direction:column;justify-content:space-between}.main-content{grid-column:2;padding:20px;overflow-y:auto}.feed .post{background-color:#fff;margin-bottom:10px;padding:15px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.right-sidebar{grid-column:3;padding:20px;background-color:#f9f9f9;overflow-y:auto}.profile-card{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.trends,.readings,.research{margin-bottom:20px;background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.trends ul{list-style:none;padding:0}.trends li{margin:5px 0}.pdf-preview,.repo{margin:10px 0;padding:10px;background-color:#e0e0e0;border-radius:4px;text-align:center}.repo{border-radius:50%;width:80px;height:80px;display:flex;align-items:center;justify-content:center;margin:10px auto}.skeleton-content{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:20px}.feed,.planner,.assistant,.compose,.messages,.user-settings{background-color:#f9f9f9;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.readings .pdf-preview{margin:10px 0;padding:20px;background-color:#fff;border:2px dashed #cccccc;border-radius:4px;text-align:center;height:100px;display:flex;align-items:center;justify-content:center}.navbar{display:flex;flex-direction:column;height:100%;background-color:#1a1a1a;color:#fff;padding:10px}.navbar ul{list-style:none;padding:0}.navbar li{margin:10px 0;cursor:pointer}.navbar li:hover{color:#ccc}.nav-item{color:#fff;text-decoration:none;margin-bottom:10px;position:relative;padding-left:20px}.nav-item:hover,.active-link{color:#4285f4}.active-link:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3.5px;height:100%;background-color:#4285f4;border-radius:2px}.header{grid-column:1 / span 3;background-color:#1a1a1a;padding:10px;display:flex;align-items:center;justify-content:flex-end;position:relative}.logo{font-size:24px;font-weight:700;color:#fff;letter-spacing:2px;text-transform:uppercase;position:absolute;left:6%}.logo:after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:3px;background-color:#4285f4;border-radius:2px}.search-bar{padding:5px 10px;border-radius:4px;border:none;width:200px}.logout-button{background-color:#4285f4;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s;margin-left:auto}.logout-button:hover{background-color:#357abd}.google-login-container{border-radius:4px;overflow:hidden}.google-login-container div[role=button]{background-color:#4285f4!important;color:#fff!important;padding:10px 20px!important;font-family:inherit!important;font-size:14px!important;transition:background-color .2s!important}.google-login-container div[role=button]:hover{background-color:#357abd!important}.auth-link{font-size:20px;font-weight:700;color:#fff;letter-spacing:2px;text-transform:uppercase;position:relative;margin-left:20px;cursor:pointer}.auth-link:after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:3px;background-color:#4285f4;border-radius:2px}.auth-link:hover{color:#4285f4}.profile-card{background-color:#fff;border-radius:12px;box-shadow:0 4px 8px #0000001a;padding:20px;text-align:center;max-width:300px;margin:20px auto}.profile-picture{width:150px;height:150px;border-radius:50%;overflow:hidden;margin:0 auto 20px;border:3px solid #fff;box-shadow:0 0 10px #0000001a}.profile-image{width:100%;height:100%;object-fit:cover}.profile-info h2{color:#333;margin-bottom:10px;font-size:1.5em}.profile-info p{color:#666;margin:5px 0;font-size:1em}.verification-status{margin:15px 0;padding:8px;border-radius:4px}.verification-status.verified{color:#4caf50;background-color:#4caf501a}.verification-status a{color:#007bff;text-decoration:none}.verification-status a:hover{text-decoration:underline}.bluesky-status{margin:15px 0}.bluesky-status.connected{color:#4caf50}.bluesky-status button{background-color:#1da1f2;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;transition:background-color .2s}.bluesky-status button:hover{background-color:#1991db}.bluesky-form{display:flex;flex-direction:column;gap:10px;margin-top:15px}.bluesky-form input{padding:8px;border:1px solid #ddd;border-radius:4px;color:#333}.bluesky-form button{background-color:#1da1f2;color:#fff;border:none;padding:8px;border-radius:4px;cursor:pointer;transition:background-color .2s}.bluesky-form button:hover{background-color:#1991db}.error-message{color:#dc3545;font-size:.9em;margin-top:5px}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin:20px 0}.stat-item{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;background-color:#f8f9fa;border-radius:8px}.stat-item .icon{width:20px;height:20px}.stat-item .text{color:#666;font-size:.9em}.verified-info{display:flex;align-items:center;justify-content:center;gap:10px;margin:15px 0;padding:10px;background-color:#4caf501a;border-radius:8px}.institution-logo{width:30px;height:30px;object-fit:contain}.degree-info{color:#4caf50;font-size:.9em}.button-group{display:flex;gap:10px;justify-content:center;margin-top:10px}.button-group button{flex:1}.right-sidebar{padding:20px;background-color:#f9f9f9;overflow-y:auto}.search-bar{padding:5px 10px;border-radius:4px;border:none;width:100%;margin-bottom:20px}.paper-preview{position:relative;width:200px;height:280px;border:2px dashed #bbb;border-radius:4px;padding:10px;margin-bottom:15px;background-color:#fff;box-shadow:0 2px 4px #0000001a;overflow:hidden}.paper-preview:before{content:"";position:absolute;top:0;right:0;width:30px;height:30px;background-color:#f9f9f9;border-top:2px dashed #bbb;border-right:2px dashed #bbb;transform:rotate(45deg);transform-origin:top right}.paper-content{font-size:.7em;color:#aaa;line-height:1.2;text-align:justify;filter:blur(1px)}.paper-title{font-size:1em;font-weight:700;color:#007bff;text-decoration:none;margin-bottom:5px;display:block}.paper-title:hover{text-decoration:underline}.paper-summary{font-size:.9em;color:#555;margin-top:5px}.upcoming-conferences{padding:20px;background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.upcoming-conferences h3{font-size:18px;color:#333;margin-bottom:10px}.upcoming-conferences ul{list-style-type:none;padding:0}.upcoming-conferences li{margin-bottom:15px}.upcoming-conferences a{color:#0073e6;text-decoration:none}.upcoming-conferences a:hover{text-decoration:underline}.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;text-align:center;background-color:#f9f9f9}.not-found h1{font-size:3em;color:#343a40;margin-bottom:16px}.not-found p{color:#6c757d;font-size:1.2em}.certificate-verifier{max-width:800px;margin:40px auto;padding:30px;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a}.certificate-verifier h2{color:#2c3e50;text-align:center;margin-bottom:30px;font-size:28px}.file-upload-container{display:flex;flex-direction:column;align-items:center;padding:40px;border:2px dashed #3498db;border-radius:8px;margin-bottom:30px;background:#f8fafc;transition:all .3s ease}.file-upload-container:hover{border-color:#2980b9;background:#f1f7fc}.file-upload-container input[type=file]{display:none}.upload-button{background:#3498db;color:#fff;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:16px;border:none;transition:background .3s ease;margin-bottom:10px}.upload-button:hover{background:#2980b9}.upload-text{color:#7f8c8d;margin-top:10px;font-size:14px}.loading-spinner{display:flex;justify-content:center;align-items:center;margin:20px 0}.loading-spinner:after{content:"";width:30px;height:30px;border:3px solid #f3f3f3;border-top:3px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error{background:#fee2e2;border:1px solid #ef4444;color:#b91c1c;padding:12px;border-radius:6px;margin:20px 0;text-align:center}.verification-result{background:#f8fafc;border-radius:8px;padding:20px;margin-top:30px}.verification-result h3{color:#2c3e50;margin-bottom:20px;font-size:20px;border-bottom:2px solid #e2e8f0;padding-bottom:10px}.verification-result p{margin:12px 0;font-size:16px;color:#4a5568}.status-success{color:#059669;font-weight:700}.status-failure{color:#dc2626;font-weight:700}.result-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #e2e8f0}.result-row:last-child{border-bottom:none}.result-label{font-weight:600;color:#4a5568}.result-value{color:#2c3e50}.update-status{margin:20px 0;padding:12px;border-radius:6px;text-align:center}.update-status.success{background:#dcfce7;border:1px solid #22c55e;color:#166534}.institution-logo{width:50px;height:auto;margin-right:10px}.research-page{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;padding:10px;height:calc(100vh - 64px);overflow:hidden}.quadrant{background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 4px #0000001a;position:relative;padding:15px;overflow:hidden;display:flex;flex-direction:column}.forums a{display:block;height:100%;width:100%;position:relative}.forums .paper-stack{position:relative;height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.forums .paper{position:absolute;width:68%;height:96%;border:2px dashed #bbb;border-radius:4px;padding:15px;background-color:#fff;box-shadow:0 2px 4px #0000001a;overflow:hidden;transform-origin:center}.forums .paper:first-child{transform:rotate(-5deg) translateY(-5%);z-index:1}.forums .paper:last-child{transform:rotate(3deg) translateY(5%);z-index:2}.forums .paper:before{content:"";position:absolute;top:0;right:0;width:30px;height:30px;background-color:#f9f9f9;border-top:2px dashed #bbb;border-right:2px dashed #bbb;transform:rotate(45deg);transform-origin:top right}.forums .overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;color:#333;opacity:.8;z-index:3;background-color:#fffc;padding:10px 20px;border-radius:4px;box-shadow:0 2px 4px #0000001a}.forums .paper .paper-title{font-size:.8em;font-weight:700;color:#333;margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.forums .paper .paper-content{font-size:.7em;color:#666;margin:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;line-height:1.4}.recent-papers{overflow:hidden}.recent-papers ul{overflow-y:auto;margin:0;padding-right:8px;flex:1}.recent-papers li,.journals li{margin-bottom:10px}.recent-papers a{color:#0073e6;text-decoration:none}.recent-papers a:hover{text-decoration:underline}.code-editor{background-color:#2d2d2d;border-radius:8px;box-shadow:inset 0 0 10px #00000080;color:#f8f8f2;font-family:Fira Code,Courier New,Courier,monospace;padding:10px;overflow:hidden;position:relative;height:100%}.code-editor:before{content:"GAP Code Editor";position:absolute;top:10px;left:20px;font-size:14px;color:#f8f8f2;opacity:.7}.code-editor pre{margin:0;padding-top:10px;height:calc(100% - 30px);overflow-y:auto}.code-line{display:flex;padding:0 4px;min-height:1.4em}.code-line:hover{background-color:#ffffff0d}.line-number{width:40px;color:#666;text-align:right;padding-right:12px;-webkit-user-select:none;user-select:none}.line-content{padding-left:12px;border-left:1px solid #444;white-space:pre}.code-editor code{display:block;white-space:pre;color:#a6e22e;font-size:14px;line-height:1.4}.comment{color:#75715e;font-style:italic}.function{color:#66d9ef;font-weight:700}.keyword{color:#f92672}.string{color:#e6db74}.journals{overflow:hidden}.journal-list{overflow-y:auto;margin:0;padding-right:8px;flex:1}.journal-item{margin-bottom:12px;transition:transform .2s ease}.journal-item:hover{transform:translate(5px)}.journal-link{display:block;text-decoration:none;color:inherit;padding:8px;border-radius:4px;background-color:#fff;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s ease}.journal-link:hover{box-shadow:0 2px 5px #0003}.journal-name{display:block;font-weight:700;color:#0073e6;margin-bottom:4px;font-size:.9em}.journal-details{display:flex;gap:10px;font-size:.8em;color:#666}.journal-impact{color:#2ecc71;font-weight:700}.journal-quartile{background-color:#3498db;color:#fff;padding:2px 6px;border-radius:3px;font-size:.8em}.journal-country{color:#95a5a6}.quadrant h3{margin:0 0 10px;font-size:1em}.forums{cursor:pointer;transition:transform .2s ease}.forums:hover{transform:scale(1.02)}.forums:hover .paper{border-color:#0073e6}.forums:hover .overlay{background-color:#ffffffe6;color:#0073e6}.floating-post-container{position:absolute;padding:20px;bottom:20px;right:20px;z-index:1000;transition:all 1s ease}.post-button-container{position:absolute;display:flex;align-items:flex-end;justify-content:flex-end}.floating-post-button{position:absolute;right:7px;bottom:7px;background-color:#007bff;color:#fff;border:none;border-radius:20%;width:50px;height:50px;font-size:18px;cursor:pointer;box-shadow:0 4px 6px #0000001a;transition:all .3s ease;z-index:2;display:flex;align-items:center;justify-content:center}.floating-post-button:hover{background-color:#0056b3}.floating-post-container.expanded{width:400px;height:200px;border-radius:10px;font-size:24px}.post-box{bottom:0;left:0;width:90%;height:100%;background-color:#fff;padding:20px;border-radius:10px;box-shadow:0 4px 6px #0000001a;opacity:0;transition:opacity .3s ease .3s;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.floating-post-container.expanded .post-box{opacity:1}textarea{width:100%;padding:10px;border:1px solid #ccc;border-radius:5px;font-size:14px;resize:none;margin-bottom:10px}button{padding:8px 16px;background-color:#007bff;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:14px}button:disabled{background-color:#ccc;cursor:not-allowed}.error-message{color:red;font-size:12px;margin-top:5px}.success-message{color:green;font-size:12px;margin-top:5px}.bluesky-feed{width:100%;margin:0 auto;padding:20px;background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 4px #0000001a}.bluesky-feed ul{list-style-type:none;padding:0}.bluesky-feed li{margin-bottom:20px;padding:15px;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.post-content{font-size:16px;color:#333}.post-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.post-author{font-weight:700;color:#0073e6}.post-date{font-size:14px;color:#999}.loading,.error{text-align:center;font-size:18px;color:#666}.feed-title{font-size:24px;font-weight:700;color:#1a1a1a;text-align:center;position:relative;margin-bottom:20px}.feed-title:after{content:"";position:absolute;left:50%;transform:translate(-47.5%);bottom:-5px;width:105%;height:3px;background-color:#4285f4;border-radius:2px}.ai-assistant{height:calc(100vh - 64px);display:flex;justify-content:center;align-items:center;padding:12px;background-color:#f9f9f9}.chat-container{width:100%;height:80%;max-height:calc((100vh - 88px)*.8);background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;overflow:hidden}.chat-header{padding:12px 16px;background-color:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center}.chat-header h2{margin:0;font-size:1.2em;color:#343a40}.settings-button{background:none;border:none;font-size:1.2em;cursor:pointer;padding:5px;border-radius:4px;transition:background-color .2s}.settings-button:hover{background-color:#e9ecef}.api-key-config{padding:16px;background-color:#f5f5f5;border-radius:8px;margin-bottom:16px}.config-error{color:red;margin-top:8px;font-size:.9em}.api-key-config input{flex:1;padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:.9em}.api-key-config button{padding:8px 16px;background-color:#0073e6;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.api-key-config button:hover{background-color:#0056b3}.messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.message{max-width:80%;margin:8px;padding:12px;border-radius:8px}.message.user{background-color:#e3f2fd;margin-left:auto}.message.assistant{background-color:#f5f5f5}.input-form{padding:12px 16px;border-top:1px solid #e9ecef;display:flex;gap:8px}.input-form input{flex:1;padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:.95em;height:36px}.input-form button{padding:8px 16px;background-color:#0073e6;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s;height:36px;display:flex;align-items:center;justify-content:center}.input-form button:hover{background-color:#0056b3}.input-form input:focus,.api-key-config input:focus{outline:none;border-color:#0073e6;box-shadow:0 0 0 2px #0073e633}.message-content{line-clamp:3;-webkit-line-clamp:3;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.loading-dots{color:#666;font-style:italic}.input-form button:disabled{opacity:.5;cursor:not-allowed}
