@layer base{:root{--bg-primary:#fcfcfc;--bg-sidebar:#fff;--border-color:#e2e8f0;--text-primary:#0f172a;--text-secondary:#64748b;--accent-color:#00d4ff;--sidebar-width:260px;--right-sidebar-width:420px;--shadow-sm:0 1px 2px 0 #0000001a;--shadow-md:0 4px 6px -1px #00000026, 0 2px 4px -2px #00000026;--shadow-lg:0 10px 15px -3px #00000026, 0 4px 6px -4px #0000001a}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:Open Sans,system-ui,-apple-system,sans-serif;overflow:hidden}}@layer layout{#app{flex-direction:column;width:100vw;height:100vh;display:flex}#navbar{background:var(--bg-sidebar);border-bottom:1px solid var(--border-color);z-index:2000;height:52px;box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:16px;padding:0 16px;display:flex;position:relative}#workspace{flex:1;display:flex;position:relative;overflow:hidden}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border-color);height:100%;width:var(--sidebar-width);min-width:var(--sidebar-width);flex-direction:column;transition:width .3s,min-width .3s,opacity .3s;display:flex;position:relative;overflow:visible}.sidebar.right{width:var(--right-sidebar-width);min-width:var(--right-sidebar-width);border-right:none;border-left:1px solid var(--border-color)}.sidebar.collapsed{width:0;min-width:0}.sidebar.collapsed>*{opacity:0;pointer-events:none}main{flex-direction:column;flex:1;height:100%;display:flex;position:relative;overflow:hidden}#chart-container{flex:1;min-height:0;position:relative}#chart-svg{width:100%;height:100%;display:block}}@layer components{.axis path,.axis line{stroke:#cbd5e1}.axis text{fill:#64748b;font-family:inherit;font-size:11px}.grid .tick line{stroke:#e2e8ee;stroke-dasharray:3 3}.sidebar-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.sidebar-header h2{color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;font-size:14px;font-weight:600}.nav-left-section{flex:1 0 33%;align-items:center;gap:16px;display:flex}.nav-right-section{flex:1 10 33%;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.sidebar-toggle-tab{border:1px solid var(--border-color);cursor:pointer;z-index:200;width:14px;height:54px;color:var(--text-secondary);box-shadow:var(--shadow-sm);background:#fff;justify-content:center;align-items:center;font-size:14px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:10%}.sidebar-toggle-tab:hover{color:var(--accent-color);background:#f8fafc;width:18px}.sidebar-toggle-tab.left{border-left:none;border-radius:0 8px 8px 0;left:0}.sidebar-toggle-tab.right{border-right:none;border-radius:8px 0 0 8px;right:0}.nav-btn{cursor:pointer;width:32px;height:32px;color:var(--text-secondary);background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;font-size:20px;transition:all .2s;display:flex}.nav-btn:hover,.nav-btn.active{color:var(--accent-color);background:#00d4ff1a}.nav-projects{color:var(--text-primary);cursor:pointer;border:1px solid var(--border-color);background:#f8fafc;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-weight:600;transition:background .2s;display:flex}.nav-projects:hover{background:#f1f5f9}.nav-projects iconify-icon{color:var(--text-secondary)}#search-container{z-index:1000;width:100%;max-width:400px;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);background:#fff;border-radius:12px;flex:33%;margin:0 auto;position:relative}#search-input{width:100%;color:var(--text-primary);background:0 0;border:none;border-radius:12px;outline:none;padding:10px 16px;font-size:13px}#srch-spin{display:none;position:absolute;top:12px;right:12px}.srch-spin-icon{color:var(--accent-color);font-size:16px}#results-drop{width:100%;box-shadow:var(--shadow-md);border:1px solid var(--border-color);z-index:2000;background:#fff;border-top:1px solid #f1f5f9;border-radius:12px;max-height:400px;margin-top:4px;display:none;position:absolute;top:100%;left:0;overflow-y:auto}#no-res{color:var(--text-secondary);text-align:center;padding:20px;font-size:11px;display:none}.nav-projects-container{align-items:center;display:flex;position:relative}.project-name-input{color:var(--text-primary);text-overflow:ellipsis;background:0 0;border:1px solid #0000;border-radius:4px;outline:none;width:180px;min-width:60px;max-width:100%;padding:2px 4px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s}.project-name-input:focus{border-color:var(--accent-color);background:#fff;box-shadow:0 0 0 2px #00d4ff33}.project-dropdown{box-shadow:var(--shadow-md);border:1px solid var(--border-color);z-index:3000;background:#fff;border-radius:8px;flex-direction:column;width:250px;margin-top:8px;display:none;position:absolute;top:100%;left:0}.modal-review{flex-direction:column;flex:1;gap:16px;display:flex;overflow:hidden}.modal-review-section{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.modal-review-section.failed{border-top:1px solid var(--border-color);flex:0 0 200px;padding-top:12px}.modal-review-list{flex-direction:column;flex:1;gap:8px;padding-right:8px;display:flex;overflow-y:auto}.modal-review-list:empty:after{content:"No items in this section";color:var(--text-secondary);padding:8px;font-size:13px;font-style:italic}.project-dropdown.open{display:flex}.project-item{cursor:pointer;border-bottom:1px solid #f1f5f9;align-items:center;gap:12px;padding:10px 16px;display:flex}.project-item:hover{background:#f8fafc}.project-item-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;display:block;overflow:hidden}.project-item-date{color:var(--text-secondary);font-size:10px;display:block}.project-delete-btn{color:#94a3b8;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.project-delete-btn:hover{color:#ef4444;background:#fee2e2}.project-item:hover .project-delete-btn{opacity:1}.new-project-btn{color:var(--accent-color);cursor:pointer;align-items:center;gap:6px;padding:10px 16px;font-size:12px;font-weight:600;display:flex}.new-project-btn:hover{background:#00d4ff0d}#tooltip{pointer-events:none;z-index:3000;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);background:#fff;border-radius:8px;padding:8px 12px;font-size:12px;position:absolute}.info-color-dot{border-radius:50%;width:10px;height:10px}.info-close-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;font-size:18px}.info-section{border-bottom:1px solid var(--border-color);padding:20px}.info-title{color:var(--text-primary);margin-bottom:8px;font-size:16px;font-weight:700;line-height:1.4}.info-authors{color:var(--text-secondary);margin-bottom:4px;font-size:13px}.info-year{color:#94a3b8;margin-bottom:16px;font-size:12px}.info-cites-block{gap:12px;margin-bottom:16px;display:flex}.info-cites-label{color:#94a3b8;text-transform:uppercase;font-size:10px;font-weight:600}.info-cites-value{color:var(--text-primary);font-size:14px;font-weight:700}.info-links{gap:8px;display:flex}.info-link-btn{color:var(--accent-color);background:#00d4ff1a;border-radius:6px;align-items:center;gap:4px;padding:6px 10px;font-size:11px;font-weight:500;text-decoration:none;display:flex}.info-link-btn:hover{background:#00d4ff26}.actions-section{background:var(--bg-primary);flex-direction:column;gap:10px;padding:16px;display:flex}.actions-header{justify-content:space-between;align-items:center;display:flex}.actions-label{color:var(--text-secondary);font-size:11px;font-weight:600}.actions-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.expand-btn{border:1px solid var(--border-color);cursor:pointer;color:var(--text-primary);background:#fff;border-radius:6px;padding:8px;font-size:11px;transition:background .2s}.expand-btn:hover{background:#f1f5f9}.ref-status{color:#94a3b8;font-size:10px}.table-container{flex:1;overflow-y:auto}.ref-spin{text-align:center;padding:20px;display:none}.ref-row{cursor:pointer;background:0 0;border-bottom:.5px solid #f8fafc}.ref-row.in-graph{background:#00d4ff0d}.ref-row:hover{background:#f1f5f9}.td-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;padding:8px 14px;overflow:hidden}.td-year{color:var(--text-secondary);white-space:nowrap;padding:8px 4px}.td-cites{color:var(--accent-color);text-align:right;padding:8px 14px}.panel-tabs{border-bottom:1px solid var(--border-color);display:flex}.panel-tabs button{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:12px;font-size:12px;font-weight:500}.panel-tabs button.active{color:var(--accent-color);border-bottom-color:var(--accent-color)}.data-table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:12px}.data-table th{text-align:left;color:var(--text-secondary);cursor:pointer;background:#f8fafc;padding:10px 14px;font-weight:600}.data-table th:hover{background:#f1f5f9}.data-table td{padding:8px 14px}.export-btn{color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;background:#f1f5f9;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:4px;padding:6px;font-size:11px;font-weight:600;transition:all .2s;display:flex}.export-btn:hover{color:var(--accent-color);background:#00d4ff1a;border-color:#00d4ff4d}.info-popup-container{cursor:help;color:var(--text-secondary);align-items:center;display:flex;position:relative}.info-popup-content{border:1px solid var(--border-color);width:320px;box-shadow:var(--shadow-lg);z-index:3000;color:var(--text-primary);opacity:0;visibility:hidden;background:#fff;border-radius:8px;margin-left:8px;padding:14px;font-size:11px;line-height:1.4;transition:all .2s;position:absolute;top:0;left:100%}.info-popup-content pre{color:#475569;border:1px solid var(--border-color);background:#f8fafc;border-radius:6px;margin:8px 0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:9.5px;overflow-x:auto}.info-popup-container:hover .info-popup-content{opacity:1;visibility:visible}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}.sidebar-header-col{flex-direction:column;align-items:stretch;gap:12px}.sidebar-header-row{justify-content:space-between;align-items:center;display:flex}.sidebar-header-actions,.sidebar-header-left,.sidebar-header-right{align-items:center;gap:8px;display:flex}.totals-badge{color:#94a3b8;font-size:10px;font-weight:600}.ml-auto{margin-left:auto}.info-popup-desc{color:#64748b;margin-top:6px}.info-popup-list{color:#64748b;margin-top:6px;padding-left:16px;list-style-type:disc}.info-popup-list-item{margin-bottom:4px}.text-dark{color:#334155}.inline-code{background:#f1f5f9;border-radius:3px;padding:2px 4px;font-size:9px}.papers-list{flex:1;padding:10px;overflow-y:auto}.empty-msg{text-align:center;color:#94a3b8;padding:40px 20px;font-size:12px}.empty-msg-icon{opacity:.3;margin-bottom:10px;font-size:32px}.left-panel-section-title{color:#64748b;text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:center;padding:16px 8px 6px;font-size:11px;font-weight:700;display:flex}.left-panel-action-btn.remove-all{opacity:.3;padding:2px}.left-panel-action-btn.remove-all:hover{opacity:1;color:#ef4444;background:#fef2f2}.left-panel-section-title:first-child{padding-top:12px}.left-panel-item{cursor:pointer;background:0 0;border-radius:10px;align-items:flex-start;gap:10px;padding:8px;transition:all .15s;display:flex}.left-panel-item.main{opacity:1}.left-panel-item.ref{opacity:.5}.left-panel-item:hover{background:#f1f5f9}.left-panel-item.selected{background:#e2e8f0}.left-panel-item-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:4px}.left-panel-item-content{flex:1;min-width:0}.left-panel-item-title{color:#1e293b;font-size:11px;font-weight:500;line-height:1.4}.left-panel-item-title.ref{color:#94a3b8}.left-panel-item-authors,.left-panel-item-meta{color:#94a3b8;margin-top:2px;font-size:10px}.left-panel-item-actions{opacity:0;flex-direction:column;gap:4px;transition:opacity .2s;display:flex}.left-panel-item:hover .left-panel-item-actions{opacity:1}.left-panel-action-btn{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;font-size:14px;transition:all .2s;display:flex}.left-panel-action-btn:hover{background:#f1f5f9}.left-panel-action-btn.remove:hover{color:#ef4444;background:#fef2f2}.left-panel-action-btn.secondary:hover{color:var(--accent-color);background:#00d4ff0d}.info-cites-block-inner{flex-direction:column;display:flex}.th-year{width:60px}.th-cites{text-align:right;width:80px}.spinner-icon{color:var(--accent-color);font-size:24px}.search-item{opacity:1;cursor:pointer;border-bottom:.5px solid #f1f5f9;padding:12px 14px;transition:background .15s}.search-item:hover{background:#f8fafc}.search-item.added{opacity:.55}.search-item-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.search-item-title{color:var(--text-primary);flex:1;font-size:12px;font-weight:500;line-height:1.4}.search-item-actions{align-items:center;gap:8px;display:flex}.search-item-add{color:var(--accent-color);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:11px;font-weight:600}.search-item-add.added{color:var(--text-secondary);cursor:default}.search-item-new-proj{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:2px 4px;display:flex}.search-item-meta{gap:8px;margin-top:6px;display:flex}.search-item-authors{color:#64748b;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11px;overflow:hidden}.search-item-stats{color:var(--text-secondary);white-space:nowrap;font-size:10px}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:9999;opacity:0;background:#0f172a66;justify-content:center;align-items:center;width:100vw;height:100vh;transition:opacity .2s;display:flex;position:fixed;top:0;left:0}.modal-overlay.visible{opacity:1}.modal-container{background:#fff;border-radius:12px;flex-direction:column;width:90%;max-width:900px;max-height:85vh;animation:.3s ease-out modal-in;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-overlay.visible .modal-container{transform:translateY(0)scale(1)}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h2{color:var(--text-primary);font-size:16px}.modal-close{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;font-size:20px;display:flex}.modal-close:hover{color:var(--text-primary);background:#f1f5f9}.modal-tabs{border-bottom:1px solid var(--border-color);background:#f8fafc;display:flex}.modal-tab{text-align:center;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:12px;font-size:13px;font-weight:600}.modal-tab.active{color:var(--accent-color);border-bottom-color:var(--accent-color);background:#fff}.modal-content{flex-direction:column;min-height:180px;padding:20px;display:flex}.modal-textarea{border:1px solid var(--border-color);resize:vertical;width:100%;min-height:140px;color:var(--text-primary);border-radius:8px;outline:none;flex:1;padding:12px;font-family:inherit;font-size:13px}.modal-textarea:focus{border-color:var(--accent-color);box-shadow:0 0 0 2px #00d4ff1a}.modal-upload-area{border:2px dashed var(--border-color);color:var(--text-secondary);cursor:pointer;background:#f8fafc;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;transition:all .2s;display:flex}.modal-upload-area:hover,.modal-upload-area.dragover{border-color:var(--accent-color);color:var(--accent-color);background:#00d4ff0d}.modal-upload-area.disabled{cursor:not-allowed;opacity:.8}.modal-upload-area.disabled:hover{border-color:var(--border-color);color:var(--text-secondary);background:#f8fafc}.modal-upload-icon{margin-bottom:8px;font-size:32px}.modal-upload-text{font-size:13px;font-weight:500}.modal-upload-subtext{opacity:.7;margin-top:4px;font-size:11px}.modal-footer{border-top:1px solid var(--border-color);background:#f8fafc;justify-content:flex-end;gap:12px;padding:16px 20px;display:flex}.btn{cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.btn-secondary{border:1px solid var(--border-color);color:var(--text-primary);background:#fff}.btn-secondary:hover{background:#f1f5f9}.btn-primary{background:var(--accent-color);color:#fff;align-items:center;gap:6px;display:flex}.btn-primary:hover{filter:brightness(.9)}.btn:disabled{opacity:.5;cursor:not-allowed}.modal-select{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background:#fff;border-radius:6px;outline:none;margin-right:auto;padding:8px 12px;font-size:13px}.modal-select:focus{border-color:var(--accent-color)}.modal-action-btn{border:1px solid var(--border-color);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;padding:8px;font-size:18px;transition:all .2s;display:flex}.modal-action-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.github-star-link{color:var(--text-secondary);white-space:nowrap;border:1px solid var(--border-color);background:#f1f5f9;border-radius:20px;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.github-star-link:hover{color:#fff;box-shadow:var(--shadow-md);background:#0f172a;border-color:#0f172a;transform:translateY(-1px)}.github-star-link:hover .star-icon{color:#fbbf24;transform:scale(1.2)}.github-star-link iconify-icon{font-size:16px}.github-star-link .star-icon{transition:all .3s}.progress-container{background:#f1f5f9;border-radius:4px;width:100%;height:8px;margin:16px 0;overflow:hidden}.progress-bar{background:linear-gradient(90deg, var(--accent-color) 0%, #00f2fe 50%, var(--accent-color) 100%);background-size:200% 100%;width:0%;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1);animation:2s linear infinite progress-glow;box-shadow:0 0 10px #00d4ff4d}@keyframes progress-glow{0%{background-position:100% 0}to{background-position:-100% 0}}.status-main{color:var(--text-primary);text-align:center;margin-bottom:4px;font-size:14px;font-weight:600}.status-sub{color:var(--text-secondary);text-align:center;white-space:nowrap;text-overflow:ellipsis;margin-bottom:12px;padding:0 10px;font-size:12px;font-style:italic;overflow:hidden}.review-item{border:1px solid var(--border-color);background:#fff;border-radius:10px;grid-template-columns:24px 1fr auto;align-items:center;gap:16px;padding:16px;transition:all .2s;display:grid}.review-item:hover{border-color:#cbd5e1;box-shadow:0 4px 6px -1px #0000000d}.review-item.error{background:#fff8f8;border-color:#fee2e2}.review-item-checkbox{cursor:pointer;width:18px;height:18px;accent-color:var(--accent-color)}.review-item-error-icon{color:#ef4444;font-size:20px}.review-item-info{flex-direction:column;gap:4px;min-width:0;display:flex}.review-item-title{color:var(--text-primary);font-size:14.5px;font-weight:600;line-height:1.4}.review-item.error .review-item-title{color:#991b1b}.review-item-meta{color:var(--text-secondary);font-size:13px}.review-item-error-msg{color:#ef4444;font-size:12px;font-weight:500}.review-item-fix-container{gap:8px;margin-top:8px;display:flex}.review-item-doi-input{background:#fff;border:1px solid #fee2e2;border-radius:6px;flex:1;padding:6px 10px;font-size:12px}.review-item-doi-input:focus{border-color:#ef4444;outline:none;box-shadow:0 0 0 2px #ef44441a}.review-item-resolve-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:background .2s}.review-item-resolve-btn:hover{background:#dc2626}.review-item-side{flex-direction:column;justify-content:flex-start;align-items:flex-end;height:100%;display:flex}.review-item-doi-container{color:#64748b;background:#f1f5f9;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:600;display:flex}.review-item-doi-link{color:var(--accent-color);text-decoration:none}.review-item-doi-link:hover{text-decoration:underline}}@layer utilities;
