*{box-sizing:border-box}:root{--bg:#fafaf9;--panel:#fff;--border:#e2e2e0;--text:#1a1a18;--text-dim:#6b6b66;--verified:#2f9e44;--verified-bg:#2f9e441f;--mismatch:#e8590c;--mismatch-bg:#e8590c29;--not-found:#d6336c;--not-found-bg:#d6336c29;--pending:#868e96;--pending-bg:#868e961f;--partial:var(--mismatch);--partial-bg:var(--mismatch-bg);--missing:var(--not-found);--missing-bg:var(--not-found-bg)}html,body,#root{background:var(--bg);height:100%;color:var(--text);margin:0;font-family:system-ui,-apple-system,sans-serif;font-size:14px}button{font-family:inherit;font-size:inherit}.layout{flex-direction:column;height:100vh;min-height:0;display:flex}.split{flex:auto;grid-template-columns:1fr 1fr;min-height:0;display:grid}.pane{min-height:0;padding:16px 20px;overflow-y:auto}.pane-left{border-right:1px solid var(--border);background:var(--panel)}.pane-right{background:var(--bg)}.topnav{border-bottom:1px solid var(--border);background:var(--panel);align-items:center;gap:16px;padding:10px 20px;display:flex}.brand{letter-spacing:1px;font-weight:700}.job-label{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;max-width:30vw;font-size:13px;overflow:hidden}.state{text-transform:lowercase;border-radius:999px;padding:2px 8px;font-size:12px}.state-pending{background:var(--pending-bg);color:var(--pending)}.state-running,.state-done{background:var(--verified-bg);color:var(--verified)}.state-failed{background:var(--not-found-bg);color:var(--not-found)}.spacer{flex:auto}.reset{border:1px solid var(--border);background:var(--panel);cursor:pointer;border-radius:4px;padding:6px 12px}.reset:hover{background:#f1f1ef}.input-panel{flex-direction:column;gap:12px;display:flex}.mode-tabs{border-bottom:1px solid var(--border);gap:4px;display:flex}.tab{cursor:pointer;color:var(--text-dim);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--text);font-weight:600}.tab:disabled{opacity:.6;cursor:not-allowed}.text-input{position:relative}.text-area{box-sizing:border-box;border:1px solid var(--border);resize:vertical;background:var(--panel);width:100%;color:var(--text);border-radius:4px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px}.text-area:focus{outline:2px solid var(--text);outline-offset:-1px}.text-area:disabled{background:#f7f7f5}.char-counter{color:var(--text-dim);text-align:right;margin-top:4px;font-size:11px}.char-counter.over{color:var(--not-found);font-weight:600}.bibtex-input{flex-direction:column;gap:8px;display:flex}.bibtex-file-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.bibtex-file-btn{border:1px solid var(--border);background:var(--panel);cursor:pointer;color:var(--text);border-radius:4px;padding:6px 12px;font-size:12px;display:inline-block}.bibtex-file-btn:hover{background:#f1f1ef}.bibtex-file-btn.disabled{opacity:.6;cursor:not-allowed}.bibtex-file-btn input{display:none}.bibtex-hint{color:var(--text-dim);font-size:11px}.bibtex-area{font-size:12px;line-height:1.4}.pdf-input{align-items:center;gap:12px;display:flex}.drop-zone{border:2px dashed var(--border);text-align:center;cursor:pointer;color:var(--text-dim);background:var(--panel);border-radius:6px;flex:auto;padding:28px 16px}.drop-zone:hover{border-color:var(--text-dim);color:var(--text)}.drop-zone.disabled{opacity:.6;cursor:not-allowed}.drop-zone input{display:none}.file-name{color:var(--text);font-weight:500}.clear-file{border:1px solid var(--border);background:var(--panel);cursor:pointer;border-radius:4px;padding:6px 12px;font-size:12px}.clear-file:hover{background:#f1f1ef}.submit-row{justify-content:flex-end;display:flex}.submit{background:var(--text);color:var(--panel);cursor:pointer;border:none;border-radius:4px;padding:8px 18px;font-weight:600}.submit:disabled{opacity:.5;cursor:not-allowed}.submit:not(:disabled):hover{background:#000}.error{color:var(--not-found)}.error-block{background:var(--not-found-bg);border:1px solid var(--not-found);border-radius:4px;margin-top:12px;padding:8px 12px;font-size:13px}.task-progress{margin-top:20px}.section-h{text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);margin:0 0 8px;font-size:13px;font-weight:600}.stage-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.stage{background:var(--panel);border:1px solid var(--border);border-radius:4px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.stage-pending{opacity:.55}.stage-running{border-color:var(--text-dim)}.stage-done{border-color:var(--verified)}.stage-failed{border-color:var(--not-found);background:var(--not-found-bg)}.stage-icon{width:18px;height:18px;color:var(--text-dim);justify-content:center;align-items:center;margin-top:2px;font-weight:700;display:inline-flex}.stage-done .stage-icon{color:var(--verified)}.stage-failed .stage-icon{color:var(--not-found)}.stage-body{flex:auto;min-width:0}.stage-label{align-items:baseline;gap:8px;font-weight:500;display:flex}.stage-info{color:var(--text-dim);font-size:12px;font-weight:400}.stage-error{color:var(--not-found);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;overflow:hidden}.spinner{border:2px solid #0000;border-top-color:var(--text);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.db-progress{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:4px 12px;margin:8px 0 0;padding:0;font-size:12px;list-style:none;display:grid}.db-progress.empty{color:var(--text-dim);font-style:italic;display:block}.db-progress li{grid-template-columns:44px 1fr max-content;align-items:baseline;gap:6px;padding:2px 0;display:grid}.db-name{color:var(--text)}.db-count{font-variant-numeric:tabular-nums;color:var(--text-dim);font-weight:600}.db-kind-tag{text-transform:uppercase;letter-spacing:.06em;text-align:center;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:600;line-height:1.4;display:inline-block}.db-kind-local .db-kind-tag{color:#1c7ed6;background:#1c7ed61f;border:1px solid #1c7ed659}.db-kind-remote .db-kind-tag{color:#d97706;background:#f790091f;border:1px solid #f7900959}.citations-empty{text-align:center;color:var(--text-dim);margin-top:12vh}.citations-empty h2{color:var(--text);margin-bottom:6px}.citation-list-wrap{flex-direction:column;gap:12px;display:flex}.citations-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.citations-header h2{margin:0;font-size:18px}.citations-loading{color:var(--text-dim);padding:12px 0;font-style:italic}.counts{color:var(--text-dim);gap:14px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.counts li{align-items:center;gap:6px;display:flex}.counts strong{color:var(--text);font-variant-numeric:tabular-nums}.dot{border-radius:50%;width:9px;height:9px;display:inline-block}.dot.verified{background:var(--verified)}.dot.partial{background:var(--partial)}.dot.missing{background:var(--missing)}.dot.pending{background:var(--pending)}.citation-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.citation-row{background:var(--panel);border:1px solid var(--border);border-radius:4px;overflow:hidden}.citation-row.status-row-verified{border-left:3px solid var(--verified)}.citation-row.status-row-partial{border-left:3px solid var(--partial)}.citation-row.status-row-missing{border-left:3px solid var(--missing)}.citation-row.status-row-pending{border-left:3px solid var(--pending)}.citation-summary{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;grid-template-columns:18px auto 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.citation-summary:hover{background:#f7f7f5}.status-dot{border-radius:50%;flex:none;width:10px;height:10px}.status-dot.verified{background:var(--verified)}.status-dot.partial{background:var(--partial)}.status-dot.missing{background:var(--missing)}.status-dot.pending{background:var(--pending)}.row-index{font-variant-numeric:tabular-nums;color:var(--text-dim);min-width:28px;font-size:12px}.row-headline{flex-direction:column;gap:2px;min-width:0;display:flex}.row-authors{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.row-title{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.chevron{color:var(--text-dim);font-size:14px}.citation-details{border-top:1px solid var(--border);background:#fdfdfc;padding:14px 18px 18px}.ref-card{flex-direction:column;gap:10px;display:flex}.ref-card header{align-items:center;gap:8px;display:flex}.ref-card h3{margin:0;font-size:15px;line-height:1.3}.status-pill{text-transform:lowercase;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.status-pill.status-verified{background:var(--verified-bg);color:var(--verified)}.status-pill.status-partial{background:var(--partial-bg);color:var(--partial)}.status-pill.status-missing{background:var(--missing-bg);color:var(--missing)}.status-pill.status-pending{background:var(--pending-bg);color:var(--pending)}.ref-index,.ref-source{color:var(--text-dim);font-size:12px}.paper-link{color:var(--text-dim);word-break:break-all;font-size:12px;text-decoration:none}.paper-link:hover{color:var(--text);text-decoration:underline}.retraction-warning{background:var(--not-found-bg);color:var(--not-found);border-radius:4px;padding:6px 10px;font-size:12px;font-weight:600}.ref-card section h4{text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);margin:0 0 6px;font-size:11px}.db-result-list{flex-direction:column;gap:4px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.db-result{background:var(--bg);border:1px solid var(--border);border-radius:4px;grid-template-columns:minmax(80px,max-content) max-content 1fr auto;align-items:baseline;gap:8px;padding:3px 6px;display:grid}.db-result-meta{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.db-result-authors{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:11px}.db-result-authors.no-authors{color:var(--mismatch);font-style:italic}.db-result-error{color:var(--not-found);word-break:break-word;grid-column:1/-1;margin-top:2px;font-size:11px}.title-only-warning{background:var(--mismatch-bg);border-left:3px solid var(--mismatch);color:var(--text);border-radius:0 4px 4px 0;margin:6px 0 8px;padding:6px 10px;font-size:12px}.db-result-name{color:var(--text);font-weight:600}.db-result-status{color:var(--text-dim)}.db-result-elapsed{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:11px}.db-result-link{font-size:11px}.db-status-querying .db-result-status{color:#1971c2;font-style:italic}.db-status-match .db-result-status,.db-status-Match .db-result-status{color:var(--verified);font-weight:600}.db-status-no_match .db-result-status,.db-status-NoMatch .db-result-status{color:var(--text-dim)}.db-status-author_mismatch .db-result-status,.db-status-AuthorMismatch .db-result-status{color:var(--mismatch)}.db-status-error .db-result-status,.db-status-Error .db-result-status,.db-status-timeout .db-result-status,.db-status-Timeout .db-result-status,.db-status-rate_limited .db-result-status,.db-status-RateLimited .db-result-status{color:var(--not-found)}.author-list{flex-direction:column;gap:3px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.hint.db-author.exact{color:var(--text-dim)}.hint.db-author.normalized{color:var(--text-dim);-webkit-text-decoration:underline dotted var(--text-dim);text-decoration:underline dotted var(--text-dim);text-underline-offset:2px}.author-list li{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.author-list .cited{font-weight:500}.author-list .hint{color:var(--text-dim);font-size:11px}.author-list .hint.warn{color:var(--not-found)}.author-list .author-matched{color:var(--text)}.author-list .author-potential_lookalike .cited{color:var(--not-found);text-decoration:line-through}.author-list .author-not_in_db .cited{color:var(--text-dim);font-style:italic}.biblio-table{border-collapse:collapse;width:100%;font-size:13px}.biblio-table th{text-align:left;color:var(--text-dim);vertical-align:top;width:80px;padding:3px 8px 3px 0;font-weight:400}.biblio-table td{padding:3px 0}.field-matched td{color:var(--text)}.field-potential_mismatch td .strike{color:var(--not-found);text-decoration:line-through}.field-potential_mismatch td strong{color:var(--text)}.field-unverifiable td .dim{color:var(--text-dim);font-size:11px;font-style:italic}.not-found-msg{background:var(--not-found-bg);color:var(--not-found);border-radius:4px;padding:10px 12px;font-size:13px}.signin-root{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.signin-card{background:var(--panel);border:1px solid var(--border);text-align:center;border-radius:8px;width:min(380px,90vw);padding:32px 28px}.signin-brand{letter-spacing:.04em;margin:0 0 6px;font-size:22px;font-weight:600}.signin-tagline{color:var(--text-dim);margin:0 0 24px;font-size:13px}.signin-button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:4px;align-items:center;gap:10px;padding:9px 18px;font-size:14px;font-weight:500;text-decoration:none;transition:background .1s;display:inline-flex}.signin-button:hover{background:#f5f5f3}.signin-note{color:var(--text-dim);margin:24px 0 0;font-size:12px;line-height:1.5}.signin-loading{color:var(--text-dim);font-size:14px}.user-info{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;max-width:240px;font-size:12px;display:flex;overflow:hidden}.user-info .logout{padding:3px 8px;font-size:12px}
