*{box-sizing:border-box}:root{--sidebar-width: 340px;--bg: #f4f5f7;--panel: #ffffff;--border: #e2e4e8;--text: #1f2328;--muted: #6b7280;--accent: #2563eb;--accent-soft: #e8f0fe;--highlight: #ffec3d;--danger: #dc2626;--danger-soft: #fee2e2;--tag-bg: #eef2ff;--tag-border: #dbe4ff;--count-bg: rgba(0, 0, 0, .08);--shadow: rgba(0, 0, 0, .18)}:root{color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--bg: #16181d;--panel: #1f2228;--border: #333842;--text: #e6e8eb;--muted: #9aa2ad;--accent: #4f8cff;--accent-soft: rgba(79, 140, 255, .16);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .16);--tag-bg: rgba(79, 140, 255, .16);--tag-border: rgba(79, 140, 255, .32);--count-bg: rgba(255, 255, 255, .1);--shadow: rgba(0, 0, 0, .5)}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg)}.app{display:flex;height:100vh;overflow:hidden}.sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto}.sidebar-header{padding:16px;border-bottom:1px solid var(--border)}.title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.sidebar-header h1{font-size:18px;margin:0}.theme-toggle{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;width:32px;height:32px;font-size:15px;cursor:pointer;flex-shrink:0}.theme-toggle:hover{border-color:var(--accent)}.sidebar h2{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 8px}.upload-btn{width:100%;padding:10px;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}.upload-btn:hover{filter:brightness(1.05)}.view-tabs{display:flex;gap:8px;margin-top:14px}.view-tabs button{flex:1;padding:14px 12px;font-size:15px;font-weight:700;border:1px solid var(--border);background:var(--bg);color:var(--muted);border-radius:8px;cursor:pointer}.view-tabs button.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.pdf-list-section,.collections-section,.highlights-section{padding:16px;border-bottom:1px solid var(--border)}.highlights-section{flex:1}.empty-note{font-size:13px;color:var(--muted);margin:4px 0}.pdf-list,.highlight-list{list-style:none;margin:0;padding:0}.pdf-list-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:14px}.pdf-list-item:hover{background:var(--bg)}.pdf-list-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.pdf-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delete-btn{border:none;background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;padding:0 4px;border-radius:4px}.delete-btn:hover{color:var(--danger);background:var(--danger-soft)}.collection-manager-list{list-style:none;margin:0 0 10px;padding:0}.collection-manager-item{display:flex;align-items:center;gap:4px;padding:2px 0}.collection-open{flex:1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:14px;color:var(--text);text-align:left;min-width:0}.collection-open:hover{background:var(--bg)}.collection-open-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collection-open-count{flex-shrink:0;font-size:11px;color:var(--muted);background:var(--bg);border-radius:999px;padding:1px 8px}.collection-edit-input{flex:1;padding:6px 8px;border:1px solid var(--accent);border-radius:6px;font-size:14px;min-width:0}.collection-edit-input:focus{outline:none}.collection-actions{display:flex;gap:2px}.mini-btn{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:13px;padding:4px 6px;border-radius:4px;line-height:1}.mini-btn:hover{background:var(--bg);color:var(--text)}.mini-btn.danger:hover{background:var(--danger-soft);color:var(--danger)}.new-collection.sidebar{margin-top:4px}.new-collection.sidebar input{font-size:13px}.search-bar{position:relative;margin-bottom:10px}.search-bar input{width:100%;padding:8px 28px 8px 10px;border:1px solid var(--border);border-radius:6px;font-size:14px}.search-bar input:focus{outline:none;border-color:var(--accent)}.clear-search{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--muted);font-size:16px;cursor:pointer}.highlight-item{display:flex;align-items:flex-start;gap:4px;padding:4px 0;border-bottom:1px solid var(--border)}.highlight-text{flex:1;display:flex;flex-direction:column;gap:3px;text-align:left;background:transparent;border:none;cursor:pointer;padding:6px;border-radius:6px}.highlight-text:hover{background:var(--bg)}.highlight-quote{font-size:13px;line-height:1.4;border-left:3px solid var(--highlight);padding-left:8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.highlight-meta{font-size:11px;color:var(--muted)}.swatch{display:none}.viewer-pane{flex:1;overflow:hidden;position:relative;display:flex}.viewer-pane.dragging:after{content:"Drop PDF to upload";position:absolute;top:16px;right:16px;bottom:16px;left:16px;border:3px dashed var(--accent);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--accent);background:#2563eb0f;z-index:10;pointer-events:none}.dropzone{margin:auto;color:var(--muted);font-size:16px;text-align:center;padding:40px}.pdf-viewer{flex:1;overflow:auto;padding:24px;display:flex;flex-direction:column;align-items:center;gap:24px}.pdf-loading{color:var(--muted);margin-top:40px}.pdf-page{position:relative;box-shadow:0 1px 6px var(--shadow);background:#fff}.pdf-canvas{display:block;position:relative;z-index:0}.highlight-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.highlight-box{position:absolute;background:var(--highlight);opacity:.4;mix-blend-mode:multiply;border-radius:2px}.saved-quotes{flex:1;overflow:auto;padding:28px 32px;width:100%}.saved-quotes-head{max-width:820px;margin:0 auto 20px}.saved-quotes-head h2{font-size:22px;margin:0;color:var(--text);text-transform:none;letter-spacing:0}.saved-quotes-count{font-size:13px;color:var(--muted);margin:4px 0 14px}.search-bar.wide input{padding:10px 30px 10px 12px;font-size:15px}.empty-note.big{text-align:center;font-size:15px;margin-top:60px}.quote-group{max-width:820px;margin:0 auto 26px}.quote-group-title{font-size:13px;font-weight:700;color:var(--muted);margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quote-cards{display:grid;gap:12px;max-width:820px;margin:0 auto}.quote-card{display:flex;align-items:flex-start;background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.quote-card:hover{border-color:var(--accent);box-shadow:0 1px 4px #0000000f}.quote-card-open{flex:1;text-align:left;border:none;background:transparent;cursor:pointer;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.quote-card-open blockquote{margin:0;font-size:15px;line-height:1.5;border-left:4px solid var(--highlight);padding-left:12px;color:var(--text)}.quote-card-meta{font-size:12px;color:var(--muted)}.quote-card .delete-btn{margin:10px 10px 0 0;font-size:20px}.quote-note-wrap{padding:0 16px 12px}.quote-note{margin:0;font-size:13px;line-height:1.5;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 10px;cursor:text;white-space:pre-wrap}.quote-note:hover{border-color:var(--accent)}.add-note-btn{font-size:12px;color:var(--muted);background:transparent;border:none;cursor:pointer;padding:2px 0}.add-note-btn:hover{color:var(--accent)}.quote-note-input{width:100%;font-size:13px;line-height:1.5;font-family:inherit;color:var(--text);background:var(--panel);border:1px solid var(--accent);border-radius:6px;padding:8px 10px;resize:vertical}.quote-note-input:focus{outline:none}.collection-filter{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.filter-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:999px;font-size:13px;cursor:pointer}.filter-pill:hover{border-color:var(--accent)}.filter-pill.on{background:var(--accent);border-color:var(--accent);color:#fff}.pill-count{font-size:11px;background:var(--count-bg);border-radius:999px;padding:1px 7px}.filter-pill.on .pill-count{background:#ffffff40}.quote-card-body{flex:1;display:flex;flex-direction:column}.quote-card-tags{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 12px}.tag{font-size:12px;padding:3px 9px;border-radius:999px;background:var(--tag-bg);color:var(--accent);border:1px solid var(--tag-border)}.add-tag{background:transparent;color:var(--muted);border:1px dashed var(--border);cursor:pointer}.add-tag:hover{color:var(--accent);border-color:var(--accent)}.collection-picker{padding:10px 16px 14px;border-top:1px solid var(--border)}.collection-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.chip{font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.new-collection{display:flex;gap:6px}.new-collection input{flex:1;padding:7px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px}.new-collection input:focus{outline:none;border-color:var(--accent)}.new-collection button{padding:7px 12px;border:none;border-radius:6px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;cursor:pointer}.new-collection button:disabled{opacity:.5;cursor:default}.filing-popup{position:fixed;z-index:50;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 28px var(--shadow);overflow:hidden}.filing-popup-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border)}.filing-popup-title{font-size:13px;font-weight:600}.filing-popup-close{border:none;background:transparent;font-size:18px;color:var(--muted);cursor:pointer;line-height:1}.filing-popup-quote{margin:0;padding:10px 12px;font-size:13px;line-height:1.4;color:var(--muted);border-left:3px solid var(--highlight);max-height:66px;overflow:hidden}.filing-popup .collection-picker{border-top:1px solid var(--border)}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:clip;opacity:1;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;caret-color:transparent;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0% 0%}.textLayer ::selection{background:#2563eb59}
