.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;transition:all .3s cubic-bezier(.4,0,.2,1);width:50px;z-index:800}.faq-button:hover{background:#6d6d6d;box-shadow:0 6px 12px #00000040;transform:scale(1.1)}.faq-button:active{transform:scale(.95)}.faq-button:focus-visible{box-shadow:var(--focus-ring);outline:none;transform:scale(1.05)}.faq-icon{height:26px;pointer-events:none;transition:transform .3s cubic-bezier(.4,0,.2,1);width:26px}.faq-button:hover .faq-icon{transform:rotate(20deg)}@media (max-width:768px){.faq-button{display:none}}.help-modal-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;padding-top:60px;position:fixed;top:0;width:100%;z-index:1000}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}.help-modal{animation:slideUp .4s cubic-bezier(.34,1.56,.64,1);background-color:var(--surface-bg);border-radius:12px;box-shadow:0 10px 40px #0000004d,0 0 0 1px #0000001a;color:var(--text-color);display:flex;flex-direction:column;height:80%;max-height:620px;max-width:800px;width:88%}.help-modal-header{align-items:center;background:linear-gradient(135deg,#5d5d5d05,#6d6d6d05);border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:1.1rem 1.3rem}.help-modal-header h2{font-size:1.5rem;font-weight:600;letter-spacing:-.5px;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:var(--icon-color);cursor:pointer;display:flex;flex-shrink:0;font-size:2rem;height:40px;justify-content:center;padding:0;transition:all .2s ease;width:40px}.close-button:hover{background-color:#0000001a;transform:rotate(90deg)}.close-button:active{transform:rotate(90deg) scale(.9)}.help-tabs{background-color:#00000005;border-bottom:1px solid var(--border-color);display:flex;gap:0;padding:0}.help-tab{background:#0000;border:none;border-bottom:3px solid #0000;color:var(--text-color);cursor:pointer;flex:1 1;font-size:.95rem;font-weight:500;margin-bottom:-1px;opacity:.7;padding:.8rem;transition:all .3s ease}.help-tab:hover{background-color:#0000000a;opacity:1}.help-tab.active{background-color:#00000005;border-bottom-color:#5d5d5d;opacity:1}.help-modal-content{flex:1 1;overflow-y:auto;padding:1.2rem}.help-tab-content{animation:fadeIn .3s ease-out;display:flex;flex-direction:column;gap:1.25rem}.feature-section{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.section-title{border-bottom:2px solid var(--border-color);color:var(--text-color);font-size:.95rem;font-weight:600;grid-column:1/-1;margin:0;order:-1;padding-bottom:.6rem;width:100%}.feature-section:first-child .section-title{margin-top:0}.help-feature-card{background:linear-gradient(135deg,#5d5d5d0a,#6d6d6d05);border:1px solid var(--border-color);border-radius:10px;cursor:default;display:flex;flex-direction:column;min-height:160px;padding:1rem;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.help-feature-card:hover{border-color:#5d5d5d;box-shadow:0 8px 16px #0000001a;transform:translateY(-2px)}.help-feature-card.disabled{opacity:.6;pointer-events:none}.card-icon{align-items:center;color:#5d5d5d;display:flex;flex-shrink:0;height:2rem;justify-content:center;margin-bottom:.6rem;width:2rem}.card-icon svg{height:100%;width:100%}.help-feature-card h4{color:var(--text-color);font-size:.95rem;font-weight:600;line-height:1.2;margin:0 0 .4rem}.help-feature-card p{flex-grow:1;font-size:.8rem;line-height:1.5;margin:0;opacity:.85}.shortcut-group{margin-bottom:2rem}.shortcut-group h4{border-bottom:2px solid #0000001a;color:var(--text-color);font-size:1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.75rem}.shortcut-list{display:flex;flex-direction:column;gap:.75rem}.shortcut-item{align-items:center;background:#00000005;border-radius:6px;display:flex;gap:1rem;padding:.75rem;transition:all .2s ease}.shortcut-item:hover{background:#0000000d}.shortcut-key{background:#5d5d5d26;border-radius:4px;flex-shrink:0;font-family:Courier New,monospace;font-size:.85rem;font-weight:600;min-width:100px;padding:.3rem .6rem;text-align:center}.shortcut-desc{color:var(--text-color);font-size:.9rem}.help-modal-content::-webkit-scrollbar{width:8px}.help-modal-content::-webkit-scrollbar-track{background:#0000}.help-modal-content::-webkit-scrollbar-thumb{background:#0003;border-radius:4px;-webkit-transition:background .3s ease;transition:background .3s ease}.help-modal-content::-webkit-scrollbar-thumb:hover{background:#0006}@media (max-width:768px){.help-modal{border-radius:8px;height:90%;max-height:none;width:95%}.help-modal-header{padding:1rem}.help-modal-header h2{font-size:1.3rem}.close-button{font-size:1.5rem;height:36px;width:36px}.help-modal-content{padding:1rem}.help-tabs{flex-wrap:wrap}.help-tab{flex:1 1 auto;font-size:.9rem;min-width:150px;padding:.75rem}.help-tab-content{gap:1rem}.feature-section{gap:.8rem;grid-template-columns:1fr}.section-title{font-size:.9rem;margin:0 0 .5rem;padding-bottom:.5rem}.help-feature-card{min-height:auto;padding:.8rem}.card-icon{height:1.75rem;margin-bottom:.5rem;width:1.75rem}.help-feature-card h4{font-size:.9rem;margin-bottom:.3rem}.help-feature-card p{font-size:.75rem}.shortcut-item{align-items:flex-start;flex-direction:column;gap:.5rem}.shortcut-key{text-align:left;width:100%}}@media (max-width:480px){.help-modal-overlay{align-items:flex-end}.help-modal{animation:slideDown .4s cubic-bezier(.34,1.56,.64,1);border-radius:16px 16px 0 0;height:90vh;max-width:none;width:100%}.help-modal-header h2{font-size:1.2rem}.close-button{font-size:1.3rem}.help-tabs{flex-wrap:wrap}.help-tab{flex:1 1 48%;font-size:.8rem;min-width:48%;padding:.75rem .5rem}.help-tab-content{gap:1rem}.feature-section{gap:.6rem;grid-template-columns:1fr}.section-title{font-size:.85rem;margin:0 0 .4rem;padding-bottom:.4rem}.help-feature-card{min-height:auto;padding:.7rem}.card-icon{height:1.5rem;margin-bottom:.4rem;width:1.5rem}.help-feature-card h4{font-size:.85rem;margin-bottom:.2rem}.help-feature-card p{font-size:.7rem;line-height:1.4}.shortcut-group h4{font-size:.9rem}.shortcut-item{font-size:.8rem;padding:.5rem}.shortcut-key{font-size:.75rem;padding:.25rem .5rem}}.loading-screen{align-items:center;background-color:var(--background-color);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.loading-screen-content{align-items:center;color:var(--text-color);display:flex;flex-direction:column;gap:32px;text-align:center}.loading-spinner{border-bottom:3px solid var(--border-color);border-left:3px solid var(--border-color);border-right-color:var(--border-color);border-right:3px solid var(--primary-color);border-top-color:var(--border-color);border-top:3px solid var(--primary-color);height:56px;width:56px}.loading-message{animation:fadeInUp .4s ease-out;color:var(--text-color);font-size:16px;font-weight:500;letter-spacing:.3px;margin:0;min-height:24px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.loading-screen-content{gap:28px}.loading-spinner{border-width:2.5px;height:48px;width:48px}.loading-message{font-size:15px}}@media (max-width:480px){.loading-screen-content{gap:24px;padding:20px}.loading-spinner{border-width:2px;height:44px;width:44px}.loading-message{font-size:14px}}.notification-center{align-items:flex-start;bottom:var(--bottom-safe-area);display:flex;flex-direction:column;gap:8px;left:16px;position:fixed;z-index:9999}.toast{align-items:center;animation:toast-slide-in .36s cubic-bezier(.2,.9,.2,1) forwards;border-radius:10px;box-shadow:var(--shadow-3);color:#fff;display:flex;font-size:14px;gap:12px;max-width:420px;min-width:220px;opacity:0;padding:10px 12px;transform:translateX(-8px)}.toast-info{background:linear-gradient(90deg,var(--primary-color),var(--secondary-color))}.toast-warning{background:linear-gradient(90deg,var(--note-indicator-bg),#f97316)}.toast-error{background:linear-gradient(90deg,var(--error-color),#b91c1c)}.toast .toast-icon{align-items:center;color:#fffffff5;display:inline-flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.toast .toast-message{flex:1 1;font-size:14px;font-weight:600}.toast-action{background:#0000;border:0;border-radius:6px;color:#fffffff2;cursor:pointer;font-weight:600;padding:6px 8px}.toast-close{align-items:center;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:50%;color:#fff;cursor:pointer;display:inline-flex;height:28px;justify-content:center;padding:4px;transition:background .12s ease,transform .08s ease;width:28px}.toast-close:hover{background:#ffffff1f;transform:translateY(-1px)}@keyframes toast-slide-in{0%{opacity:0;transform:translateX(-10px) scale(.98)}to{opacity:1;transform:translateX(0) scale(1)}}@media (max-width:600px){.notification-center{align-items:center;bottom:8px;left:8px;right:8px}.toast{max-width:none;width:100%}}.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{align-items:center;background:#0000;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;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-wrapper{align-items:center;display:flex;gap:4px}.bookmark-item{align-items:center;background:none;background:var(--surface-bg);border:none;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;flex:1 1;font:inherit;justify-content:space-between;padding:12px 16px;text-align:left;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-loading{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:32px 16px}.bookmarks-spinner{animation:spin .8s linear infinite;border-top-color:#4a9eff;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--accent-color,#4a9eff);height:24px;width:24px}.bookmarks-loading p{color:var(--muted-text);font-size:14px;margin:0}.bookmarks-error{background:#ff00001a;border:1px solid #ff00004d;border-radius:6px;padding:16px;text-align:center}.bookmarks-error p{color:var(--muted-text);font-size:13px;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}.empty-state-container{align-items:center;background-color:var(--background-color);display:flex;height:100vh;justify-content:center;padding:24px;width:100%}.empty-state-content{max-width:400px;text-align:center}.empty-state-icon{filter:brightness(0) saturate(100%) invert(71%) sepia(79%) saturate(600%) hue-rotate(191deg) brightness(104%) contrast(104%);height:64px;margin:0 auto 24px;opacity:.8;width:64px}.empty-state-title{color:var(--text-color);font-size:20px;font-weight:600;margin:0 0 12px}.empty-state-description{color:var(--muted-text);font-size:14px;line-height:1.5;margin:0 0 24px}.empty-state-button{background-color:var(--primary-color);border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s ease}.empty-state-button:hover{background-color:var(--secondary-color)}.empty-state-button:active{transform:scale(.98)}@media (max-width:768px){.empty-state-icon{height:56px;margin-bottom:20px;width:56px}.empty-state-title{font-size:18px}.empty-state-description{font-size:13px}}.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.hidden{opacity:0;pointer-events:none;transition:opacity .2s ease-in-out,transform .2s ease-in-out}.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.is-disabled{cursor:not-allowed;opacity:.5}.floating-toolbar .icon-button.is-coming-soon{color:var(--muted-text);opacity:.65}.floating-toolbar .icon-button.is-coming-soon svg{fill:currentColor;opacity:.85}.floating-toolbar .icon-button.is-coming-soon:hover,.floating-toolbar .icon-button.is-disabled:hover{background:#0000}.floating-toolbar .icon-button svg{fill:var(--icon-color);color:var(--icon-color);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:#fff}.floating-toolbar .icon-button.is-active svg{fill:#fff;color:#fff}.floating-toolbar .icon-button.disabled{cursor:not-allowed;opacity:.4}.floating-toolbar .icon-button.disabled svg{fill:currentColor;opacity:.4}.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(var(--icon-color) 1.5px,#0000 1.5px);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}}@media (min-width:769px) and (max-width:1024px){.floating-toolbar{border-radius:12px;bottom:auto;display:flex;flex-direction:column;gap:6px;height:auto;left:12px;padding:8px 6px;top:50%;transform:translateY(-50%)}.floating-toolbar .icon-button{display:inline-flex;height:44px;margin:4px 0;padding:6px;width:44px}.floating-toolbar .icon-button svg{height:18px;width:18px}.floating-toolbar .floating-separator{background:var(--border-color);height:1px;margin:4px 0;width:28px}.floating-toolbar .drag-handle{display:none}}.mobile-bottom-bar{align-items:center;background:var(--surface-bg);border-top:1px solid var(--border-color);bottom:0;box-shadow:0 -2px 8px #0000001a;box-sizing:border-box;display:flex;justify-content:space-around;left:0;min-height:64px;padding:8px 16px calc(8px + env(safe-area-inset-bottom));position:fixed;right:0;z-index:100}.mobile-bottom-button{align-items:center;background:#0000;border:none;border-radius:10px;color:var(--icon-color);cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:4px;justify-content:center;max-width:80px;min-width:56px;padding:8px 12px;transition:background-color .2s,transform .1s}.mobile-bottom-button:hover{background:var(--hover-color)}.mobile-bottom-button:active{background:var(--active-color);transform:scale(.95)}.mobile-bottom-button.is-active{background:var(--primary-color);color:#fff}.mobile-bottom-button.is-active svg{fill:#fff;color:#fff}.mobile-bottom-button.is-disabled{cursor:not-allowed;opacity:.4}.mobile-bottom-button.is-disabled:hover{background:#0000}.mobile-bottom-button.is-disabled:active{transform:none}.mobile-bottom-button svg{fill:var(--icon-color);color:var(--icon-color);flex-shrink:0;height:22px;width:22px}.mobile-bottom-button.is-active svg g,.mobile-bottom-button.is-active svg path{fill:#fff!important}.mobile-button-label{font-size:11px;font-weight:500;line-height:1;text-align:center;white-space:nowrap}.mobile-bottom-separator{background:var(--border-color);flex-shrink:0;height:32px;margin:0 4px;width:1px}.mobile-bottom-button:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@media (max-width:375px){.mobile-bottom-bar{min-height:60px;padding:6px 8px calc(6px + env(safe-area-inset-bottom))}.mobile-bottom-button{max-width:70px;min-width:48px;padding:6px 8px}.mobile-bottom-button svg{height:20px;width:20px}.mobile-button-label{font-size:10px}.mobile-bottom-separator{height:28px}}@media (max-height:500px) and (orientation:landscape){.mobile-bottom-bar{min-height:56px;padding:4px 16px}.mobile-bottom-button{gap:2px;padding:4px 8px}.mobile-button-label{font-size:10px}}.mobile-menu-overlay{animation:fadeIn .2s ease-out;background:#0000008c;inset:0;position:fixed;z-index:2000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-menu-content{animation:slideInRight .28s ease-out forwards;background:var(--surface-bg);border-left:1px solid var(--border-color);bottom:64px;box-shadow:-4px 0 24px #00000059;display:flex;flex-direction:column;max-width:340px;overflow-y:auto;padding:0;position:fixed;right:0;top:56px;width:75%}@keyframes slideInRight{0%{opacity:.4;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.mobile-menu-header{align-items:center;background:var(--surface-bg);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px 20px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.mobile-menu-header h3{color:var(--text-color);font-size:18px;font-weight:600;margin:0}.mobile-menu-close{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--icon-color);cursor:pointer;display:flex;justify-content:center;padding:8px;transition:background-color .2s}.mobile-menu-close:hover{background:var(--hover-color)}.mobile-menu-close svg{fill:var(--icon-color);color:var(--icon-color)}.mobile-menu-doc{background:var(--surface-bg);border-bottom:1px solid var(--border-color);padding:14px 20px 10px}.mobile-menu-doc-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.mobile-menu-doc-name{color:var(--text-color);flex:1 1;font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-menu-doc-meta{color:var(--muted-text);font-size:12px;margin-top:8px}.mobile-menu-list{flex:1 1;list-style:none;margin:0;padding:12px 0 24px}.mobile-menu-list li{margin:0;padding:0}.mobile-menu-item{align-items:center;background:#0000;border:none;border-radius:0;color:var(--text-color);cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:14px;padding:14px 20px;text-align:left;transition:background-color .18s;width:100%}.mobile-menu-item:hover{background:var(--hover-color)}.mobile-menu-item:active{background:var(--active-color)}.mobile-menu-item svg{fill:var(--icon-color);color:var(--icon-color);flex-shrink:0;height:20px;width:20px}.mobile-menu-item span{flex:1 1}.mobile-menu-close:focus-visible,.mobile-menu-item:focus-visible{outline:2px solid var(--primary-color);outline-offset:-2px}@media (max-width:400px){.mobile-menu-content{width:85%}.mobile-menu-item{padding:12px 16px}}@supports (padding-bottom:env(safe-area-inset-bottom)){.mobile-menu-content{padding-bottom:calc(env(safe-area-inset-bottom))}}.mobile-top-bar{align-items:center;background:var(--surface-bg);border-bottom:1px solid var(--border-color);box-sizing:border-box;display:flex;height:56px;justify-content:flex-end;padding:12px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.mobile-doc-name{color:var(--text-color);flex:1 1;font-size:16px;font-weight:600;margin-right:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-top-actions{align-items:center;display:flex;flex-shrink:0;gap:4px;margin-left:auto}.mobile-page-indicator{background:var(--hover-color);border-radius:4px;color:var(--muted-text);font-size:13px;margin-right:4px;padding:4px 8px;white-space:nowrap}.mobile-icon-button{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--icon-color);cursor:pointer;display:inline-flex;justify-content:center;min-height:40px;min-width:40px;padding:8px;transition:background-color .2s}.mobile-icon-button:hover{background:var(--hover-color)}.mobile-icon-button:active{background:var(--active-color)}.mobile-icon-button.is-active{background:var(--primary-color);color:#fff}.mobile-icon-button.is-active svg{fill:#fff;color:#fff}.mobile-icon-button svg{fill:var(--icon-color);color:var(--icon-color);height:20px;width:20px}.mobile-icon-button:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@media (max-width:375px){.mobile-top-bar{height:52px;padding:8px 12px}.mobile-doc-name{font-size:14px;margin-right:8px}.mobile-page-indicator{font-size:12px;padding:2px 6px}.mobile-icon-button{min-height:36px;min-width:36px;padding:6px}.mobile-icon-button svg{height:18px;width:18px}}.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{align-items:center;background:#0000;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;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-wrapper{align-items:flex-start;display:flex;gap:4px}.note-item{background:none;background:var(--surface-bg);border:none;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;flex:1 1;font:inherit;overflow:hidden;padding:0 48px 0 0;position:relative;text-align:left;transition:all .2s ease;width:100%}.note-item:hover{background:#ffffff05;border-color:var(--border-color);box-shadow:0 6px 18px #0009}.note-item:focus{box-shadow:0 6px 18px #0009;outline:2px solid #ffffff0f}.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:6px;color:var(--icon-color);cursor:pointer;font-size:16px;font-weight:400;justify-content:center;padding:6px 8px;position:absolute;right:8px;top:8px;transition:all .2s ease;z-index:2}.note-remove:hover{background:#ffffff08;color:var(--muted-text)}.note-remove svg{fill:currentColor;display:block;height:16px;width:16px}.note-remove svg *{stroke:currentColor!important;fill:currentColor!important}.note-title{color:var(--muted-text);flex:1 1;font-size:13px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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;overflow-wrap:break-word;word-break:break-word}.note-time{color:var(--muted-text);font-size:12px;font-style:italic;margin-left:12px;white-space:nowrap}.note-meta{font-size:12px}.note-meta,.notes-empty{align-items:center;color:var(--muted-text);display:flex}.notes-empty{background:#0000;border:1px solid var(--border-color);border-radius:8px;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}.pages-thumbnails{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:280px;z-index:900}.pages-thumbnails.open{margin-right:0}.pages-thumbnails-header{align-items:center;background:#0000;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:16px}.pages-thumbnails-header h3{color:var(--text-color);font-size:16px;font-weight:600;margin:0}.pages-count{color:var(--muted-text);font-size:12px;font-weight:400}.pages-thumbnails-content{flex:1 1;overflow-y:auto;padding:12px 16px}.pages-thumbnails-list{display:flex;flex-direction:column;gap:6px;padding:0 6px}.pages-thumbnail-item{background:none;background:#0000;border:none;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;font:inherit;padding:0 4px;transition:transform .2s ease;width:100%}.pages-thumbnail-item:hover{transform:translateY(-1px)}.pages-thumbnail-item.current{background:#0000}.pages-thumbnail-image-container{align-items:center;aspect-ratio:8.5/11;background:#fff;border:1px solid #0000;border-radius:4px;display:flex;justify-content:center;overflow:hidden;position:relative;width:100%}.pages-thumbnail-item.current .pages-thumbnail-image-container{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color),0 0 6px #2563eb59;box-shadow:0 0 0 1px var(--primary-color),0 0 6px rgba(var(--primary-color-rgb,37,99,235),.35)}.pages-thumbnail-image{display:block;height:100%;object-fit:contain;width:100%}.pages-thumbnail-placeholder{color:var(--muted-text);font-size:11px}.pages-thumbnail-loading,.pages-thumbnail-placeholder{align-items:center;background:var(--background-color);display:flex;height:100%;justify-content:center;width:100%}.pages-thumbnail-spinner{animation:spin .8s linear infinite;border-top:3px solid var(--border-color);border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);height:24px;width:24px}.pages-thumbnail-label{color:var(--text-color);font-size:11px;font-weight:500;margin-top:6px;text-align:center}.pages-thumbnail-item.current .pages-thumbnail-label{color:var(--primary-color);font-weight:600}.pages-thumbnails-empty{color:var(--muted-text);font-size:14px;padding:32px 16px;text-align:center}.pages-thumbnails-empty p{margin:0}.pages-thumbnails-content::-webkit-scrollbar{width:8px}.pages-thumbnails-content::-webkit-scrollbar-track{background:var(--scrollbar-track)}.pages-thumbnails-content::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}.pages-thumbnails-content::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.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);overflow-y:auto;padding-bottom:max(48px,env(safe-area-inset-bottom,48px));position:fixed;right:0;top:56px;width:56px;z-index:1000}[data-theme=light] .right-sidebar{background-color:#fff}.sidebar-bottom,.sidebar-top{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:4px;padding:8px 0}.sidebar-bottom{margin-top:auto}.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{flex-shrink:0;gap:4px}.page-controls,.page-info-vertical{align-items:center;display:flex;flex-direction:column}.page-info-vertical{color:var(--text-color);font-size:12px;font-weight:500;gap:6px}.zoom-controls{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:4px}.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:1px;margin:4px 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}.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}.view-mode-button,.view-mode-dropdown-wrapper{position:relative}.dropdown-indicator{bottom:2px;color:var(--icon-color);font-size:8px;pointer-events:none;position:absolute;right:2px}.view-mode-dropdown{animation:dropdownSlideIn .2s ease-out;background:var(--surface-bg);border:1px solid var(--border-color);border-radius:8px;bottom:100%;box-shadow:var(--shadow-2);margin-bottom:8px;min-width:180px;overflow:hidden;position:absolute;right:0;z-index:1001}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.view-mode-option{align-items:center;background:#0000;border:none;color:var(--text-color);cursor:pointer;display:flex;font-size:14px;justify-content:space-between;padding:12px 16px;text-align:left;transition:background .2s ease;white-space:nowrap;width:100%}.view-mode-option.active,.view-mode-option:hover{background:var(--hover-color)}.view-mode-option.active{color:var(--primary-color);font-weight:500}.view-mode-option .check{color:var(--primary-color);font-weight:700;margin-left:8px}.dropdown-separator{background-color:var(--border-color);height:1px;margin:4px 0}[data-theme=light] .view-mode-dropdown{background-color:#fff}@media (min-width:769px){.view-mode-dropdown-wrapper{display:block}}.view-mode-dropdown--portal{animation:dropdownSlideIn .2s ease-out;bottom:auto;margin-bottom:0;min-width:180px;overflow:hidden;position:fixed;right:auto;z-index:5000}@media (max-width:768px){.right-sidebar{display:none}.search-sidebar,.search-sidebar.open{background:var(--background-color)!important;border-left:none!important;border-radius:0!important;box-shadow:none!important;display:flex!important;flex-direction:column!important;height:calc(100vh - 56px)!important;left:0!important;margin:0!important;max-width:100vw!important;min-width:100vw!important;position:fixed!important;top:56px!important;width:100vw!important;z-index:2000!important}}.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{align-items:center;background:#0000;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;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:none;background:#ffffff03;border:none;border-radius:4px;color:var(--text-color);cursor:pointer;display:block;font:inherit;font-size:13px;line-height:1.6;overflow-wrap:break-word;padding:8px;text-align:left;transition:all .2s ease;white-space:normal;width:100%}.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{align-items:center;background:#0000;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;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;background:none;border:none;border-radius:6px;color:var(--text-color);cursor:pointer;font:inherit;font-size:14px;line-height:1.4;padding:8px 12px;text-align:left;transition:background-color .2s ease;width:100%}.toc-item-title:hover{background-color:var(--surface-bg)}.toc-item-title.disabled,.toc-item-title:disabled{color:var(--muted-text);cursor:not-allowed;opacity:.5}.toc-item-title.disabled:hover,.toc-item-title:disabled:hover{background-color:initial}.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.is-disabled{cursor:not-allowed;opacity:.5}.icon-button.is-disabled:hover{background:#0000}.icon-button.is-coming-soon{color:var(--muted-text);opacity:.65}.icon-button.is-coming-soon svg{fill:currentColor;opacity:.85}.icon-button.is-coming-soon:hover{background:#0000}.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;background-color:var(--surface-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--icon-color);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}[data-theme=light] .document-badge{background-color:#414141!important;border:1px solid #414141!important;color:#fff!important}.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}.toolbar-more{display:inline-flex;position:relative}.toolbar-more-menu{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-2);padding:12px;position:absolute;right:0;top:44px;width:240px;z-index:1010}.toolbar-more-title{color:var(--muted-text);font-size:12px;font-weight:600;letter-spacing:.4px;margin-bottom:8px;text-transform:uppercase}.toolbar-more-option{align-items:flex-start;background:#0000;border:none;border-radius:10px;color:var(--text-color);cursor:pointer;display:flex;gap:10px;padding:10px;text-align:left;transition:background .2s ease,color .2s ease;width:100%}.toolbar-more-option:hover{background:var(--hover-color)}.toolbar-more-option.is-active{background:#2563eb1a}.toolbar-more-option-icon{align-items:center;color:var(--muted-text);display:inline-flex;height:20px;justify-content:center;width:20px}.toolbar-more-option-body{display:flex;flex:1 1;flex-direction:column;gap:2px}.toolbar-more-label{font-size:14px;font-weight:600}.toolbar-more-hint{color:var(--muted-text);font-size:12px}.toolbar-more-check{color:var(--primary-color);font-size:14px;font-weight:700}.toolbar-more-separator{background:var(--border-color);height:1px;margin:8px 0;width:100%}@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}}.context-menu{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:6px;box-shadow:var(--shadow-4);font-family:inherit;font-size:14px;max-width:300px;min-width:200px;opacity:1!important;overflow:hidden;pointer-events:auto!important;visibility:visible!important}.context-menu-selected-text{background:var(--hover-color);border-bottom:1px solid var(--border-color);color:var(--muted-text);font-size:12px;font-style:italic;padding:8px 12px;word-break:break-word}.context-menu-items{padding:4px 0}.context-menu-item{align-items:center;background:none;border:none;color:var(--text-color);cursor:pointer;display:flex;font-family:inherit;font-size:inherit;padding:8px 12px;text-align:left;transition:background-color .15s ease;width:100%}.context-menu-item:active:not(:disabled),.context-menu-item:hover:not(:disabled){background:var(--hover-color)}.context-menu-item.is-disabled,.context-menu-item:disabled{color:var(--muted-text);cursor:not-allowed}.context-menu-item.is-disabled{opacity:.5}.context-menu-item.is-disabled:hover{background:none}.context-menu-icon{align-items:center;display:flex;font-size:14px;height:16px;justify-content:center;margin-right:8px;width:16px}.context-menu-label{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:768px){.context-menu{box-shadow:0 4px 12px #00000026;font-size:13px;max-width:280px;min-width:180px}.context-menu-item{align-items:center;display:flex;min-height:44px;padding:10px 12px}.context-menu-selected-text{font-size:11px;padding:10px 12px}}[data-theme=dark] .context-menu{background:var(--surface-bg);border-color:var(--border-color)}[data-theme=dark] .context-menu-selected-text{background:var(--hover-color);border-color:var(--border-color);color:var(--muted-text)}[data-theme=dark] .context-menu-item:hover:not(:disabled){background:var(--hover-color)}.epub-viewer{align-items:center;background-color:var(--document-bg);box-sizing:border-box;display:flex;flex-direction:column;height:100%;justify-content:flex-start;overflow:hidden;position:relative;width:100%}.epub-viewer:not(.active){display:none}.epub-scroll-wrapper{box-sizing:border-box;display:flex;flex:1 1;height:100%;margin:20px auto;max-width:800px;min-height:0;overflow:visible;position:relative;width:100%}.epub-chunk-nav-container{bottom:0;left:0;margin:0 auto;max-width:800px;pointer-events:none;position:absolute;right:0;top:0;width:100%;z-index:1005}.epub-chunk-nav{align-items:center;background:#0000;border:none;box-shadow:none;color:#9aa0a6;cursor:pointer;display:flex;height:52px;justify-content:center;opacity:.75;pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%);transition:background .2s ease,opacity .2s ease;width:52px;z-index:1006}.epub-chunk-nav:hover:not(:disabled){color:#8a9097;opacity:.85}.epub-chunk-nav:disabled{cursor:not-allowed;opacity:.4}.epub-chunk-prev{left:clamp(8px,2vw,20px)}.epub-chunk-next{right:clamp(8px,2vw,20px)}.epub-scroll-wrapper iframe{position:relative;z-index:1}.epub-scroll-wrapper .epub-container{background-color:var(--epub-content-bg);box-sizing:border-box;color:#333;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;height:100%;line-height:1.6;min-height:0;overflow-x:hidden;overflow-y:auto;padding:30px;width:100%}@media (max-width:1200px){.epub-scroll-wrapper{max-width:700px}.epub-scroll-wrapper .epub-container{padding:30px}}@media (max-width:768px){.epub-scroll-wrapper{margin:10px;max-width:100%}.epub-scroll-wrapper .epub-container{padding:20px}.epub-viewer{padding:10px}}@media (max-width:480px){.epub-scroll-wrapper{margin:5px}.epub-scroll-wrapper .epub-container{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{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000059;display:flex;flex-direction:column;inset:0;justify-content:center;pointer-events:all;position:absolute;text-align:center;z-index:9999}.epub-loading .epub-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);background-clip:initial}.epub-container ::-moz-selection{background:var(--selection-bg);background-clip:initial}.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:1px solid var(--border-color);border-radius:50%;color:var(--note-count-text);right:-8px;top:-8px;width:16px}.note-input-overlay{z-index:1001}.note-input-container{box-shadow:var(--shadow-3)}.note-input-textarea:focus{outline:none}.note-selected-text-content{max-height:120px;overflow-y:auto;scrollbar-width:thin}.note-selected-text-content::-webkit-scrollbar{width:6px}.note-selected-text-content::-webkit-scrollbar-track{background:#0000}.note-selected-text-content::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.pdf-viewer-wrapper{height:100%;overflow:hidden;position:relative;width:100%}.pdf-viewer-wrapper.double-page-wrapper{overflow:visible}.pdf-viewer{background-color:var(--document-bg);box-sizing:border-box;display:block;height:100%;left:0;overflow:auto;padding:20px;position:absolute;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin;top:0;width:100%}.pdf-viewer.double-page-mode{padding-right:76px}.pdf-viewer.double-page-mode .pdf-spread-wrapper{display:flex;gap:32px;justify-content:center;margin:0 auto 20px;max-width:none;width:-webkit-fit-content;width:fit-content}.pdf-viewer.double-page-mode .pdf-spread-wrapper--single{justify-content:center}.pdf-page-wrapper{background-color:var(--pdf-page-bg);box-shadow:var(--shadow-1);break-inside:avoid;display:block;margin:0 auto 20px;page-break-inside:avoid;position:relative;width:-webkit-fit-content;width:fit-content}.pdf-page-wrapper.double{margin:0}.pdf-canvas{background-color:var(--pdf-page-bg);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(--pdf-selection-bg);background-clip:initial;color:#0000;mix-blend-mode:lighten}.textLayer span::-moz-selection{background:var(--pdf-selection-bg);background-clip:initial;color:#0000;mix-blend-mode:lighten}.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:1.5}.highlightLayer,.pdf-highlight{pointer-events:none;position:absolute}.pdf-highlight{background:#ffeb3b40;box-shadow:inset 0 0 0 1px #ffeb3b26;isolation:isolate;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{background:linear-gradient(135deg,#ef4444,#dc2626);border:2px solid var(--background-color);border-radius:12px;box-shadow:0 3px 10px #ef444466;font-size:10px;height:16px;min-width:20px;padding:1px 4px;right:-18px;top:-10px;z-index:10}.note-count,.note-type-indicator{align-items:center;color:#fff;display:flex;font-weight:700;justify-content:center;position:absolute}.note-type-indicator{background:var(--primary-color);border:1px solid var(--border-color);border-radius:50%;bottom:-6px;font-size:8px;height:14px;left:-6px;width:14px}.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-selected-text{background:var(--hover-color);border-bottom:1px solid var(--border-color);border-radius:0;padding:8px 12px}.note-selected-text-label{color:var(--muted-text);font-size:11px;font-weight:500;margin-bottom:4px}.note-selected-text-content{color:var(--text-color);font-size:13px;font-style:italic;line-height:1.4;word-break:break-word}.note-selected-text-collapse,.note-selected-text-expand{background:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:11px;font-weight:500;margin-left:8px;padding:2px 6px;transition:all .2s ease}.note-selected-text-collapse:hover,.note-selected-text-expand:hover{background:var(--secondary-color);transform:translateY(-1px)}.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}@media (max-width:768px){.pdf-viewer.single-page-mode{box-sizing:border-box;left:0;max-width:100%;padding:16px 0;width:100%}}.pdf-page-loading{align-items:center;background-color:#fff;background-color:var(--surface-bg,#fff);color:#6b7280;color:var(--muted-text,#6b7280);display:flex;flex-direction:column;height:100%;justify-content:center;width:100%;z-index:10}.pdf-page-loading p{font-size:14px;font-weight:500;margin-top:12px}.pdf-page-loading-spinner{animation:pdf-spin 1s linear infinite;border:3px solid #e5e7eb;border-top:3px solid #2563eb;border:3px solid var(--border-color,#e5e7eb);border-radius:50%;border-top-color:var(--primary-color,#2563eb);height:32px;width:32px}@keyframes pdf-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.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{height:100%;width:100%}.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>.pages-thumbnails,.reader-content>.search-sidebar,.reader-content>.table-of-contents{padding-right:56px;position:relative;z-index:900}.reader-content>.pages-thumbnails,.reader-content>.table-of-contents{order:2}.reader-content>.bookmarks{order:3}.reader-content>.notes{order:4}.reader-content>.search-sidebar{order:5}@media (max-width:768px){.reader-shell{flex-direction:column}.reader-content{padding-bottom:64px;padding-top:0}.viewer-container{justify-content:flex-start;padding:0}.reader-content>.bookmarks,.reader-content>.notes,.reader-content>.pages-thumbnails,.reader-content>.search-sidebar,.reader-content>.table-of-contents{background:var(--background-color);bottom:0;box-shadow:-2px 0 18px #0009;max-width:88vw;padding-right:0;position:fixed;right:0;top:56px;transform:translateX(100%);transition:transform .25s ease-in-out;width:min(88vw,360px);z-index:1000}.reader-content>.bookmarks.open,.reader-content>.notes.open,.reader-content>.pages-thumbnails.open,.reader-content>.search-sidebar.open,.reader-content>.table-of-contents.open{transform:translateX(0)}}@media (max-width:768px) and (orientation:landscape){.reader-content{padding-bottom:56px}}: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;--document-bg:#262626;--pdf-page-bg:#fff;--epub-content-bg:#fff;--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:#2563eb40;--pdf-selection-bg:#3b82f666;--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}[data-theme=light]{--background-color:#edeeef;--surface-bg:#fff;--floating-toolbar-bg:#edeeef;--text-color:#1a1a1a;--muted-text:#666;--icon-color:#333;--border-color:#e0e0e0;--document-bg:#e2e0e0;--pdf-page-bg:#e2e0e0;--epub-content-bg:#e2e0e0;--hover-color:#0000000a;--active-color:#0000000f;--overlay-08:#00000014;--overlay-12:#0000001f;--overlay-16:#00000029;--overlay-24:#0000003d;--shadow-1:0 2px 6px #0000001a;--shadow-2:0 4px 12px #00000026;--shadow-3:0 8px 24px #0003;--scrollbar-track:#f0f0f0;--scrollbar-thumb:silver;--scrollbar-thumb-hover:#a0a0a0;--chip-bg:#f5f5f5;--chip-text:#1a1a1a;--chip-border:#e0e0e0}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!important;color:inherit}.icon-button svg g,.icon-button svg path,.nav-icon-button svg g,.nav-icon-button svg path,.note-nav-arrow svg g,.note-nav-arrow svg path,.sidebar-icon-button svg g,.sidebar-icon-button svg path{fill:currentColor!important}#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{border-width:0}.sr-only,.visually-hidden{clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sr-only{border:0}:focus{outline:2px solid #2563eb;outline:2px solid var(--primary-color);outline-offset:2px}[role=button]:focus-visible,[tabindex]:focus-visible,a:focus-visible,button:focus-visible{box-shadow:0 0 0 4px #2563eb33;outline:2px solid #2563eb;outline:2px solid var(--primary-color);outline-offset:2px}:focus:not(:focus-visible){outline:none}input:focus-visible,textarea:focus-visible{box-shadow:0 0 0 3px #2563eb26;outline:2px solid #2563eb;outline:2px solid var(--primary-color);outline-offset:0}h1[tabindex="-1"]:focus-visible,h2[tabindex="-1"]:focus-visible,h3[tabindex="-1"]:focus-visible,h4[tabindex="-1"]:focus-visible,h5[tabindex="-1"]:focus-visible,h6[tabindex="-1"]:focus-visible{outline:2px dashed #2563eb;outline:2px dashed var(--primary-color);outline-offset:4px}.sidebar-close-button{align-items:center;background:#0000;border:none;border-radius:8px;color:#fff;color:var(--icon-color);cursor:pointer;display:none;justify-content:center;min-height:40px;min-width:40px;padding:8px;transition:background-color .2s}.sidebar-close-button:hover{background:#ffffff0a;background:var(--hover-color)}.sidebar-close-button:active{background:#ffffff0f;background:var(--active-color)}.sidebar-close-button svg{fill:#fff;fill:var(--icon-color);color:#fff;color:var(--icon-color)}.sidebar-close-button:focus-visible{outline:2px solid #2563eb;outline:2px solid var(--primary-color);outline-offset:2px}@media (max-width:768px){.sidebar-close-button{display:inline-flex}}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.dc754d68.css.map*/