.hk-backdrop[data-v-9866ae3a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;display:flex;align-items:center;justify-content:center;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hk-panel[data-v-9866ae3a]{width:min(820px,94vw);max-height:85vh;display:flex;flex-direction:column;border-radius:16px;background:var(--bg-card, #fff);border:1px solid var(--border-default, #e2e2e2);box-shadow:0 24px 64px #0000002e;overflow:hidden}.hk-header[data-v-9866ae3a]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border-default, #e2e2e2)}.hk-title[data-v-9866ae3a]{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-primary, #111)}.hk-close[data-v-9866ae3a]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;cursor:pointer;color:var(--text-muted, #888);transition:background .15s,color .15s}.hk-close[data-v-9866ae3a]:hover{background:var(--bg-hover, rgba(0,0,0,.06));color:var(--text-primary, #111)}.hk-body[data-v-9866ae3a]{flex:1 1 auto;overflow-y:auto;padding:20px 24px 16px}.hk-columns[data-v-9866ae3a]{display:grid;grid-template-columns:1fr 1fr;gap:32px}@media(max-width:640px){.hk-columns[data-v-9866ae3a]{grid-template-columns:1fr;gap:20px}}.hk-tutorial[data-v-9866ae3a]{padding-right:12px;border-right:1px solid var(--border-default, #e8e8e8)}@media(max-width:640px){.hk-tutorial[data-v-9866ae3a]{padding-right:0;border-right:none;padding-bottom:16px;border-bottom:1px solid var(--border-default, #e8e8e8)}}.hk-tutorial-title[data-v-9866ae3a]{margin:0 0 14px;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted, #888)}.hk-tutorial-section[data-v-9866ae3a]{margin-bottom:14px}.hk-tutorial-section[data-v-9866ae3a]:last-child{margin-bottom:0}.hk-tutorial-section h4[data-v-9866ae3a]{margin:0 0 4px;font-size:.85rem;font-weight:600;color:var(--text-primary, #222)}.hk-tutorial-section p[data-v-9866ae3a]{margin:0;font-size:.8rem;line-height:1.5;color:var(--text-secondary, #555)}.hk-tutorial-section kbd[data-v-9866ae3a]{display:inline-block;padding:1px 5px;font-size:.75rem;font-family:inherit;font-weight:600;color:var(--text-primary, #222);background:var(--bg-input, #f0f0f0);border:1px solid var(--border-input, #d4d4d4);border-radius:4px;box-shadow:0 1px 1px #0000000d}.hk-bindings[data-v-9866ae3a]{min-width:0}.hk-group-label[data-v-9866ae3a]{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--text-muted, #888);margin-top:16px;margin-bottom:6px}.hk-group-label[data-v-9866ae3a]:first-child{margin-top:0}.hk-list[data-v-9866ae3a]{display:grid;gap:2px}.hk-row[data-v-9866ae3a]{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:8px;transition:background .12s}.hk-row[data-v-9866ae3a]:hover:not(.fixed){background:var(--bg-hover, rgba(0,0,0,.035))}.hk-row.recording[data-v-9866ae3a]{background:#2563eb12}.hk-action[data-v-9866ae3a]{font-size:.88rem;color:var(--text-primary, #222)}.hk-key-cell[data-v-9866ae3a]{display:flex;align-items:center;gap:8px;min-width:90px;justify-content:flex-end}.hk-kbd[data-v-9866ae3a]{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:28px;padding:0 10px;border-radius:6px;font-size:.8rem;font-family:inherit;font-weight:600;color:var(--text-primary, #222);background:var(--bg-input, #f5f5f5);border:1px solid var(--border-input, #d4d4d4);box-shadow:0 1px 2px #0000000f;cursor:pointer;transition:border-color .15s,box-shadow .15s;-webkit-user-select:none;user-select:none}.hk-kbd[data-v-9866ae3a]:hover:not(.fixed){border-color:var(--btn-blue-bg, #2563eb);box-shadow:0 0 0 2px #2563eb2e}.hk-kbd.fixed[data-v-9866ae3a]{cursor:default;opacity:.7;font-size:.75rem}.hk-recording-badge[data-v-9866ae3a]{font-size:.78rem;font-weight:600;color:var(--btn-blue-bg, #2563eb);animation:hk-pulse-9866ae3a 1.2s ease infinite}@keyframes hk-pulse-9866ae3a{0%,to{opacity:1}50%{opacity:.5}}.hk-cancel-btn[data-v-9866ae3a]{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;border-radius:6px;color:var(--text-muted, #888)}.hk-cancel-btn[data-v-9866ae3a]:hover{background:var(--bg-hover, rgba(0,0,0,.06));color:var(--text-primary, #111)}.hk-error[data-v-9866ae3a]{margin:10px 0 0;padding:8px 12px;font-size:.82rem;color:#dc2626;background:#dc26260f;border-radius:8px;border:1px solid rgba(220,38,38,.15)}.hk-footer[data-v-9866ae3a]{display:flex;align-items:center;justify-content:space-between;padding:12px 24px 14px;border-top:1px solid var(--border-default, #e2e2e2);gap:12px}.hk-reset-btn[data-v-9866ae3a]{border:none;border-radius:8px;padding:6px 14px;font-size:.82rem;font-weight:600;background:transparent;color:var(--text-muted, #888);cursor:pointer;transition:background .15s,color .15s}.hk-reset-btn[data-v-9866ae3a]:hover{background:var(--bg-hover, rgba(0,0,0,.06));color:var(--text-primary, #222)}.hk-hint[data-v-9866ae3a]{font-size:.72rem;color:var(--text-muted, #999)}.hk-fade-enter-active[data-v-9866ae3a],.hk-fade-leave-active[data-v-9866ae3a]{transition:opacity .2s ease}.hk-fade-enter-active .hk-panel[data-v-9866ae3a],.hk-fade-leave-active .hk-panel[data-v-9866ae3a]{transition:transform .2s ease,opacity .2s ease}.hk-fade-enter-from[data-v-9866ae3a],.hk-fade-leave-to[data-v-9866ae3a]{opacity:0}.hk-fade-enter-from .hk-panel[data-v-9866ae3a],.hk-fade-leave-to .hk-panel[data-v-9866ae3a]{transform:scale(.96) translateY(8px)}.confirm-button-fallback[data-v-edb62483]{border:1px solid var(--border-subtle);border-radius:var(--radius-md);min-height:34px;padding:6px 10px;background:var(--bg-card);color:var(--text-primary);font-weight:600;cursor:pointer}.confirm-button-fallback.danger[data-v-edb62483]{background:var(--btn-danger-bg);color:var(--btn-danger-fg);border-color:var(--border-danger)}.confirm-button-fallback.warning[data-v-edb62483]{background:var(--bg-warning);color:var(--text-warning);border-color:var(--border-default)}.confirm-button-fallback[data-v-edb62483]:disabled{opacity:.6;cursor:not-allowed}.confirm-button-fallback.arming[data-v-edb62483]{cursor:progress}.confirm-button-arming[data-v-edb62483]{display:inline-flex;align-items:center;gap:8px}.confirm-button-arming-track[data-v-edb62483]{position:relative;width:56px;height:4px;border-radius:999px;background:var(--bg-card-muted, var(--bg-card));overflow:hidden}.confirm-button-arming-fill[data-v-edb62483]{position:absolute;top:0;right:0;bottom:0;left:0;width:56px;transform:translate(-100%);background:currentColor;animation:confirm-button-arm-edb62483 var(--arming-duration) linear forwards}@keyframes confirm-button-arm-edb62483{0%{transform:translate(-100%)}to{transform:translate(0)}}:root{color-scheme:light;font-family:Segoe UI,system-ui,-apple-system,sans-serif;--bg-page: #f5f6fb;--bg-card: #ffffff;--bg-surface: var(--bg-card);--bg-panel: #f8fafc;--bg-input: #ffffff;--bg-hover: #f1f5f9;--bg-accent: #eef2ff;--bg-danger: #fee2e2;--bg-success: #d1fae5;--bg-warning: #fef3c7;--border-default: #e2e8f0;--border-subtle: #d1d9f0;--border-input: #cbd5f5;--border-active: #6366f1;--border-danger: #fecaca;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--text-accent: #4f46e5;--text-danger: #b91c1c;--text-success: #0f766e;--text-warning: #b45309;--text-on-accent: #ffffff;--btn-primary-bg: #4f46e5;--btn-primary-fg: #ffffff;--btn-secondary-bg:#0f172a;--btn-secondary-fg:#ffffff;--btn-danger-bg: #dc2626;--btn-danger-fg: #ffffff;--btn-ghost-bg: #e2e8f0;--btn-ghost-fg: #0f172a;--btn-blue-bg: #2563eb;--btn-blue-fg: #ffffff;--btn-disabled-bg: #94a3b8;--annotation-direct-rgb: 59, 130, 246;--annotation-indirect-rgb: 139, 92, 246;--annotation-summary-rgb: 34, 197, 94;--annotation-comment-rgb: 249, 115, 22;--annotation-highlight-rgb: 250, 204, 21;--annotation-quotation-rgb: 220, 20, 60;--annotation-note-rgb: 148, 163, 184;--annotation-area-rgb: 6, 182, 212;--annotation-direct: #3b82f6;--annotation-indirect: #8b5cf6;--annotation-summary: #22c55e;--annotation-comment: #f97316;--annotation-highlight: #facc15;--annotation-quotation: #dc143c;--annotation-note: #94a3b8;--annotation-area: #06b6d4;--tab-active-bg: #fef3c7;--tab-active-border: #f59e0b;--tab-active-fg: #92400e;--tab-active-shadow: rgba(251, 191, 36, .25);--shadow-sm: 0 4px 12px rgba(15, 23, 42, .06);--shadow-md: 0 8px 18px rgba(15, 23, 42, .08);--shadow-lg: 0 16px 30px rgba(15, 23, 42, .12);--shadow-xl: 0 20px 45px rgba(15, 23, 42, .08);--shadow-accent: 0 10px 20px rgba(79, 70, 229, .25);--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 14px;--radius-2xl: 20px;--icon-fill: #1f2937;--scrollbar-thumb: #c4c9d4;--scrollbar-track: transparent;--overlay-bg: rgba(15, 23, 42, .4)}:root[data-theme=dark]{color-scheme:dark;--bg-page: #0f1117;--bg-card: #1a1d27;--bg-surface: var(--bg-card);--bg-panel: #151822;--bg-input: #1e2130;--bg-hover: #252938;--bg-accent: #1e1b4b;--bg-danger: #450a0a;--bg-success: #052e16;--bg-warning: #422006;--border-default: #2d3348;--border-subtle: #363c52;--border-input: #3b4262;--border-active: #818cf8;--border-danger: #7f1d1d;--text-primary: #e2e8f0;--text-secondary: #94a3b8;--text-muted: #64748b;--text-accent: #a5b4fc;--text-danger: #fca5a5;--text-success: #6ee7b7;--text-warning: #fcd34d;--text-on-accent: #ffffff;--btn-primary-bg: #6366f1;--btn-primary-fg: #ffffff;--btn-secondary-bg:#e2e8f0;--btn-secondary-fg:#0f172a;--btn-danger-bg: #ef4444;--btn-danger-fg: #ffffff;--btn-ghost-bg: #2d3348;--btn-ghost-fg: #e2e8f0;--btn-blue-bg: #3b82f6;--btn-blue-fg: #ffffff;--btn-disabled-bg: #4b5563;--annotation-direct-rgb: 96, 165, 250;--annotation-indirect-rgb: 167, 139, 250;--annotation-summary-rgb: 74, 222, 128;--annotation-comment-rgb: 251, 146, 60;--annotation-highlight-rgb: 250, 204, 21;--annotation-quotation-rgb: 244, 63, 94;--annotation-note-rgb: 148, 163, 184;--annotation-area-rgb: 34, 211, 238;--annotation-direct: #60a5fa;--annotation-indirect: #a78bfa;--annotation-summary: #4ade80;--annotation-comment: #fb923c;--annotation-highlight: #facc15;--annotation-quotation: #f43f5e;--annotation-note: #94a3b8;--annotation-area: #22d3ee;--tab-active-bg: #422006;--tab-active-border: #f59e0b;--tab-active-fg: #fcd34d;--tab-active-shadow: rgba(251, 191, 36, .12);--shadow-sm: 0 4px 12px rgba(0, 0, 0, .25);--shadow-md: 0 8px 18px rgba(0, 0, 0, .3);--shadow-lg: 0 16px 30px rgba(0, 0, 0, .35);--shadow-xl: 0 20px 45px rgba(0, 0, 0, .3);--shadow-accent: 0 10px 20px rgba(99, 102, 241, .2);--icon-fill: #cbd5e1;--scrollbar-thumb: #3b4262;--scrollbar-track: transparent;--overlay-bg: rgba(0, 0, 0, .6)}*{box-sizing:border-box}body{margin:0;background:var(--bg-page);color:var(--text-primary)}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg-page)}.login-card{width:min(420px,100%);background:var(--bg-card);border-radius:var(--radius-2xl);padding:32px 30px;box-shadow:var(--shadow-xl);border:1px solid var(--border-default);display:grid;gap:14px}.login-brand{font-weight:700;color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.login-title{margin:0;font-size:1.6rem;color:var(--text-primary)}.login-subtitle{margin:0;color:var(--text-muted);line-height:1.5}.login-button{border:none;border-radius:var(--radius-lg);padding:12px 16px;background:var(--btn-primary-bg);color:var(--btn-primary-fg);font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.login-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-accent)}.login-error{margin:0;color:var(--text-danger);background:var(--bg-danger);border-radius:var(--radius-md);padding:10px 12px;font-size:.85rem}.layout{display:grid;grid-template-columns:auto auto 360px 1fr;grid-template-areas:"categories references sidebar viewer";min-height:100vh}.layout.no-categories{grid-template-columns:auto 360px 1fr;grid-template-areas:"references sidebar viewer"}.layout.reference-collapsed-only{grid-template-areas:"references categories sidebar viewer"}.layout.both-collapsed{grid-template-columns:auto 360px 1fr;grid-template-areas:"categories sidebar viewer"}.categories-panel{grid-area:categories}.references-panel{grid-area:references}.sidebar{grid-area:sidebar}.viewer{grid-area:viewer}.sidebar{border-right:1px solid var(--border-default);padding:16px;background:var(--bg-panel);display:grid;grid-template-rows:64px 1fr;height:100vh}.sidebar-header{display:flex;align-items:center}.sidebar-content{overflow:hidden;display:flex;flex-direction:column;min-height:0}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.tab-button{border:1px solid var(--border-subtle);background:var(--bg-card);border-radius:var(--radius-lg);padding:8px 10px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.tab-button.active{background:var(--tab-active-bg);border-color:var(--tab-active-border);color:var(--tab-active-fg);box-shadow:0 6px 18px var(--tab-active-shadow)}.tab-button:hover{transform:translateY(-1px)}.side-panel{border-right:1px solid var(--border-default);background:var(--bg-panel);height:100vh;width:320px;display:grid;grid-template-rows:56px 1fr;transition:width .2s ease}.side-panel.both-collapsed{grid-template-rows:108px 1fr}.side-panel.collapsed{width:56px}.side-panel-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;gap:6px}.side-panel.collapsed .side-panel-header{justify-content:center;padding:8px 6px}.side-panel.both-collapsed .side-panel-header{justify-content:center;padding-top:20px}.side-panel-controls{display:inline-flex;align-items:center;gap:6px}.side-panel.collapsed .side-panel-controls{width:100%;justify-content:center}.side-panel.both-collapsed .side-panel-controls{flex-direction:column;gap:8px}.side-panel-title{font-weight:600;color:var(--text-primary)}.side-panel-toggle{width:32px;height:32px}.side-panel-content{overflow:hidden;display:flex;flex-direction:column;padding:8px 12px 16px;min-height:0}.viewer{position:relative;overflow:hidden;background:var(--bg-page);height:100vh}.viewer.cursor-add{cursor:copy}.viewer.cursor-remove{cursor:not-allowed}.viewer.selection-disabled .page,.viewer.selection-disabled .page *{user-select:none;-webkit-user-select:none;pointer-events:none}.viewer-inner{padding:16px 24px;height:100%;--pdf-zoom: 1;transform-origin:top center;position:relative}.viewer-inner.zoom-enabled{zoom:var(--pdf-zoom)}@supports not (zoom: 1){.viewer-inner.zoom-enabled{transform:scale(var(--pdf-zoom))}}.top-actions{position:absolute;top:16px;right:24px;display:flex;gap:10px;z-index:140}.pdf-toolbox{position:absolute;left:12px;top:50%;transform:translateY(-50%);display:grid;grid-auto-flow:row;grid-auto-rows:44px;row-gap:12px;align-items:center;z-index:55}.toolbox-stack{display:grid;grid-auto-flow:row;grid-auto-rows:44px;row-gap:12px;align-items:center}.toolbar-button.toolbox-button{--button-color: var(--annotation-note);--button-bg: color-mix(in srgb, var(--button-color) 18%, var(--bg-card));--button-border: color-mix(in srgb, var(--button-color) 56%, transparent);--button-shadow: color-mix(in srgb, var(--button-color) 28%, transparent);color:var(--button-color);font-weight:700}.toolbar-button.toolbox-button.select{--button-color: var(--text-secondary);--button-bg: color-mix(in srgb, var(--button-color) 12%, var(--bg-card));--button-border: color-mix(in srgb, var(--button-color) 42%, transparent)}.toolbox-zoom{margin-top:8px;display:flex;justify-content:center}.toolbox-button.zoom{--button-color: var(--text-muted);--button-bg: var(--bg-panel);--button-border: var(--border-default);--button-shadow: color-mix(in srgb, var(--text-muted) 22%, transparent)}.toolbox-fade-enter-active,.toolbox-fade-leave-active{transition:opacity .2s ease,transform .2s ease}.toolbox-fade-enter-from,.toolbox-fade-leave-to{opacity:0;transform:translateY(6px) scale(.98)}.toolbox-button.zoom .toolbox-label{font-size:.7rem;font-weight:700;color:currentColor;letter-spacing:.02em}.toolbox-button.direct{--button-color: var(--annotation-direct)}.toolbox-button.indirect{--button-color: var(--annotation-indirect)}.toolbox-button.summary{--button-color: var(--annotation-summary)}.toolbox-button.comment{--button-color: var(--annotation-comment)}.toolbox-button.highlight{--button-color: var(--annotation-highlight)}.toolbox-button.quotation{--button-color: var(--annotation-quotation)}.toolbox-button.note{--button-color: var(--annotation-note)}.toolbox-button.area{--button-color: var(--annotation-area)}.toolbox-button.active{border-width:2.5px;box-shadow:0 10px 18px color-mix(in srgb,var(--button-color) 32%,transparent);background:color-mix(in srgb,var(--button-color) 24%,var(--bg-card));transform:translateY(-1px)}.toolbox-button.active .toolbox-label{color:currentColor}.toolbox-label{font-size:.85rem;font-weight:700;color:currentColor;line-height:1}.close-project{display:flex}.data-error{margin-bottom:10px;padding:10px 12px;border-radius:var(--radius-md);background:var(--bg-danger);color:var(--text-danger);font-size:.85rem}.loading{display:flex;align-items:center;justify-content:center;height:100%;font-weight:600;color:var(--text-secondary)}.annotation-list{display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding-right:6px;min-height:0}.annotation-card{position:relative;border-radius:14px;border:2px solid #facc15;background:var(--bg-card);padding:16px 12px 14px;cursor:pointer;box-shadow:0 10px 25px #0f172a0d;display:grid;gap:10px;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.annotation-card:hover{transform:translateY(-1px);box-shadow:0 14px 30px #0f172a14}.annotation-card.selected{border-color:#eab308;background:var(--bg-warning)}.annotation-card.annotation-red{border-color:#ef4444}.annotation-card.annotation-direct{border-color:#3b82f6}.annotation-card.annotation-indirect{border-color:#8b5cf6}.annotation-card.annotation-summary{border-color:#22c55e}.annotation-card.annotation-comment{border-color:#f97316}.annotation-card.annotation-note{border-color:#94a3b8}.annotation-card.annotation-area{border-color:#06b6d4}.annotation-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.annotation-index{font-weight:700;color:var(--text-primary)}.annotation-meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.annotation-presence-overlay{position:absolute;left:12px;top:0;transform:translateY(-50%);display:flex;gap:4px;align-items:center;justify-content:flex-start;pointer-events:none;z-index:2;max-width:calc(100% - 36px)}.presence-editors{display:flex;gap:4px;align-items:center}.presence-editor-badge{font-size:.62rem;font-weight:700;padding:2px 6px;border-radius:999px;color:#fff;background:var(--presence-color, #6366f1);white-space:nowrap;max-width:80px;overflow:hidden;text-overflow:ellipsis;pointer-events:auto}.badge{font-size:.72rem;font-weight:600;padding:4px 8px;border-radius:999px;background:var(--border-default);color:var(--text-primary)}.badge.subtle{background:var(--bg-accent);color:var(--text-accent)}.badge.annotation-type{background:#fef3c7;color:#92400e}.badge.annotation-type.annotation-direct{background:#dbeafe;color:#1d4ed8}.badge.annotation-type.annotation-indirect{background:#ede9fe;color:#6d28d9}.badge.annotation-type.annotation-summary{background:#dcfce7;color:#15803d}.badge.annotation-type.annotation-comment{background:#ffedd5;color:#c2410c}.badge.annotation-type.annotation-red{background:#fee2e2;color:#b91c1c}.badge.annotation-type.annotation-note{background:#e2e8f0;color:#475569}.badge.annotation-type.annotation-area{background:#cffafe;color:#0e7490}.badge-button{border:none;cursor:pointer}.badge-button:focus{outline:2px solid rgba(99,102,241,.4);outline-offset:1px}.badge-popover-anchor{position:relative;display:inline-flex}.badge-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:10;display:grid;gap:6px;padding:8px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:0 12px 24px #0f172a1f;min-width:160px}.badge-option{display:flex;width:100%;justify-content:flex-start;border:none;cursor:pointer}.badge-editor{border:1px solid var(--border-subtle);border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:600;color:var(--text-primary);background:var(--bg-card);width:auto;min-width:64px;max-width:120px;line-height:1.1}.badge-editor.badge-compact{min-width:60px;max-width:90px;width:64px;text-align:center}.annotation-title{font-weight:600;color:var(--text-primary)}.annotation-text{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.4}.annotation-categories{font-size:.76rem;color:var(--text-muted)}.annotation-categories.edit{background:var(--bg-panel);border:1px solid var(--border-default);border-radius:10px;padding:8px}.annotation-categories-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600;margin-bottom:6px}.annotation-category-list{display:flex;flex-wrap:wrap;gap:6px}.annotation-category-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 8px;background:var(--bg-accent);color:var(--text-primary);font-size:.72rem;font-weight:600}.annotation-category-remove{border:none;background:transparent;color:var(--text-muted);font-size:.85rem;cursor:pointer}.annotation-category-remove:hover{color:#ef4444}.annotation-edit{display:grid;gap:10px;width:100%}.annotation-field{display:grid;gap:6px;font-size:.75rem;font-weight:600;color:var(--text-secondary)}.annotation-input,.annotation-textarea{border:1px solid var(--border-subtle);border-radius:10px;padding:8px 10px;font-size:.85rem;font-weight:500;color:var(--text-primary);background:var(--bg-card);outline:none;transition:border-color .15s ease,box-shadow .15s ease;width:100%;min-width:0}.annotation-textarea{resize:vertical;min-height:84px}.annotation-input:focus,.annotation-textarea:focus{border-color:var(--border-active);box-shadow:0 0 0 3px #6366f133}.annotation-actions{display:flex;gap:8px;justify-content:flex-end}.annotation-button{border:1px solid transparent;border-radius:999px;padding:6px 12px;font-size:.75rem;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.annotation-button.primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg);box-shadow:0 6px 16px #4f46e533}.annotation-button.ghost{background:var(--bg-card);color:var(--text-secondary);border-color:var(--border-subtle)}.annotation-button.danger{background:#fff1f2;color:var(--text-danger);border-color:var(--border-danger)}:root[data-theme=dark] .annotation-button.danger{background:#7f1d1d!important;border-color:#991b1b!important;color:#fee2e2!important}.annotation-button:hover:not(:disabled){transform:translateY(-1px)}.annotation-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.annotation-image-section{margin-top:6px;display:grid;gap:6px}.annotation-image-preview{width:100%;max-height:240px;object-fit:contain;border-radius:6px;border:1px solid var(--border-default, #e2e2e2);background:var(--bg-input, #fafafa)}.annotation-image-actions{display:flex;gap:6px}.annotation-image-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:28px;padding:0 10px;border:1px solid var(--border-input, #d4d4d4);border-radius:6px;background:var(--bg-card, #fff);cursor:pointer;color:var(--text-muted, #888);font-size:.75rem;font-weight:500;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.annotation-image-btn:hover{background:var(--bg-hover, rgba(0,0,0,.04));color:var(--text-primary, #222);border-color:var(--border-active, #aaa)}.reference-list{display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding-right:6px;min-height:0}.list-filter-notice{font-size:.72rem;color:var(--text-secondary);padding:6px 8px;border-radius:10px;background:var(--bg-warning);border:1px solid var(--tab-active-border)}.reference-list-actions{display:flex;flex-direction:column;gap:6px}.reference-add-button{width:100%;justify-content:center}.reference-import-button{width:100%;justify-content:center;display:flex;align-items:center;gap:6px}.reference-add-hint{font-size:.72rem;color:var(--text-muted);text-align:center}.reference-detail{overflow-y:auto;padding-right:6px;min-height:0;position:relative}.reference-empty{color:var(--text-muted);padding:12px;background:var(--bg-card);border-radius:12px;border:1px solid var(--border-default)}.reference-detail-list{display:grid;gap:10px}.reference-detail-row{background:var(--bg-card);border-radius:12px;border:1px solid var(--border-default);padding:10px 12px;display:grid;grid-template-columns:1fr auto;align-items:start;gap:6px}.reference-detail-row.is-editing{border-color:var(--border-active);box-shadow:0 6px 16px #6366f11f}.reference-detail-label{font-size:.74rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.reference-detail-main{display:grid;gap:8px}.reference-detail-value{display:flex;align-items:center;gap:10px;justify-content:space-between}.reference-detail-value-text{flex:1;font-size:.86rem;color:var(--text-primary);word-break:break-word}.reference-detail-actions{list-style:none;padding:0;margin:0;display:grid;gap:6px;justify-items:end}.reference-detail-action-item{display:flex;justify-content:flex-end}.reference-action-button{border:1px solid var(--border-default);background:var(--bg-panel);color:var(--text-primary);border-radius:8px;padding:4px 8px;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .15s ease}.reference-icon-button{padding:4px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}.reference-icon-button svg{width:16px;height:16px;fill:currentColor}.reference-action-button:hover{border-color:var(--border-input);background:var(--bg-accent)}.reference-action-button:disabled{opacity:.5;cursor:not-allowed}.reference-detail-editor{display:grid;gap:8px;padding:8px;border-radius:10px;background:var(--bg-accent);border:1px solid #c7d2fe;position:relative;z-index:1}.reference-detail-input{border:1px solid var(--border-input);border-radius:8px;padding:6px 8px;font-size:.86rem;color:var(--text-primary);width:100%;display:block;min-height:36px;background:var(--bg-card);box-shadow:inset 0 1px 2px #0f172a14}.reference-detail-textarea{border:1px solid var(--border-input);border-radius:8px;padding:6px 8px;font-size:.86rem;color:var(--text-primary);width:100%;resize:vertical;min-height:46px;font-family:inherit;display:block;background:var(--bg-card);box-shadow:inset 0 1px 2px #0f172a14}.reference-detail-input:focus,.reference-detail-textarea:focus{outline:2px solid rgba(79,70,229,.2);border-color:var(--border-active)}.reference-detail-editor-actions{display:flex;justify-content:flex-end;gap:8px}.reference-card{border-radius:14px;border:2px solid #fde68a;background:var(--bg-card);padding:16px 10px 8px;box-shadow:0 10px 25px #0f172a0d;cursor:pointer;display:grid;gap:4px;position:relative}.reference-presence-overlay{position:absolute;left:10px;top:0;transform:translateY(-50%);display:flex;gap:4px;align-items:center;justify-content:flex-start;pointer-events:none;z-index:2;max-width:calc(100% - 34px)}.reference-presence-badge{font-size:.62rem;font-weight:700;padding:2px 6px;border-radius:999px;color:#fff;background:var(--presence-color, #6366f1);white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis;pointer-events:auto}.copy-snackbar{position:absolute;right:12px;bottom:12px;background:var(--text-primary);color:var(--bg-panel);font-size:.75rem;padding:6px 10px;border-radius:999px;box-shadow:0 8px 18px #0f172a33;pointer-events:none;z-index:5}.reference-copy-snackbar{bottom:8px;right:8px}.reference-menu-button{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:8px;border:1px solid var(--border-default);background:var(--bg-card);display:inline-flex;align-items:center;justify-content:center;gap:3px;cursor:pointer;padding:0;z-index:2;transition:box-shadow .15s ease,border-color .15s ease}.reference-menu-button:hover{border-color:var(--border-input);box-shadow:0 6px 18px #0f172a1a}.reference-menu-dot{width:4px;height:4px;border-radius:50%;background:var(--text-secondary)}.reference-popover{position:absolute;top:40px;right:8px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:10px;padding:8px;box-shadow:0 12px 25px #0f172a1f;z-index:3;min-width:160px}.reference-category-block{display:grid;gap:6px;margin-bottom:8px}.reference-category-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600}.reference-category-list{display:flex;flex-wrap:wrap;gap:6px}.reference-category-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 8px;background:var(--bg-hover);color:var(--text-primary);font-size:.72rem;font-weight:600}.reference-category-remove{border:none;background:transparent;color:var(--text-muted);font-size:.85rem;cursor:pointer}.reference-category-remove:hover{color:#ef4444}.reference-popover-button{width:auto;max-width:max-content;border:1px solid transparent;border-radius:8px;padding:6px 10px;background:var(--bg-panel);color:var(--text-primary);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease;min-height:34px;display:flex;align-items:center;justify-content:center}.reference-popover-button.danger{border-color:var(--border-danger);background:#fff1f2;color:var(--text-danger)}:root[data-theme=dark] .reference-popover-button.danger{background:#7f1d1d!important;border-color:#991b1b!important;color:#fee2e2!important}.reference-card.selected{border-color:#f59e0b;background:var(--bg-warning)}.reference-header{display:flex;gap:10px;align-items:baseline;margin-bottom:2px}.reference-index{font-weight:700;color:var(--tab-active-fg);white-space:nowrap}.reference-title{font-weight:600;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.reference-authors{font-size:.82rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.reference-meta-line{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-secondary)}.reference-category-preview{font-size:.72rem;color:var(--text-muted);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reference-year,.reference-type{white-space:nowrap}.reference-separator{color:var(--border-input)}.reference-latex{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-secondary)}.reference-latex-label{font-weight:600;color:var(--text-primary)}.reference-latex-value{font-family:Cascadia Code,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;background:#fef3c7;border-radius:8px;padding:2px 6px;display:inline-block;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.author-editor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#00000073;display:flex;align-items:center;justify-content:center;padding:24px}.author-editor-dialog{background:var(--bg-surface);border-radius:16px;border:1px solid var(--border-default);box-shadow:0 24px 48px #00000040;width:520px;max-width:100%;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.author-editor-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-default)}.author-editor-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.author-editor-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:6px;transition:color .15s}.author-editor-close:hover{color:var(--text-primary)}.author-editor-body{flex:1;overflow-y:auto;padding:16px 20px}.author-editor-loading{color:var(--text-muted);text-align:center;padding:20px}.author-list{display:flex;flex-direction:column;gap:8px}.author-list-empty{color:var(--text-muted);text-align:center;padding:16px;font-size:.85rem}.author-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:10px;overflow:hidden;transition:border-color .15s}.author-card.is-editing{border-color:var(--border-active)}.author-card-header{display:flex;align-items:center;gap:8px;padding:8px 12px}.author-card-index{font-size:.78rem;font-weight:600;color:var(--text-muted);width:20px;flex-shrink:0}.author-card-name{flex:1;font-size:.86rem;color:var(--text-primary);cursor:pointer;word-break:break-word}.author-card-name:hover{color:var(--text-accent, #6366f1)}.author-card-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.author-icon-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:3px;border-radius:4px;display:flex;align-items:center;transition:color .15s,background .15s}.author-icon-btn:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover)}.author-icon-btn:disabled{opacity:.3;cursor:default}.author-icon-btn-delete:hover:not(:disabled){color:#ef4444}.author-card-fields{padding:8px 12px 12px;border-top:1px solid var(--border-default);display:grid;gap:6px}.author-field-row{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:8px}.author-field-label{font-size:.74rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.author-field-input{background:var(--bg-input, var(--bg-surface));border:1px solid var(--border-default);border-radius:6px;color:var(--text-primary);font-size:.84rem;padding:5px 8px;outline:none;transition:border-color .15s}.author-field-input:focus{border-color:var(--border-active)}.author-field-checkbox{grid-template-columns:1fr}.author-field-checkbox label{display:flex;align-items:center;gap:6px;font-size:.84rem;color:var(--text-primary);cursor:pointer}.author-editor-add-section{display:flex;gap:8px;margin-top:12px}.author-add-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;border:1px dashed var(--border-default);background:none;color:var(--text-secondary);font-size:.82rem;cursor:pointer;transition:color .15s,border-color .15s}.author-add-btn:hover{color:var(--text-primary);border-color:var(--border-active)}.author-suggestions{margin-top:8px;border:1px solid var(--border-default);border-radius:10px;overflow:hidden}.author-suggestion-search{border:none;border-bottom:1px solid var(--border-default);border-radius:0;width:100%}.author-suggestions-list{max-height:150px;overflow-y:auto}.author-suggestion-item{padding:6px 12px;font-size:.84rem;color:var(--text-primary);cursor:pointer;transition:background .1s}.author-suggestion-item:hover{background:var(--bg-hover)}.author-suggestion-empty{padding:10px 12px;font-size:.82rem;color:var(--text-muted);text-align:center}.author-editor-error{margin-top:10px;padding:8px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:.82rem}.author-editor-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border-default)}.author-editor-cancel{padding:6px 16px;border-radius:8px;border:1px solid var(--border-default);background:none;color:var(--text-secondary);font-size:.84rem;cursor:pointer;transition:color .15s}.author-editor-cancel:hover{color:var(--text-primary)}.author-editor-save{padding:6px 16px;border-radius:8px;border:none;background:#6366f1;color:#fff;font-size:.84rem;font-weight:600;cursor:pointer;transition:background .15s}.author-editor-save:hover:not(:disabled){background:#4f46e5}.author-editor-save:disabled{opacity:.6;cursor:default}.import-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#00000073;display:flex;align-items:center;justify-content:center;padding:24px}.import-dialog{background:var(--bg-surface);border-radius:16px;border:1px solid var(--border-default);box-shadow:0 24px 48px #00000040;width:540px;max-width:100%;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.import-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-default)}.import-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.import-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:6px}.import-close:hover{color:var(--text-primary)}.import-tabs{display:flex;border-bottom:1px solid var(--border-default)}.import-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:.84rem;cursor:pointer;transition:color .15s,border-color .15s}.import-tab:hover{color:var(--text-primary)}.import-tab.active{color:#6366f1;border-bottom-color:#6366f1}.import-body{flex:1;overflow-y:auto;padding:16px 20px}.import-hint{font-size:.82rem;color:var(--text-secondary);margin:0 0 12px}.import-input-row{display:flex;align-items:center;gap:8px}.import-input{flex:1;background:var(--bg-input, var(--bg-surface));border:1px solid var(--border-default);border-radius:8px;color:var(--text-primary);font-size:.86rem;padding:8px 12px;outline:none;transition:border-color .15s}.import-input:focus{border-color:var(--border-active)}.import-type-badge{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6366f1;background:#6366f11a;border-radius:6px;padding:3px 8px;flex-shrink:0}.import-identifier-actions{display:flex;gap:8px;margin-top:10px}.import-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;font-size:.84rem;cursor:pointer;transition:background .15s,color .15s}.import-btn-secondary{background:none;border:1px solid var(--border-default);color:var(--text-secondary)}.import-btn-secondary:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-active)}.import-btn-primary{background:#6366f1;border:none;color:#fff;font-weight:600}.import-btn-primary:hover:not(:disabled){background:#4f46e5}.import-btn:disabled{opacity:.5;cursor:default}.import-btn-full{width:100%;justify-content:center;margin-top:10px}.import-preview{margin-top:14px;border:1px solid var(--border-default);border-radius:12px;padding:12px 14px;background:var(--bg-card)}.import-preview-badge{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6366f1;margin-bottom:6px}.import-preview-title{font-size:.9rem;font-weight:600;color:var(--text-primary);line-height:1.3;margin-bottom:4px}.import-preview-authors{font-size:.82rem;color:var(--text-secondary);margin-bottom:4px}.import-preview-meta{display:flex;gap:12px;font-size:.78rem;color:var(--text-muted)}.import-bibtex-section{display:flex;flex-direction:column;gap:10px}.import-bibtex-textarea{width:100%;min-height:180px;background:var(--bg-input, var(--bg-surface));border:1px solid var(--border-default);border-radius:8px;color:var(--text-primary);font-family:Cascadia Code,Fira Code,monospace;font-size:.82rem;padding:10px 12px;outline:none;resize:vertical;transition:border-color .15s}.import-bibtex-textarea:focus{border-color:var(--border-active)}.import-bibtex-actions{display:flex;gap:8px;justify-content:flex-end}.import-file-label{cursor:pointer}.import-error{margin-top:10px;padding:8px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:.82rem}.cat-tree{display:flex;flex-direction:column;gap:2px;min-height:0;position:relative;font-size:.85rem}.cat-header{display:flex;padding:0 4px;margin-bottom:4px;align-items:center;gap:6px}.cat-create-btn{display:inline-flex;align-items:center;gap:5px;border:1px dashed var(--border-input);background:transparent;color:var(--text-muted);font-size:.8rem;font-weight:500;padding:4px 10px;border-radius:8px;cursor:pointer;transition:all .15s ease}.cat-create-btn:hover{border-color:var(--text-muted);color:var(--text-secondary);background:var(--bg-panel)}.cat-export-buttons{display:flex;gap:4px;margin-left:auto}.cat-export-btn{display:inline-flex;align-items:center;gap:3px;border:1px solid var(--border-default);background:var(--bg-panel);color:var(--text-muted);font-size:.68rem;font-weight:600;padding:3px 7px;border-radius:6px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.cat-export-btn:hover{border-color:var(--border-input);color:var(--text-secondary);background:var(--bg-accent)}.cat-filter-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.75rem;color:var(--tab-active-fg);padding:5px 10px;border-radius:8px;background:var(--bg-warning);border:1px solid var(--tab-active-border);margin:0 4px 4px}.cat-filter-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-filter-clear{flex-shrink:0;border:1px solid var(--border-default);background:var(--bg-card);color:var(--text-primary);border-radius:6px;padding:2px 8px;font-size:.7rem;cursor:pointer;transition:all .12s ease}.cat-filter-clear:hover{border-color:#f59e0b;color:var(--tab-active-fg)}.cat-empty{font-size:.82rem;color:var(--text-muted);padding:12px 8px;text-align:center}.cat-list,.cat-children{display:flex;flex-direction:column}.cat-row{display:flex;align-items:center;gap:4px;padding:5px 6px 5px 8px;margin:1px 4px;border-radius:8px;border:1px solid transparent;cursor:default;min-width:0;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,opacity .15s ease;-webkit-user-select:none;user-select:none}.cat-row:hover{background:var(--bg-panel);border-color:var(--border-default)}.cat-row--selected{background:var(--bg-warning);border-color:#fde68a}.cat-row--selected:hover{background:var(--bg-warning);border-color:#fcd34d}.cat-row--dragging{opacity:.4}.cat-row--drop-inside{background:#eff6ff;border-color:#93c5fd;box-shadow:0 0 0 2px #3b82f61f}.cat-row--item-drop{background:#f0fdf4;border-color:#86efac;box-shadow:0 0 0 2px #22c55e1f}.cat-row--editing{background:var(--bg-card);border-color:var(--border-input);box-shadow:0 0 0 2px #64748b14}.cat-collapse-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;border:none;background:transparent;color:var(--text-muted);border-radius:4px;cursor:pointer;transition:color .12s ease,background .12s ease;padding:0}.cat-collapse-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.cat-collapse-btn svg{transition:transform .2s ease;transform:rotate(0)}.cat-collapse-btn .cat-chevron--open{transform:rotate(90deg)}.cat-collapse-spacer{display:inline-block;width:20px;flex-shrink:0}.cat-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--text-primary);line-height:1.4}.cat-edit-input{flex:1;min-width:0;border:1px solid #93c5fd;border-radius:6px;padding:2px 8px;font-size:.85rem;font-weight:500;color:var(--text-primary);background:var(--bg-card);outline:none;transition:border-color .12s ease,box-shadow .12s ease}.cat-edit-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.cat-actions{display:flex;align-items:center;gap:2px;flex-shrink:0;opacity:0;transition:opacity .12s ease}.cat-row:hover .cat-actions,.cat-row--editing .cat-actions{opacity:1}.cat-action-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;border-radius:6px;cursor:pointer;padding:0;transition:background .12s ease,color .12s ease}.cat-add-btn{color:var(--text-muted)}.cat-add-btn:hover{background:var(--border-default);color:var(--text-secondary)}.cat-delete-btn{color:#ef4444;position:relative;overflow:hidden}.cat-delete-btn:hover{background:#ef444414}.cat-delete-btn svg{position:relative;z-index:2}.cat-delete-btn:after{content:"";position:absolute;left:0;top:0;bottom:0;width:100%;background:linear-gradient(90deg,#f59e0b33,#f59e0b0f);transform-origin:left center;transform:scaleX(0);z-index:1;pointer-events:none;border-radius:6px}.cat-delete--arming{color:#f59e0b}.cat-delete--arming:after{animation:cat-arm-fill 1.5s linear forwards}.cat-delete--armed:after{transform:scaleX(1)}.cat-delete--armed{color:#b91c1c;background:#ef44441a}@keyframes cat-arm-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.cat-drop-indicator{height:2px;background:#3b82f6;border-radius:2px;margin:0 4px;position:relative;pointer-events:none}.cat-drop-indicator:before{content:"";position:absolute;left:-3px;top:-3px;width:8px;height:8px;border-radius:50%;background:#3b82f6}.cat-root-drop-end{min-height:24px;flex:1;border-radius:8px;margin:2px 4px;transition:background .12s ease}.cat-root-drop-end--active{background:#eff6ff}.cat-toast{position:absolute;right:8px;bottom:8px;background:var(--text-primary);color:var(--bg-hover);font-size:.72rem;font-weight:500;padding:5px 12px;border-radius:999px;box-shadow:0 4px 12px #0f172a26;pointer-events:none;z-index:10}.cat-toast-enter-active{transition:all .2s ease-out}.cat-toast-leave-active{transition:all .2s ease-in}.cat-toast-enter-from,.cat-toast-leave-to{opacity:0;transform:translateY(6px)}.overview-page{min-height:100vh;background:var(--bg-page);position:relative}.overview-top-actions{position:absolute;top:16px;right:24px;display:flex;gap:12px;z-index:2}.overview{height:100vh;padding:80px 48px 48px;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto}.overview-card{width:min(760px,100%);background:var(--bg-card);border-radius:var(--radius-2xl);border:1px solid var(--border-default);box-shadow:var(--shadow-xl);padding:28px 26px;display:grid;gap:20px}.overview-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.overview-title{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.overview-subtitle{color:var(--text-muted);font-size:.95rem;margin-top:4px}.overview-action{border:none;border-radius:var(--radius-lg);padding:10px 14px;background:var(--btn-primary-bg);color:var(--btn-primary-fg);font-weight:600;cursor:pointer}.import-project-popover-anchor{position:relative}.import-project-popover{position:absolute;top:calc(100% + 8px);right:0;width:min(560px,calc(100vw - 32px));padding:16px;border-radius:var(--radius-xl);border:1px solid var(--border-default);background:var(--bg-card);box-shadow:var(--shadow-xl);z-index:20;display:grid;gap:10px}.import-popover-title{font-size:1rem;font-weight:700;color:var(--text-primary)}.import-popover-subtitle{margin:0;font-size:.86rem;color:var(--text-muted)}.import-drop-zone{border:1px dashed var(--border-default);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg-panel) 78%,var(--bg-card));display:grid;gap:8px;justify-items:start;padding:14px;transition:border-color .16s ease,background-color .16s ease}.import-drop-zone.is-dragging{border-color:var(--btn-blue-bg);background:color-mix(in srgb,var(--bg-accent) 34%,var(--bg-card))}.import-drop-title{font-size:.9rem;font-weight:700;color:var(--text-primary)}.import-drop-hint{font-size:.8rem;color:var(--text-muted)}.import-hidden-input{display:none}.import-pick-button{min-width:130px}.import-selection{margin:0;font-size:.8rem;color:var(--text-secondary)}.import-popover-actions{display:flex;justify-content:flex-end;gap:8px}.overview-loading,.overview-error,.overview-empty{font-size:.95rem;color:var(--text-secondary);background:var(--bg-panel);border-radius:var(--radius-lg);padding:14px 16px;border:1px solid var(--border-default)}.overview-error{color:var(--text-danger);background:var(--bg-danger);border-color:var(--border-danger)}.overview-grid{display:grid;gap:12px}.overview-project{border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:14px 16px;background:var(--bg-card);text-align:left;display:grid;align-items:center;gap:16px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.overview-project:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.overview-project-main{display:grid;gap:6px}.overview-project-title{font-weight:600;color:var(--text-primary)}.overview-project-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.overview-open-users{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.overview-open-user-badge{width:22px;height:22px;border-radius:999px;background:color-mix(in srgb,var(--bg-accent) 65%,var(--bg-card));color:var(--text-primary);border:1px solid var(--border-default);display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;line-height:1}.overview-open-user-badge-more{width:auto;min-width:22px;padding:0 7px}.overview-project-meta{color:var(--text-muted);font-size:.85rem;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.overview-project-role{text-transform:uppercase;font-weight:700;letter-spacing:.04em}.overview-project-key{font-family:Cascadia Code,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.overview-project-share-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}.overview-project-share{border:1px solid var(--border-default);border-radius:var(--radius-md);padding:6px 10px;background:var(--bg-panel);color:var(--text-secondary);font-size:.82rem;font-weight:600;cursor:pointer}.overview-project-share:disabled{opacity:.7;cursor:progress}.overview-project-share-message{color:var(--text-secondary);font-size:.8rem}.overview-project-share-error{color:var(--text-danger);font-size:.8rem}@media(max-width:900px){.import-project-popover{right:-12px;width:min(520px,calc(100vw - 20px))}}.settings-menu,.account-menu{position:relative;display:inline-flex}.account-popover{position:absolute;top:48px;right:0;min-width:200px;padding:12px 14px;border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-default);box-shadow:var(--shadow-lg);display:grid;gap:4px;z-index:60}.settings-popover{width:min(320px,calc(100vw - 28px));min-width:min(320px,calc(100vw - 28px));gap:12px;max-height:80vh;overflow-y:auto}.settings-popover-layout{display:grid;grid-template-columns:1fr;gap:10px}.settings-card{display:grid;gap:8px;padding:10px;border-radius:var(--radius-md);border:1px solid var(--border-default);background:color-mix(in srgb,var(--bg-card) 88%,var(--bg-panel))}.settings-card.span-2{grid-column:auto}.settings-card-title{font-size:.78rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.settings-row{display:grid;gap:3px}.settings-label,.account-title{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.settings-value{font-size:.9rem;color:var(--text-primary);word-break:break-all}.settings-divider,.account-divider{height:1px;background:var(--border-default);margin:4px 0}.settings-inline-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.settings-field{display:grid;gap:6px;font-size:.85rem;color:var(--text-secondary)}.settings-field input[type=file]{font-size:.8rem}.settings-hint{font-size:.75rem;color:var(--text-muted)}.settings-input{border:1px solid var(--border-input);border-radius:var(--radius-md);padding:8px 10px;font-size:.9rem;color:var(--text-primary);background:var(--bg-input)}.settings-input:focus,.invite-list-input:focus{outline:2px solid rgba(37,99,235,.25);border-color:var(--btn-blue-bg)}.settings-section,.settings-danger,.members-section{display:grid;gap:8px}.settings-inline-action{min-width:74px}.settings-button{border:none;border-radius:var(--radius-md);padding:8px 12px;background:var(--btn-blue-bg);color:var(--btn-blue-fg);font-weight:600;cursor:pointer;min-height:38px;display:flex;align-items:center;justify-content:center;font-size:.85rem}.settings-button.danger{background:var(--btn-danger-bg);color:var(--btn-danger-fg)}:root[data-theme=dark] .settings-button.danger{background:#7f1d1d!important;color:#fee2e2!important}.settings-button.ghost,.notification-action.decline{background:var(--btn-ghost-bg);color:var(--btn-ghost-fg)}.settings-button:disabled,.invite-button:disabled{background:var(--btn-disabled-bg);cursor:not-allowed}.settings-error{color:var(--text-danger);font-size:.8rem;margin:0}.settings-status{color:var(--text-success);font-size:.8rem;margin:0}.settings-danger .settings-button.danger{min-width:140px}.settings-warning{font-size:.8rem;color:var(--text-warning)}.settings-actions{display:flex;gap:8px;flex-wrap:wrap}.account-name{font-size:.95rem;font-weight:600;color:var(--text-primary)}.account-email{font-size:.85rem;color:var(--text-secondary);word-break:break-all}.account-logout-button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease}.account-logout-button:hover{background:var(--bg-hover, rgba(0,0,0,.06));color:var(--text-primary)}.toolbar-button,.side-panel-toggle,.pdf-search-trigger{--button-color: var(--text-secondary);--button-bg: color-mix(in srgb, var(--button-color) 14%, var(--bg-card));--button-border: color-mix(in srgb, var(--button-color) 52%, transparent);--button-shadow: color-mix(in srgb, var(--button-color) 24%, transparent);width:40px;height:40px;border-radius:12px;border:1.5px solid var(--button-border);background:var(--button-bg);color:var(--button-color);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 3px 8px color-mix(in srgb,var(--button-shadow) 55%,transparent);transition:border-color .15s ease,border-width .15s ease,box-shadow .15s ease,transform .15s ease}.toolbar-button:hover,.side-panel-toggle:hover,.pdf-search-trigger:hover{transform:translateY(-1px);border-color:var(--btn-blue-bg);box-shadow:0 6px 12px color-mix(in srgb,var(--btn-blue-bg) 16%,transparent)}.toolbar-button.is-selected,.side-panel-toggle.is-selected,.pdf-search-trigger.is-selected,.toolbar-button[aria-pressed=true]{border-width:2.5px}.toolbar-button svg,.side-panel-toggle svg,.pdf-search-trigger svg{width:18px;height:18px;fill:currentColor}.top-actions .toolbar-button,.pdf-search-trigger{--button-color: var(--text-secondary);--button-bg: var(--bg-card);--button-border: var(--border-subtle);--button-shadow: rgba(15, 23, 42, .12)}.members-header-row,.settings-title-row{display:flex;align-items:center;justify-content:space-between}.member-add-button{border:1px solid var(--border-default);border-radius:var(--radius-md);width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-card);color:var(--text-primary);font-size:1.2rem;line-height:1;font-weight:700;cursor:pointer}.members-list,.transfer-section{display:grid;gap:6px}.member-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);background:var(--bg-hover)}.member-info,.pending-invite-info{flex:1;min-width:0}.member-name{font-size:.85rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-email{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-role{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:2px 6px;border-radius:6px;background:var(--bg-panel)}.member-role.owner{color:var(--text-accent);background:var(--bg-accent)}.member-remove{padding:4px;border:none;background:none;cursor:pointer;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);transition:color .15s ease,background .15s ease}.member-remove svg{width:14px;height:14px;fill:currentColor}.member-remove-confirm{display:inline-flex;align-items:center;gap:4px}.member-remove.confirm,.member-remove.cancel{border:1px solid var(--border-default);border-radius:999px;padding:3px 8px;font-size:.7rem;font-weight:700;background:var(--bg-card)}.member-remove.confirm{color:var(--text-danger);border-color:color-mix(in srgb,var(--border-default) 72%,var(--text-danger))}.member-remove.cancel{color:var(--text-muted)}.invite-button{border:none;border-radius:var(--radius-md);padding:7px 12px;background:var(--btn-primary-bg);color:var(--btn-primary-fg);font-weight:600;font-size:.82rem;cursor:pointer;white-space:nowrap}.pending-invite{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:var(--radius-sm);background:var(--bg-warning);font-size:.8rem}.pending-invite-name{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pending-invite-label{font-size:.7rem;color:var(--text-warning);font-weight:600;text-transform:uppercase}.pending-invite-cancel{padding:3px 8px;border:none;border-radius:6px;background:none;cursor:pointer;font-size:.75rem;font-weight:600;color:var(--text-muted)}.pending-invite-cancel:hover,.member-remove:hover{color:var(--text-danger);background:var(--bg-danger)}.transfer-select{border:1px solid var(--border-input);border-radius:var(--radius-md);padding:7px 10px;font-size:.85rem;color:var(--text-primary);background:var(--bg-input)}.transfer-confirm-row{display:flex;gap:6px;flex-wrap:wrap}.invite-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:120}.invite-modal{width:min(560px,calc(100vw - 32px));max-height:min(520px,calc(100vh - 32px));overflow:auto;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:grid;gap:10px;padding:16px}.invite-modal-title{font-size:1rem;font-weight:700;color:var(--text-primary)}.invite-modal-subtitle{margin:0;font-size:.82rem;color:var(--text-muted)}.invite-list-input{width:100%;border:1px solid var(--border-input);border-radius:var(--radius-md);padding:10px 12px;resize:vertical;min-height:120px;color:var(--text-primary);background:var(--bg-input);font-family:inherit;font-size:.88rem}.invite-modal-actions{display:flex;justify-content:flex-end;gap:8px}@media(max-width:880px){.settings-popover{width:min(620px,calc(100vw - 24px));min-width:min(620px,calc(100vw - 24px))}.settings-popover-layout{grid-template-columns:1fr}.settings-card.span-2{grid-column:auto}.settings-inline-field{grid-template-columns:1fr}.settings-inline-action{width:100%}}.notification-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:9px;background:var(--btn-danger-bg);color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;pointer-events:none}.notification-list{display:grid;gap:10px;max-height:320px;overflow-y:auto;padding-right:2px}.notification-item{display:grid;gap:6px;padding:12px;border-radius:12px;background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--bg-accent) 48%,transparent) 0%,transparent 58%),var(--bg-hover);border:1px solid color-mix(in srgb,var(--border-default) 84%,var(--text-primary));box-shadow:0 8px 24px #0f172a14;font-size:.82rem}.member-add-button:hover,.notification-item.unread{border-color:var(--border-active);box-shadow:0 10px 28px #0f172a24}.notification-title{font-weight:700;color:var(--text-primary);letter-spacing:.01em;font-size:.94rem;line-height:1.2}.notification-title.invitation{font-size:.94rem;color:var(--text-primary)}.notification-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px}.notification-project{color:var(--text-primary);font-size:.9rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-inviter{color:var(--text-secondary);font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-body{color:var(--text-secondary);font-size:.79rem;line-height:1.35}.notification-time{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;align-self:start}.notification-actions{display:flex;gap:8px;margin-top:2px}.notification-actions.invitation{justify-content:center}.notification-action{border:1px solid transparent;border-radius:999px;padding:5px 12px;font-size:.75rem;font-weight:700;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.notification-action:hover{transform:translateY(-1px);filter:saturate(1.05)}.notification-action.accept{background:linear-gradient(120deg,var(--btn-primary-bg),color-mix(in srgb,var(--btn-primary-bg) 72%,#ffffff));color:var(--btn-primary-fg);box-shadow:0 6px 16px color-mix(in srgb,var(--btn-primary-bg) 36%,transparent)}.notification-action.decline{background:color-mix(in srgb,var(--bg-panel) 82%,var(--bg-danger));color:var(--text-primary);border-color:color-mix(in srgb,var(--border-default) 76%,var(--text-danger))}.notification-action.dismiss{background:none;color:var(--text-muted);padding:4px 8px}.notification-action.dismiss:hover{color:var(--text-danger)}.theme-toggle{position:relative}.hk-trigger-button{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-input, #d4d4d4);border-radius:8px;background:var(--bg-input, #f5f5f5);color:var(--text-muted, #888);font-size:.82rem;font-weight:700;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.hk-trigger-button:hover{border-color:var(--btn-blue-bg, #2563eb);color:var(--btn-blue-bg, #2563eb);background:#2563eb0f}.pdf-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;color:var(--text-secondary);font-weight:600}.spinner{width:36px;height:36px;border-radius:999px;border:4px solid var(--border-default);border-top-color:var(--border-active);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.missing-pdf{display:flex;align-items:center;justify-content:center;height:100%;padding:24px}.missing-pdf-card{background:var(--bg-card);border:1px dashed var(--border-input);border-radius:18px;padding:26px 28px;width:min(420px,100%);text-align:center;box-shadow:0 16px 32px #0f172a14;display:grid;gap:12px}.missing-pdf-title{margin:0;font-size:1.1rem;color:var(--text-primary)}.missing-pdf-text{margin:0;color:var(--text-secondary);line-height:1.5}.missing-pdf-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.missing-pdf-input{display:none}.missing-pdf-error{margin:0;color:var(--text-danger);background:var(--bg-danger);border-radius:10px;padding:8px 10px;font-size:.8rem}.viewport{background:var(--bg-page);height:100%;position:relative}.page{position:relative;margin:18px auto;background:var(--bg-card);box-shadow:var(--shadow-lg);border-radius:12px;overflow:hidden;-webkit-user-drag:none}.page canvas{-webkit-user-drag:none;-moz-user-select:none;-webkit-user-select:none;user-select:none}.overlay{position:absolute;left:0;top:0;pointer-events:none}.link-overlay{position:absolute;left:0;top:0;pointer-events:none;z-index:20}.link-hit{position:absolute;pointer-events:auto;cursor:pointer;text-decoration:none;background:transparent;display:block;z-index:30}.overlay .highlight{position:absolute;border:none;--highlight-rgb: var(--annotation-highlight-rgb);--highlight-alpha: .3;--highlight-selected-alpha: .45;background:rgba(var(--highlight-rgb),var(--highlight-alpha));box-sizing:border-box;border-radius:4px;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;pointer-events:auto;cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.overlay .highlight.direct{--highlight-rgb: var(--annotation-direct-rgb);--highlight-alpha: .28}.overlay .highlight.indirect{--highlight-rgb: var(--annotation-indirect-rgb);--highlight-alpha: .28}.overlay .highlight.summary{--highlight-rgb: var(--annotation-summary-rgb);--highlight-alpha: .22;--highlight-selected-alpha: .4}.overlay .highlight.comment{--highlight-rgb: var(--annotation-comment-rgb);--highlight-alpha: .22;--highlight-selected-alpha: .4}.overlay .highlight.red{--highlight-rgb: var(--annotation-quotation-rgb);--highlight-alpha: .25}.overlay .highlight.selected{background:rgba(var(--highlight-rgb),var(--highlight-selected-alpha));box-shadow:inset 0 0 0 1px rgba(var(--highlight-rgb),var(--highlight-selected-alpha))}.overlay .highlight.area,.overlay .highlight.area-box{background:rgba(var(--annotation-area-rgb),.08);border:2px dashed rgba(var(--annotation-area-rgb),.65);border-radius:3px}.overlay .highlight.area.selected,.overlay .highlight.area-box.selected{background:rgba(var(--annotation-area-rgb),.15);border-color:rgba(var(--annotation-area-rgb),.9);box-shadow:0 0 0 2px rgba(var(--annotation-area-rgb),.2)}.annotation-marker{position:absolute;width:4px;border-radius:999px;pointer-events:auto;cursor:pointer;background:#f97316b3;box-shadow:0 0 0 1px #ffffffb3}.annotation-marker.summary{background:#22c55ecc}.annotation-marker.comment{background:#f97316cc}.annotation-marker.summary.selected{background:#16a34a}.annotation-marker.comment.selected{background:#ea580c}.selection-overlay{position:absolute;left:0;top:0;pointer-events:none;z-index:60}.selection-rect{position:absolute;border-radius:4px;background:#3b82f633;border:1px solid rgba(59,130,246,.45);box-shadow:inset 0 0 0 1px #ffffff80}.selection-rect.pending{background:#6366f133;border-color:#6366f180}.selection-rect.remote{border:none;box-shadow:none;position:relative}.selection-rect.remote.highlight{border-radius:4px}.selection-user-label{position:absolute;top:-18px;left:0;font-size:.6rem;font-weight:700;color:#fff;padding:1px 5px;border-radius:4px 4px 4px 0;white-space:nowrap;pointer-events:auto;cursor:default;line-height:1.3;z-index:1;transition:opacity .14s ease}.selection-user-label:hover{opacity:.08}.live-overlay{z-index:60}.overlay .highlight.remote-live{pointer-events:none;cursor:default}.overlay .highlight.remote-live .selection-user-label{pointer-events:auto}.pdf-presence-strip{position:absolute;top:0;bottom:0;right:12px;z-index:80;pointer-events:none;width:max-content}.presence-marker{position:absolute;right:0;top:var(--presence-top, 84px);display:flex;align-items:center;gap:4px;justify-content:center;border:none;border-radius:999px;padding:2px;background:var(--presence-color, #6366f1);color:#fff;font-size:.58rem;font-weight:700;pointer-events:auto;cursor:pointer;box-shadow:0 2px 8px #0000002e;transition:top .28s cubic-bezier(.22,1,.36,1),transform .16s ease,box-shadow .16s ease,opacity .2s ease;white-space:nowrap;transform-origin:center right;animation:presence-float 2.8s ease-in-out infinite}.presence-marker:hover{transform:translate(-2px) scale(1.05);box-shadow:0 4px 12px #00000040}.presence-marker.is-top,.presence-marker.is-bottom{opacity:.94;padding-left:4px}.presence-marker.is-top:before,.presence-marker.is-bottom:before{content:"";width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;margin-right:1px;transform:translate(1px)}.presence-marker.is-top:before{border-bottom:7px solid rgba(255,255,255,.92)}.presence-marker.is-bottom:before{border-top:7px solid rgba(255,255,255,.92)}.presence-marker.is-inside{opacity:1}.presence-avatar{width:16px;height:16px;border-radius:999px;background:#ffffff40;display:flex;align-items:center;justify-content:center;font-size:.54rem;font-weight:800}.presence-page{min-width:12px;text-align:center;font-size:.72rem;font-weight:800;line-height:1;opacity:.9;padding-right:2px}@keyframes presence-float{0%,to{filter:saturate(1)}50%{filter:saturate(1.12)}}.viewer.suppress-native-selection .page ::selection{background:transparent;color:inherit}.viewer.suppress-native-selection .page ::-moz-selection{background:transparent;color:inherit}.search-input-wrap{position:relative;display:flex;align-items:center}.search-input-wrap .search-icon{position:absolute;left:10px;width:14px;height:14px;fill:var(--text-muted);pointer-events:none;flex-shrink:0}.search-input{width:100%;border:1px solid var(--border-input);border-radius:var(--radius-md);padding:7px 10px 7px 30px;font-size:.82rem;color:var(--text-primary);background:var(--bg-input);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.search-input:focus{border-color:var(--btn-blue-bg);box-shadow:0 0 0 2px #2563eb26}.search-input::placeholder{color:var(--text-muted)}.search-clear-button{position:absolute;right:6px;background:none;border:none;cursor:pointer;padding:2px;color:var(--text-muted);display:flex;align-items:center;justify-content:center}.search-clear-button:hover{color:var(--text-primary)}.project-search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-bg);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding-top:10vh}.project-search-panel{background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-default);box-shadow:var(--shadow-xl);width:620px;max-width:90vw;max-height:75vh;display:flex;flex-direction:column;overflow:hidden}.project-search-header{padding:16px 16px 12px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--border-default)}.project-search-header .search-input{font-size:.95rem;padding:10px 12px 10px 34px}.project-search-header .search-icon{width:16px;height:16px;left:12px}.project-search-results{overflow-y:auto;padding:8px 12px 12px;display:flex;flex-direction:column;gap:6px;min-height:60px}.project-search-empty,.project-search-hint{padding:24px 16px;text-align:center;color:var(--text-muted);font-size:.85rem}.search-result-card{border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-panel);padding:10px 12px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;display:flex;flex-direction:column;gap:6px}.search-result-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);border-color:var(--border-active)}.search-result-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.search-result-title{font-size:.85rem;font-weight:600;color:var(--text-primary);line-height:1.3}.search-result-type-badge{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 6px;border-radius:4px;background:var(--bg-accent);color:var(--text-accent)}.search-result-type-badge.badge-annotation{background:#facc152e;color:#92400e}.search-result-type-badge.badge-fulltext{background:#22c55e26;color:#166534}:root[data-theme=dark] .search-result-type-badge.badge-annotation{background:#facc151f;color:#fbbf24}:root[data-theme=dark] .search-result-type-badge.badge-fulltext{background:#22c55e1f;color:#4ade80}.search-result-authors{font-size:.75rem;color:var(--text-secondary)}.search-result-category{font-size:.7rem;color:var(--text-muted)}.search-result-snippet{font-size:.78rem;color:var(--text-secondary);line-height:1.4;background:var(--bg-hover);border-radius:var(--radius-sm);padding:6px 8px;word-break:break-word}.search-result-snippet mark{background:#facc1559;color:inherit;border-radius:2px;padding:0 1px}:root[data-theme=dark] .search-result-snippet mark{background:#facc1538}.search-result-page{font-size:.7rem;color:var(--text-muted)}.pdf-search-floating{position:absolute;bottom:24px;left:50%;transform:translate(-50%);z-index:150;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:8px 12px;display:flex;align-items:center;gap:8px;min-width:340px;max-width:500px}.pdf-search-floating .search-input{flex:1;min-width:0;border:none;background:transparent;padding:6px 8px 6px 28px;font-size:.88rem}.pdf-search-floating .search-input:focus{box-shadow:none}.pdf-search-floating .search-icon{left:8px}.pdf-search-nav{display:flex;align-items:center;gap:4px;flex-shrink:0}.pdf-search-count{font-size:.75rem;color:var(--text-muted);white-space:nowrap;min-width:48px;text-align:center}.pdf-search-nav-btn{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:28px;height:28px;padding:0;cursor:pointer;color:var(--text-primary);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.pdf-search-nav-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:var(--border-active)}.pdf-search-nav-btn:disabled{opacity:.4;cursor:default}.pdf-search-nav-btn svg{width:14px;height:14px;fill:currentColor}.pdf-search-close-btn{background:var(--bg-card);border:1px solid var(--border-subtle);cursor:pointer;width:28px;height:28px;padding:0;color:var(--text-muted);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,color .15s ease}.pdf-search-close-btn:hover{color:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:var(--border-active)}.pdf-search-close-btn svg{width:14px;height:14px;fill:currentColor}.pdf-search-highlight-rect{position:absolute;background:#facc1559;border:1px solid rgba(250,204,21,.7);border-radius:2px;pointer-events:none;mix-blend-mode:multiply}.pdf-search-highlight-rect.active{background:#f9731673;border-color:#f97316cc}.project-search-trigger{position:relative;display:inline-flex}.pdf-search-trigger{position:relative}
