.bookmarks{background:var(--background-color);border-left:1px solid var(--border-color);box-shadow:-2px 0 18px #0009;display:flex;flex-direction:column;flex-shrink:0;height:100%;margin-right:-320px;order:3;transition:margin-right .3s cubic-bezier(.4,0,.2,1);width:320px;z-index:850}.bookmarks.open{margin-right:0}.bookmarks-header{background:#0000;border-bottom:1px solid var(--border-color);flex-shrink:0;padding:16px}.bookmarks-header h3{color:var(--text-color);font-size:16px;font-weight:600;margin:0}.bookmarks-content{display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:20px 16px}.bookmarks-container{display:flex;flex-direction:column;gap:4px}.bookmark-item{align-items:center;background:var(--surface-bg);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px;transition:all .2s ease}.bookmark-item:hover{background:#ffffff05;border-color:var(--border-color);box-shadow:0 6px 18px #0009}.bookmark-title{word-wrap:break-word;color:var(--text-color);flex:1 1;font-size:14px;font-weight:500;line-height:1.5}.bookmark-remove{align-items:center;background:none;border:none;border-radius:4px;color:var(--icon-color);cursor:pointer;display:flex;font-size:18px;font-weight:400;height:24px;justify-content:center;margin-left:8px;padding:4px;transition:all .2s ease;width:24px}.bookmark-remove:hover{background:#ffffff08;color:var(--muted-text)}.bookmarks-empty{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:8px;color:var(--muted-text);display:flex;font-size:14px;justify-content:center;padding:32px 16px;text-align:center}.bookmarks-empty p{font-weight:500;margin:0}.bookmarks-content::-webkit-scrollbar{width:6px}.bookmarks-content::-webkit-scrollbar-track{background:#2b2b2b;border-radius:3px}.bookmarks-content::-webkit-scrollbar-thumb{background:#444;border-radius:3px}.bookmarks-content::-webkit-scrollbar-thumb:hover{background:#555}.floating-toolbar{align-items:center;background:var(--floating-toolbar-bg);border:1px solid var(--border-color);border-radius:8px;bottom:20%;box-shadow:var(--shadow-3);box-sizing:border-box;display:flex;flex-direction:row;gap:2px;height:60px;left:24px;padding:0 8px;position:fixed;transform:translateY(50%);z-index:1000}.floating-toolbar.is-dragging{cursor:grabbing}.floating-toolbar .icon-button{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--icon-color);cursor:pointer;display:inline-flex;height:44px;justify-content:center;padding:4px;width:44px}.floating-toolbar .icon-button:hover{background:var(--hover-color)}.floating-toolbar .icon-button svg{fill:#fff;stroke:#fff;color:#fff;height:18px;width:18px}.floating-toolbar .icon-button.textbox-button svg{height:18px;width:24px}.floating-toolbar .icon-button.is-active{background:var(--primary-color);border:1px solid var(--primary-color);box-shadow:var(--shadow-1);color:var(--icon-color)}.floating-toolbar .icon-button.is-active svg{fill:currentColor;stroke:currentColor}.floating-toolbar .icon-button.disabled{cursor:not-allowed;opacity:.4}.floating-toolbar .icon-button.disabled svg{fill:#fff6;stroke:#fff6}.floating-toolbar .floating-separator{background:var(--border-color);height:20px;margin:0 2px;width:1px}.floating-toolbar .drag-handle{align-items:center;border-radius:6px;cursor:grab;display:flex;height:60px;justify-content:center;margin-right:2px;width:20px}.floating-toolbar .drag-handle .grip{background-image:radial-gradient(#fff 1.5px,#0000 0);background-position:0 0,2px 2px;background-size:4px 4px;display:inline-block;height:32px;margin-right:3px;opacity:.6;width:12px}@media (max-width:1024px){.floating-toolbar{border-radius:14px;height:56px;padding:0 6px}.floating-toolbar .icon-button{height:40px;padding:2px;width:40px}.floating-toolbar .icon-button svg{height:16px;width:16px}.floating-toolbar .icon-button.textbox-button svg{height:16px;width:22px}.floating-toolbar .drag-handle{height:56px;width:18px}.floating-toolbar .drag-handle .grip{background-position:0 0,1.5px 1.5px;background-size:3px 3px;height:26px;width:8px}.floating-toolbar .floating-separator{height:18px}}@media (max-width:768px){.floating-toolbar{border-radius:12px;height:52px;left:16px;padding:0 4px}.floating-toolbar .icon-button{height:36px;padding:2px;width:36px}.floating-toolbar .icon-button svg{height:14px;width:14px}.floating-toolbar .icon-button.textbox-button svg{height:14px;width:19px}.floating-toolbar .drag-handle{height:52px;margin-right:2px;width:16px}.floating-toolbar .drag-handle .grip{background-position:0 0,1.5px 1.5px;background-size:3px 3px;height:22px;width:6px}.floating-toolbar .floating-separator{height:16px}}.faq-button{align-items:center;background:#5d5d5d;border:none;border-radius:50%;bottom:22px;box-shadow:var(--shadow-3);cursor:pointer;display:inline-flex;height:50px;justify-content:center;position:fixed;right:74px;width:50px;z-index:800}.faq-button:focus-visible{box-shadow:var(--focus-ring);outline:none}.faq-icon{height:26px;pointer-events:none;width:26px}@media (max-width:768px){.faq-button{bottom:18px;height:46px;right:20px;width:46px}}.notes{background:var(--background-color);border-left:1px solid var(--border-color);box-shadow:-2px 0 18px #0009;display:flex;flex-direction:column;flex-shrink:0;height:100%;margin-right:-320px;order:4;transition:margin-right .3s cubic-bezier(.4,0,.2,1);width:320px;z-index:840}.notes.open{margin-right:0}.notes-header{background:#0000;border-bottom:1px solid var(--border-color);flex-shrink:0;padding:16px}.notes-header h3{color:var(--text-color);font-size:16px;font-weight:600;margin:0}.notes-content{flex:1 1;overflow-y:auto;padding:20px 16px}.notes-container,.notes-content{display:flex;flex-direction:column;gap:12px}.note-item{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;overflow:hidden;transition:all .2s ease}.note-item:hover{background:#ffffff05;border-color:var(--border-color);box-shadow:0 6px 18px #0009}.note-header{background:#0000;border-bottom:1px solid var(--border-color);justify-content:space-between;padding:12px 16px}.note-header,.note-remove{align-items:center;display:flex}.note-remove{background:none;border:none;border-radius:4px;color:var(--icon-color);cursor:pointer;font-size:16px;font-weight:400;height:22px;justify-content:center;padding:4px;transition:all .2s ease;width:22px}.note-remove:hover{background:#ffffff08;color:var(--muted-text)}.note-title{word-wrap:break-word;color:var(--muted-text);flex:1 1;font-size:13px;line-height:1.4}.note-actions{align-items:center;display:flex}.note-content{padding:16px}.note-preview{word-wrap:break-word;line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--text-color);display:-webkit-box;font-size:14px;line-height:1.6;margin-bottom:12px;max-height:72px;overflow:hidden}.note-meta{align-items:center;color:var(--muted-text);display:flex;font-size:12px;justify-content:space-between}.note-location{color:var(--muted-text);font-weight:500}.note-time{color:var(--muted-text);font-style:italic}.notes-empty{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:8px;color:var(--muted-text);display:flex;font-size:14px;justify-content:center;padding:32px 16px;text-align:center}.notes-empty p{font-weight:500;margin:0}.notes-content::-webkit-scrollbar{width:6px}.notes-content::-webkit-scrollbar-track{background:#2b2b2b;border-radius:3px}.notes-content::-webkit-scrollbar-thumb{background:#444;border-radius:3px}.notes-content::-webkit-scrollbar-thumb:hover{background:#555}.right-sidebar{background-color:var(--background-color);border-left:1px solid var(--border-color);box-shadow:var(--shadow-2);display:flex;flex-direction:column;height:calc(100vh - 56px);position:fixed;right:0;top:56px;width:56px;z-index:1000}.sidebar-bottom,.sidebar-top{align-items:center;display:flex;flex-direction:column;gap:12px;padding:16px 0}.sidebar-bottom{margin-top:auto;max-height:50%;padding-bottom:calc(16px + var(--bottom-safe-area))}.sidebar-icon-button{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--icon-color);cursor:pointer;display:flex;height:38px;justify-content:center;padding:0;transition:background .2s ease,transform .1s ease;width:38px}.sidebar-icon-button:hover:not(:disabled){background:var(--hover-color)}.sidebar-icon-button:active:not(:disabled){background:var(--active-color);transform:scale(.96)}.sidebar-icon-button:disabled{background-color:initial;cursor:not-allowed;opacity:.5}.sidebar-icon-button.is-active{background:var(--primary-color);border:1px solid var(--primary-color);box-shadow:var(--shadow-1);color:var(--icon-color)}.sidebar-icon-button.is-active:hover{background:var(--primary-color);box-shadow:var(--shadow-2)}.page-controls{align-items:center;display:flex;flex-direction:column;gap:8px}.page-info-vertical{color:var(--text-color);font-size:12px;font-weight:500}.page-info-vertical,.zoom-controls{align-items:center;display:flex;flex-direction:column;gap:6px}.zoom-reset{background-color:var(--surface-bg);color:var(--text-color)}.zoom-reset,.zoom-reset:hover{border-color:var(--border-color)}.zoom-reset:hover{background-color:var(--active-color)}.sidebar-separator{align-self:center;background-color:var(--border-color);border-radius:1px;height:2px;margin:10px 0;width:70%}.page-navigation-vertical{align-items:center;display:flex;flex-direction:column;position:relative}.current-page-box{align-items:center;background-color:var(--surface-bg);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;justify-content:center;min-width:24px;padding:6px;text-align:center;transition:all .2s ease;width:auto}.current-page-box:hover{background-color:var(--hover-color)}.total-pages-text{font-size:16px;margin-top:2px;opacity:.8}.page-input-container-vertical{align-items:center;animation:pageInputSlideIn .2s ease-out;display:flex;flex-direction:column;position:relative}@keyframes pageInputSlideIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.page-input-vertical{align-items:center;-webkit-appearance:none;appearance:none;background-color:var(--surface-bg);border:1px solid var(--border-color);border-radius:6px;box-sizing:border-box;color:var(--text-color);display:inline-flex;font-size:16px;font-weight:600;height:36px;justify-content:center;padding:0;text-align:center;transition:all .2s ease;width:36px}.page-input-vertical:focus{border-color:var(--primary-color);box-shadow:var(--focus-ring);outline:none}.page-input-vertical::-webkit-inner-spin-button,.page-input-vertical::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.page-input-vertical::-moz-inner-spin-button,.page-input-vertical::-moz-outer-spin-button{-moz-appearance:none;margin:0}.page-input-vertical.error{border-color:var(--error-color);box-shadow:var(--error-ring)}.page-input-error-vertical{background-color:var(--surface-bg);border:1px solid var(--error-color);border-radius:4px;box-shadow:var(--shadow-2);color:var(--error-color);font-size:10px;left:50%;margin-top:4px;padding:2px 6px;position:absolute;top:100%;transform:translateX(-50%);white-space:nowrap;z-index:1000}@media (max-width:768px){.right-sidebar{display:none}}.nav-icon-button{align-items:center;background:#0000;border:none;border-radius:8px;cursor:pointer;display:flex;height:38px;justify-content:center;padding:0;transition:background .2s ease,transform .1s ease;width:38px}.nav-icon-button:hover:not(:disabled){background:var(--hover-color)}.nav-icon-button:active:not(:disabled){transform:scale(.96)}.nav-icon-button:disabled{cursor:not-allowed;opacity:.5}.search-sidebar{background:var(--background-color);border-left:1px solid var(--border-color);box-shadow:-2px 0 18px #0009;display:flex;flex-direction:column;flex-shrink:0;height:100%;margin-right:-320px;order:5;transition:margin-right .3s cubic-bezier(.4,0,.2,1);width:320px;z-index:860}.search-sidebar.open{margin-right:0}.search-sidebar-header{background:#0000;border-bottom:1px solid var(--border-color);flex-shrink:0;padding:16px}.search-sidebar-header h3{color:var(--text-color);font-size:16px;font-weight:600;margin:0}.search-input-container{border-bottom:1px solid var(--border-color);flex-shrink:0;padding:16px;position:relative}.search-input{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);font-size:14px;outline:none;padding:10px 32px 10px 12px;transition:all .2s ease;width:calc(100% - 56px)}.search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #2563eb1a}.search-input::placeholder{color:var(--muted-text)}.search-clear-button{align-items:center;background:none;border:none;border-radius:4px;color:var(--icon-color);cursor:pointer;display:flex;font-size:20px;font-weight:400;height:24px;justify-content:center;padding:4px;position:absolute;right:72px;top:50%;transform:translateY(-50%);transition:all .2s ease;width:24px}.search-clear-button:hover{background:#ffffff08;color:var(--muted-text)}.search-results-content{display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:16px}.search-loading{align-items:center;color:var(--muted-text);display:flex;flex-direction:column;justify-content:center;padding:32px 16px}.search-spinner{animation:spin .8s linear infinite;border:2px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);height:24px;margin-bottom:12px;width:24px}.search-loading p{font-size:14px;margin:0}.search-error{color:#ef4444}.search-empty,.search-error{font-size:14px;padding:32px 16px;text-align:center}.search-empty{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:8px;color:var(--muted-text);display:flex;justify-content:center}.search-empty p{font-weight:500;margin:0}.search-results-container{display:flex;flex-direction:column;gap:8px}.search-results-count{color:var(--muted-text);font-size:12px;font-weight:500;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.search-result-item{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:6px;display:flex;flex-direction:column;gap:12px;padding:12px;transition:all .2s ease}.search-result-item:hover{background:#ffffff05;border-color:var(--border-color);box-shadow:0 2px 8px #0000004d}.search-result-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding-bottom:8px}.search-result-location{color:var(--muted-text);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.search-result-matches{color:var(--muted-text);font-size:11px;font-weight:500;opacity:.8}.search-result-matches-list{display:flex;flex-direction:column;gap:8px}.search-result-context{word-wrap:break-word;background:#ffffff03;border-radius:4px;color:var(--text-color);cursor:pointer;font-size:13px;line-height:1.6;padding:8px;transition:all .2s ease}.search-result-context:hover{background:#ffffff08}.search-highlight{background:#ffeb3b66;border-radius:2px;color:var(--text-color);font-weight:600;padding:2px 0}.search-results-content::-webkit-scrollbar{width:6px}.search-results-content::-webkit-scrollbar-track{background:#2b2b2b;border-radius:3px}.search-results-content::-webkit-scrollbar-thumb{background:#444;border-radius:3px}.search-results-content::-webkit-scrollbar-thumb:hover{background:#555}.table-of-contents{background:var(--background-color);border-left:1px solid var(--border-color);box-shadow:var(--shadow-2);display:flex;flex-direction:column;flex-shrink:0;height:100%;margin-right:-300px;order:2;transition:margin-right .3s ease-in-out;width:300px;z-index:900}.table-of-contents.open{margin-right:0}.toc-header{background:#0000;border-bottom:1px solid var(--border-color);flex-shrink:0;padding:16px}.toc-header h3{color:var(--text-color);font-size:16px;font-weight:600;margin:0}.toc-content{flex:1 1;overflow-y:auto;padding:16px}.toc-container{gap:4px}.toc-container,.toc-item{display:flex;flex-direction:column}.toc-item-title{word-wrap:break-word;border-radius:6px;color:var(--text-color);font-size:14px;line-height:1.4;padding:8px 12px;transition:background-color .2s ease}.toc-item-title:hover{background-color:var(--surface-bg)}.toc-item-children{margin-left:16px;margin-top:4px}.toc-empty{color:var(--muted-text);font-size:14px;padding:32px 16px;text-align:center}.toc-empty p{margin:0}.toc-content::-webkit-scrollbar{width:8px}.toc-content::-webkit-scrollbar-track{background:var(--scrollbar-track)}.toc-content::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}.toc-content::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.toolbar{align-items:center;background-color:var(--background-color);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-2);box-sizing:border-box;display:flex;height:56px;justify-content:space-between;padding:0 16px;position:relative;z-index:1001}.toolbar-center,.toolbar-left,.toolbar-right{align-items:center;display:flex;gap:8px}.toolbar-right{margin-left:auto}.icon-button{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--icon-color);cursor:pointer;display:inline-flex;height:36px;justify-content:center;overflow:visible;padding:0;transition:all .2s ease;width:36px}.icon-button:hover{background:var(--hover-color)}.icon-button.is-active{background:var(--primary-color);color:var(--icon-color)}.icon-button.is-active:hover{background:var(--primary-color);box-shadow:none;transform:none}.icon-button svg{display:block;height:18px;transition:transform .2s ease;width:18px}.icon-button:hover svg{transform:scale(1.1)}.icon-button.is-active svg{animation:bookmarkPulse .3s ease-out}@keyframes bookmarkPulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.ai-assistant-button{align-items:center;background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);border:1px solid var(--primary-color);border-radius:8px;color:var(--icon-color);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:8px;height:36px;justify-content:center;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.ai-assistant-button:hover{background:linear-gradient(135deg,var(--secondary-color) 0,var(--primary-color) 100%);box-shadow:var(--shadow-2);transform:translateY(-1px)}.ai-assistant-button:active{box-shadow:var(--shadow-1);transform:translateY(0)}.ai-assistant-button svg{display:block;flex-shrink:0;height:16px;width:16px}.ai-assistant-button span{flex-shrink:0}.toolbar-center{flex:1 1;justify-content:center}.toolbar-right{gap:12px}.document-info{align-items:center;border-right:1px solid var(--border-color);display:flex;gap:8px;margin-right:16px;padding-right:16px}.toolbar-divider{background-color:var(--border-color);display:inline-block;height:20px;margin:0 8px;width:1px}.toolbar-collapsed{background-color:initial;border-bottom:none;box-shadow:none;justify-content:flex-end;left:auto;padding:0;position:absolute;right:8px;top:8px;z-index:1001}.document-badge{align-items:center;border:1px solid var(--border-color);border-radius:var(--border-radius-md);display:inline-flex;flex-shrink:0;font-size:11px;font-weight:600;justify-content:center;letter-spacing:.5px;min-width:40px;padding:4px 8px;text-align:center;text-transform:uppercase}.document-badge,.document-badge.epub,.document-badge.pdf{background-color:var(--surface-bg);color:var(--icon-color)}.document-name{color:var(--text-color);font-size:14px;font-weight:500;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:768px){.toolbar{flex-direction:column;gap:8px;padding:8px}.toolbar-center,.toolbar-left,.toolbar-right{justify-content:center;width:100%}.ai-assistant-button span,.document-info{display:none}.ai-assistant-button{min-width:32px;padding:8px}}.epub-viewer{align-items:center;background-color:var(--background-color);box-sizing:border-box;display:flex;flex-direction:column;height:100%;justify-content:flex-start;overflow:auto;position:relative;width:100%}.epub-viewer:not(.active){display:none}.epub-container{background-color:#fff;box-sizing:border-box;color:#333;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;margin-bottom:20px;margin-top:20px;max-width:800px;min-height:600px;overflow:auto;position:relative;width:100%}@media (max-width:1200px){.epub-container{max-width:700px;padding:30px}}@media (max-width:768px){.epub-container{margin:10px;max-width:100%;padding:20px}.epub-viewer{padding:10px}}@media (max-width:480px){.epub-container{margin:5px;padding:15px}.epub-viewer{padding:5px}}.epub-container::-webkit-scrollbar{height:8px;width:8px}.epub-container::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}.epub-container::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}.epub-container::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.epub-loading{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:10}.epub-loading .loading-spinner{animation:spin 1s linear infinite;border-top:4px solid var(--overlay-12);border:4px solid var(--overlay-12);border-radius:50%;border-top-color:var(--secondary-color);height:40px;margin:0 auto 10px;width:40px}.epub-loading p{color:var(--muted-text);font-size:14px;margin:0}.epub-container h1,.epub-container h2,.epub-container h3,.epub-container h4,.epub-container h5,.epub-container h6{font-weight:700;line-height:1.3;margin-bottom:.5em;margin-top:1.5em}.epub-container h1{border-bottom:2px solid #eee;font-size:2em;padding-bottom:.3em}.epub-container h2{font-size:1.5em}.epub-container h3{font-size:1.3em}.epub-container p{margin-bottom:1em;text-align:justify}.epub-container img{display:block;height:auto;margin:1em auto;max-width:100%}.epub-container blockquote{background:#f9f9f9;border-left:4px solid #ddd;font-style:italic;margin:1em 0;padding:.5em 1em}.epub-container ol,.epub-container ul{margin:1em 0;padding-left:2em}.epub-container li{margin-bottom:.5em}.epub-container table{border-collapse:collapse;margin:1em 0;width:100%}.epub-container td,.epub-container th{border:1px solid #ddd;padding:.5em;text-align:left}.epub-container th{background:#f5f5f5;font-weight:700}.epub-container ::selection{background:var(--selection-bg)}.epub-container ::-moz-selection{background:var(--selection-bg)}.epub-error{background:var(--surface-bg);border-radius:8px;box-shadow:var(--shadow-3);color:var(--text-color);left:50%;max-width:400px;padding:2rem;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:10}.epub-error h3{color:var(--error-color);margin-bottom:1rem}.epub-error p{color:var(--muted-text);line-height:1.5;margin-bottom:1.5rem}.epub-error button{background:var(--primary-color);border:none;border-radius:4px;color:var(--icon-color);cursor:pointer;font-size:14px;padding:.75rem 1.5rem;transition:background .2s}.epub-error button:hover{background:var(--secondary-color)}.note-indicator{background:var(--note-indicator-bg);border:2px solid var(--background-color);box-shadow:var(--shadow-1);color:var(--note-indicator-text);transition:all .2s ease}.note-indicator:hover{box-shadow:0 4px 12px #0000004d;transform:scale(1.1)}.note-count{background:var(--note-count-bg);border-radius:50%;color:var(--note-count-text);height:18px;right:-8px;top:-8px;width:18px}.note-input-overlay{z-index:1001}.note-input-container{box-shadow:var(--shadow-3)}.note-input-header{border-radius:6px 6px 0 0;font-size:12px;font-weight:600}.note-header-content{align-items:center;display:flex;gap:8px}.note-counter{background:var(--active-color);border-radius:10px;font-size:10px;font-weight:500;padding:2px 6px}.note-nav-controls{gap:6px}.note-nav-arrow{align-items:center;background:var(--hover-color);border:none;border-radius:50%;box-shadow:var(--shadow-2);color:var(--icon-color);cursor:pointer;display:flex;font-size:12px;height:20px;justify-content:center;transition:background .2s;width:20px}.note-nav-arrow:hover{background:var(--active-color)}.note-input-textarea{border-radius:0 0 6px 6px;font-family:inherit}.note-input-textarea:focus{background:#0000}.note-input-hint{background:#0000;border-radius:0 0 6px 6px;border-top:1px solid var(--border-color);color:var(--muted-text);font-size:11px;padding:8px 12px}.pdf-viewer{background-color:var(--background-color);box-sizing:border-box;height:100%;overflow-x:hidden;overflow-y:auto;padding:20px;width:100%}.pdf-page-wrapper,.pdf-viewer{display:block;position:relative}.pdf-page-wrapper{background-color:#fff;box-shadow:var(--shadow-1);break-inside:avoid;margin:0 auto 20px;page-break-inside:avoid;width:-webkit-fit-content;width:fit-content}.pdf-canvas{background-color:#fff;display:block;height:auto;width:auto}.textLayer{height:100%;left:0;opacity:1;overflow:hidden;top:0;width:100%;z-index:2}.textLayer,.textLayer span{background:#0000;color:#0000;cursor:text;pointer-events:auto;position:absolute;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.textLayer span{transform-origin:0 0;white-space:pre}.textLayer span::selection{background:var(--selection-bg);color:#0000}.textLayer span::-moz-selection{background:var(--selection-bg);color:#0000}.pdf-viewer::-webkit-scrollbar{height:10px;width:10px}.pdf-viewer::-webkit-scrollbar-track{background:var(--scrollbar-track)}.pdf-viewer::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:5px}.pdf-viewer::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.highlightLayer{background:#0000;height:100%;left:0;top:0;width:100%;z-index:3}.highlightLayer,.pdf-highlight{pointer-events:none;position:absolute}.pdf-highlight{background:#ffeb3b73;box-shadow:inset 0 0 0 2px #ffeb3b40;z-index:1}.underlineLayer{background:#0000;height:100%;left:0;top:0;width:100%;z-index:3}.pdf-underline,.underlineLayer{pointer-events:none;position:absolute}.pdf-underline{border-bottom:2px solid #2563eb;z-index:2}.note-indicator{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--primary-color);border:2px solid #fff3;border-radius:50%;box-shadow:0 4px 12px #2563eb4d;color:#fff;cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;position:relative;width:32px}.note-indicator:hover{background:linear-gradient(135deg,var(--primary-color),#3b82f6);box-shadow:0 8px 25px #2563eb66}.note-indicator:active{filter:brightness(95%)}.note-count{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);border:2px solid var(--background-color);border-radius:12px;box-shadow:0 3px 10px #ef444466;color:#fff;display:flex;font-size:10px;font-weight:700;height:16px;justify-content:center;min-width:20px;padding:1px 4px;position:absolute;right:-18px;top:-10px;z-index:10}.note-input-overlay{position:absolute;z-index:4}.note-input-container{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-2);color:var(--text-color);max-width:300px;min-width:250px}.note-input-header{background:var(--surface-bg);border-bottom:1px solid var(--border-color);border-radius:8px 8px 0 0;justify-content:space-between;padding:8px 12px}.note-input-header,.note-title{align-items:center;color:var(--text-color);display:flex}.note-title{font-size:14px;font-weight:600;gap:8px}.note-counter{color:var(--muted-text);font-size:12px;font-weight:400}.note-nav-controls{align-items:center;display:flex;gap:4px}.note-nav-icon{align-items:center;background:#0000;border-radius:4px;color:var(--text-color);cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;padding:4px;transition:all .2s ease;width:24px}.note-nav-icon:hover{background:var(--hover-color);color:var(--primary-color)}.note-nav-controls:has(.note-nav-icon){opacity:1}.note-nav-controls:empty{opacity:.4;pointer-events:none}.note-input-textarea{background:var(--surface-bg);border:none;box-sizing:border-box;color:var(--text-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.4;min-height:80px;outline:none;padding:12px;resize:vertical;width:100%}.note-input-footer{background:var(--surface-bg);border-radius:0 0 6px 6px;border-top:1px solid var(--border-color);justify-content:space-between;padding:8px 12px}.note-footer-left,.note-input-footer{align-items:center;display:flex}.note-input-container .note-submit-button{background:var(--primary-color)!important;border:none;border-radius:4px;color:#fff!important;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease}.note-input-container .note-submit-button:hover:not(:disabled){background:var(--secondary-color)!important;box-shadow:var(--shadow-1);transform:translateY(-1px)}.note-input-container .note-submit-button:disabled{background:var(--overlay-12)!important;cursor:not-allowed;opacity:.6}.note-close-icon{align-items:center;background:#0000;border-radius:4px;color:var(--muted-text);cursor:pointer;display:flex;font-size:14px;height:24px;justify-content:center;padding:4px;transition:all .2s ease;width:24px}.note-close-icon:hover{background:var(--hover-color);color:var(--text-color)}.pdf-viewer.drawing-mode .textLayer,.pdf-viewer.drawing-mode .textLayer span{pointer-events:none!important}.reader-shell{flex-direction:column;height:100vh;width:100%}.reader-content,.reader-shell{display:flex;overflow:hidden;position:relative}.reader-content{flex:1 1}.viewer-container{background-color:var(--background-color);flex:1 1;order:1;overflow:visible;position:relative;z-index:1}.loading-overlay,.viewer-container{align-items:center;display:flex;flex-direction:column;justify-content:center}.loading-overlay{background-color:#0009;bottom:0;left:0;position:absolute;right:0;top:0;z-index:10}.loading-spinner{animation:spin 1s linear infinite;border-top:4px solid var(--border-color);border:4px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);height:50px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message{background-color:#fee2e2;border:1px solid var(--error-color);border-radius:var(--border-radius-md);color:#7f1d1d;max-width:400px;padding:20px}.empty-state{max-width:500px;padding:40px;text-align:center}.empty-state h2{color:var(--text-color);margin-bottom:var(--spacing-md)}.empty-state p{color:var(--muted-text)}.reader-content>.bookmarks,.reader-content>.notes,.reader-content>.search-sidebar,.reader-content>.table-of-contents{padding-right:56px;position:relative;z-index:900}.reader-content>.table-of-contents{order:2}.reader-content>.bookmarks{order:3}.reader-content>.notes{order:4}.reader-content>.search-sidebar{order:5}:root{--primary-color:#2563eb;--secondary-color:#3b82f6;--background-color:#262626;--surface-bg:#333;--floating-toolbar-bg:#414141;--text-color:#e6e6e6;--muted-text:#bdbdbd;--icon-color:#fff;--border-color:#3a3a3a;--hover-color:#ffffff0a;--active-color:#ffffff0f;--overlay-08:#ffffff14;--overlay-12:#ffffff1f;--overlay-16:#ffffff29;--overlay-24:#ffffff3d;--error-color:#ef4444;--font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--border-radius-sm:4px;--border-radius-md:6px;--border-radius-lg:8px;--shadow-1:0 2px 6px #0006;--shadow-2:0 4px 12px #0009;--shadow-3:0 8px 24px #0009;--scrollbar-track:#2b2b2b;--scrollbar-thumb:#444;--scrollbar-thumb-hover:#555;--selection-bg:#2563eb4d;--chip-bg:var(--surface-bg);--chip-text:var(--icon-color);--chip-border:var(--border-color);--note-indicator-bg:#ff9800;--note-indicator-text:#fff;--note-count-bg:#ff5722;--note-count-text:#fff;--focus-ring:0 0 0 2px #2563eb59;--error-ring:0 0 0 2px #ef44444d;--highlight-bg:#ffeb3b73;--highlight-outline:#ffeb3b40;--bottom-safe-area:16px}body{background-color:#262626;background-color:var(--background-color);color:#e6e6e6;color:var(--text-color);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-family:var(--font-family);line-height:1.5;padding:0}.icon-button,.nav-icon-button,.note-nav-arrow,.sidebar-icon-button{color:#fff;color:var(--icon-color)}.icon-button svg,.nav-icon-button svg,.note-nav-arrow svg,.sidebar-icon-button svg{fill:currentColor;stroke:currentColor;color:inherit}#root{display:flex;flex-direction:column;height:100vh}button{align-items:center;background-color:#2563eb;background-color:var(--primary-color);border:none;border-radius:4px;border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;display:inline-flex;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-family:var(--font-family);font-size:14px;justify-content:center;padding:4px 16px;padding:var(--spacing-xs) var(--spacing-md);transition:background-color .2s}button:hover{background-color:#3b82f6;background-color:var(--secondary-color)}button:disabled{cursor:not-allowed;opacity:.6}.visually-hidden{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
/*# sourceMappingURL=main.b6d308d7.css.map*/