.reader-shell-overlay--dock-right,.reader-shell-overlay--dock-left,.reader-shell-overlay--dock-top,.reader-shell-overlay--dock-bottom{--ai-dock-w: var(--reader-ai-dock-w, min(420px, 92vw));--ai-dock-h: var(--reader-ai-dock-h, min(48vh, 560px));padding:0!important;background:transparent!important;backdrop-filter:none!important;display:block!important;align-items:stretch!important;justify-content:flex-start!important}.reader-shell-overlay--dock-right{inset:0 0 0 auto!important;width:var(--ai-dock-w);box-shadow:-8px 0 24px #0000001f}.reader-shell-overlay--dock-left{inset:0 auto 0 0!important;width:var(--ai-dock-w);box-shadow:8px 0 24px #0000001f}.reader-shell-overlay--dock-top{inset:0 0 auto!important;width:100%!important;height:var(--ai-dock-h);box-shadow:0 8px 24px #0000001f}.reader-shell-overlay--dock-bottom{inset:auto 0 0!important;width:100%!important;height:var(--ai-dock-h);box-shadow:0 -8px 24px #0000001f}.reader-shell-overlay--float{pointer-events:none}.reader-shell-overlay--float>*{pointer-events:auto}.reader-shell-overlay--dock-right .reader-shell-panel,.reader-shell-overlay--dock-left .reader-shell-panel{width:100%;max-width:none;height:100vh;max-height:100vh;border-radius:0}.reader-shell-overlay--dock-top .reader-shell-panel,.reader-shell-overlay--dock-bottom .reader-shell-panel{width:100%;max-width:none;height:100%;max-height:100%;border-radius:0}.reader-settings-modal.reader-shell-overlay--dock-right,.reader-settings-modal.reader-shell-overlay--dock-left,.reader-settings-modal.reader-shell-overlay--dock-top,.reader-settings-modal.reader-shell-overlay--dock-bottom{align-items:stretch!important;justify-content:flex-start!important}.reader-settings-modal.reader-shell-overlay--dock-right .reader-settings-content,.reader-settings-modal.reader-shell-overlay--dock-left .reader-settings-content,.reader-settings-modal.reader-shell-overlay--dock-top .reader-settings-content,.reader-settings-modal.reader-shell-overlay--dock-bottom .reader-settings-content{width:100%!important;max-width:none!important;max-height:none!important;height:100%!important;border-radius:0!important;overflow:auto}.ai-chat-panel-layout{position:relative;display:inline-flex;align-items:center;gap:.15rem;z-index:50;flex-shrink:0}.ai-chat-panel-dock-toggle,.ai-chat-panel-anchor-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--color-text-muted, #6b7280);cursor:pointer}.ai-chat-panel-dock-toggle:hover,.ai-chat-panel-anchor-toggle:hover{background:var(--color-primary-50, #fffbeb);color:var(--color-text, #1f2937)}.ai-chat-panel-dock-toggle.active,.ai-chat-panel-anchor-toggle.active{color:var(--color-primary-600, #d97706);background:var(--color-primary-50, #fffbeb)}.ai-chat-panel-layout-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:80;display:grid;grid-template-columns:1fr;gap:.25rem;min-width:148px;padding:.4rem;background:#fff;border:1px solid var(--color-border, #e5e7eb);border-radius:10px;box-shadow:0 8px 24px #00000029}.ai-chat-panel-layout-menu[hidden]{display:none!important}@media(min-width:900px){.ai-chat-panel-layout-menu{grid-template-columns:repeat(2,minmax(96px,1fr));min-width:220px}.ai-chat-panel-overlay--dock-left .ai-chat-panel-layout-menu,.ai-chat-panel-overlay--dock-right .ai-chat-panel-layout-menu,.reader-shell-overlay--dock-left .ai-chat-panel-layout-menu,.reader-shell-overlay--dock-right .ai-chat-panel-layout-menu{grid-template-columns:1fr;min-width:148px}}.ai-chat-panel-layout-item{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:.5rem;padding:.45rem .5rem;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--color-text, #374151);font-size:.78rem;font-weight:500;line-height:1.1;cursor:pointer;transition:background .12s ease,border-color .12s ease;white-space:nowrap}@media(min-width:900px){.ai-chat-panel-layout-item{flex-direction:column;justify-content:center;white-space:normal;padding:.5rem .4rem;font-size:.72rem}.ai-chat-panel-overlay--dock-left .ai-chat-panel-layout-item,.ai-chat-panel-overlay--dock-right .ai-chat-panel-layout-item,.reader-shell-overlay--dock-left .ai-chat-panel-layout-item,.reader-shell-overlay--dock-right .ai-chat-panel-layout-item{flex-direction:row;justify-content:flex-start;white-space:nowrap;padding:.45rem .5rem;font-size:.78rem}}.ai-chat-panel-layout-item:hover{background:var(--color-primary-50, #fffbeb);border-color:var(--color-primary-200, #fde68a)}.ai-chat-panel-layout-item.active{border-color:var(--color-primary-500, #f59e0b);background:var(--color-primary-50, #fffbeb);color:var(--color-primary-700, #b45309)}.ai-chat-panel-layout-glyph{position:relative;width:34px;height:26px;border:1.5px solid currentColor;border-radius:3px;opacity:.85;flex-shrink:0}.ai-chat-panel-layout-glyph:after{content:"";position:absolute;background:currentColor;border-radius:1px}.ai-chat-panel-layout-glyph[data-edge=modal]:after{inset:5px 9px}.ai-chat-panel-layout-glyph[data-edge=right]:after{inset:2px 2px 2px 60%}.ai-chat-panel-layout-glyph[data-edge=left]:after{inset:2px 60% 2px 2px}.ai-chat-panel-layout-glyph[data-edge=top]:after{inset:2px 2px 60%}.ai-chat-panel-layout-glyph[data-edge=bottom]:after{inset:60% 2px 2px}.header-actions[data-v-2175b09b]{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.history-btn[data-v-2175b09b]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:none;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;cursor:pointer;font-size:.875rem;color:var(--color-muted, #6b7280);transition:all .2s;min-height:36px;white-space:nowrap}.history-btn[data-v-2175b09b]:hover{background:var(--color-hover, #f3f4f6);border-color:var(--color-muted, #9ca3af);color:var(--color-text, #1f2937)}.history-btn[data-v-2175b09b]:active{transform:scale(.98)}.history-btn.active[data-v-2175b09b]{background:var(--color-primary, #3b82f6);border-color:var(--color-primary, #3b82f6);color:#fff}.close-btn[data-v-2175b09b]{background:none;border:none;cursor:pointer;padding:.5rem;color:var(--color-muted, #6b7280);border-radius:8px;transition:all .2s;flex-shrink:0}.close-btn[data-v-2175b09b]:hover:not(:disabled){background:var(--color-hover, #f3f4f6);color:var(--color-text, #1f2937)}.close-btn[data-v-2175b09b]:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.header-actions[data-v-2175b09b]{gap:.375rem}.history-btn[data-v-2175b09b]{font-size:.8rem;padding:.375rem .5rem;min-width:auto}.history-btn span[data-v-2175b09b]{display:none}.close-btn[data-v-2175b09b]{padding:.375rem;width:36px;height:36px}}@media(max-width:480px){.history-btn[data-v-2175b09b]{padding:.25rem .375rem}.close-btn[data-v-2175b09b]{width:32px;height:32px;padding:.25rem}}@supports (-webkit-touch-callout: none){.book-chat-container[data-v-5e971fd9]{height:100vh;height:-webkit-fill-available}}.book-chat-overlay[data-v-5e971fd9]{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:fadeIn-5e971fd9 .2s ease}.book-chat-embedded[data-v-5e971fd9]{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.book-chat-container.book-chat-container--embedded[data-v-5e971fd9]{height:100%;max-height:none;width:100%;max-width:none;box-shadow:none;animation:none;border-radius:0;display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;padding-bottom:.5rem}@keyframes fadeIn-5e971fd9{0%{opacity:0}to{opacity:1}}.book-chat-container[data-v-5e971fd9]{background:var(--color-card, #ffffff);border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;width:100%;max-width:800px;height:90vh;max-height:700px;animation:slideUp-5e971fd9 .3s ease}@keyframes slideUp-5e971fd9{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.book-chat-container.indexing[data-v-5e971fd9]:not(.book-chat-container--embedded){pointer-events:none;opacity:.9}.chat-header[data-v-5e971fd9]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;border-bottom:1px solid var(--color-border, #e5e7eb);background:var(--color-background, #f9fafb);border-radius:16px 16px 0 0}.chat-title[data-v-5e971fd9]{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.chat-icon[data-v-5e971fd9]{color:var(--color-primary, #3b82f6);flex-shrink:0}.chat-title h3[data-v-5e971fd9]{margin:0;font-size:1.1rem;font-weight:600;color:var(--color-text, #1f2937);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4}.subtitle[data-v-5e971fd9]{margin:.25rem 0 0;font-size:.875rem;color:var(--color-muted, #6b7280);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-history-link[data-v-5e971fd9]{display:inline-block;margin-top:.25rem;font-size:.8rem;color:var(--color-muted, #6b7280);text-decoration:none}.chat-history-link[data-v-5e971fd9]:hover{color:var(--color-text, #111827);text-decoration:underline}.index-warning[data-v-5e971fd9],.indexing-status[data-v-5e971fd9],.quota-warning[data-v-5e971fd9]{display:flex;gap:1rem;padding:1.5rem;margin:1rem;border-radius:12px;align-items:flex-start}.index-warning[data-v-5e971fd9]{background:#fef3c7;border:1px solid #fbbf24;color:#92400e}.index-error-details[data-v-5e971fd9]{margin-top:.5rem}.index-error-details summary[data-v-5e971fd9]{cursor:pointer;font-weight:600}.index-error-pre[data-v-5e971fd9]{margin-top:.5rem;background:#0000000f;border-radius:8px;padding:.5rem .75rem;font-size:.8rem;white-space:pre-wrap;word-break:break-word}.indexing-status[data-v-5e971fd9]{background:#dbeafe;border:1px solid #3b82f6;color:#1e40af;align-items:center;text-align:center;flex-direction:column}.quota-warning[data-v-5e971fd9]{background:#fee2e2;border:1px solid #ef4444;color:#991b1b}.text-sm[data-v-5e971fd9]{font-size:.875rem;margin-top:.25rem}.btn-primary[data-v-5e971fd9]{background:var(--color-primary, #3b82f6);color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s;text-decoration:none;display:inline-block}.btn-primary[data-v-5e971fd9]:hover{background:var(--color-primary-dark, #2563eb);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.mt-2[data-v-5e971fd9]{margin-top:.5rem}.spinner[data-v-5e971fd9]{width:40px;height:40px;border:4px solid rgba(59,130,246,.2);border-top-color:var(--color-primary, #3b82f6);border-radius:50%;animation:spin-5e971fd9 .8s linear infinite}@keyframes spin-5e971fd9{to{transform:rotate(360deg)}}.chat-messages[data-v-5e971fd9]{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;background:var(--color-background, #f9fafb)}.message[data-v-5e971fd9]{display:flex;gap:.75rem;align-items:flex-start}.message.user[data-v-5e971fd9]{flex-direction:row-reverse}.message-avatar[data-v-5e971fd9]{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.message.user .message-avatar[data-v-5e971fd9]{background:var(--color-primary, #3b82f6);color:#fff}.message.assistant .message-avatar[data-v-5e971fd9]{background:var(--color-muted-light, #e5e7eb);color:var(--color-text, #1f2937)}.message-content[data-v-5e971fd9]{max-width:70%;display:flex;flex-direction:column;gap:.5rem}.message-text[data-v-5e971fd9]{padding:.875rem 1rem;border-radius:12px;line-height:1.5}.message.user .message-text[data-v-5e971fd9]{background:var(--color-primary, #3b82f6);color:#fff;border-bottom-right-radius:4px}.message.assistant .message-text[data-v-5e971fd9]{background:#fff;color:var(--color-text, #1f2937);border:1px solid var(--color-border, #e5e7eb);border-bottom-left-radius:4px}.message-citation-footer[data-v-5e971fd9]{margin:.5rem 0 0;font-size:.75rem;color:var(--color-text-muted, #6b7280)}.message-language-warning[data-v-5e971fd9]{margin:.5rem 0 0;padding:.5rem .625rem;font-size:.8125rem;line-height:1.35;color:var(--color-warning-text, #92400e);background:var(--color-warning-bg, #fef3c7);border:1px solid var(--color-warning-border, #fcd34d);border-radius:6px}.history-section+.history-section[data-v-5e971fd9]{margin-top:1rem}.history-section-title[data-v-5e971fd9]{margin:0 0 .5rem;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted, #6b7280)}.message-tools-used[data-v-5e971fd9]{margin-top:.35rem;font-size:.75rem}.typing-tools-hint[data-v-5e971fd9]{margin:0 0 .35rem;font-size:.75rem}.message-sources[data-v-5e971fd9]{display:flex;flex-direction:column;gap:.5rem}.sources-toggle[data-v-5e971fd9]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--color-background, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;cursor:pointer;font-size:.875rem;color:var(--color-muted, #6b7280);transition:all .2s}.sources-toggle[data-v-5e971fd9]:hover{background:var(--color-hover, #f3f4f6);border-color:var(--color-muted, #9ca3af)}.sources-toggle svg[data-v-5e971fd9]:last-child{margin-left:auto;transition:transform .2s}.sources-list[data-v-5e971fd9]{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;background:var(--color-background, #f9fafb);border-radius:8px}.source-item[data-v-5e971fd9]{padding:.75rem;background:#fff;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;font-size:.875rem}.source-chip[data-v-5e971fd9]{display:inline-block;margin-bottom:.4rem;padding:.15rem .55rem;border-radius:999px;background:var(--color-primary-50, #eff6ff);color:var(--color-primary, #3b82f6);font-size:.75rem;font-weight:600}.source-item-clickable[data-v-5e971fd9]{cursor:pointer;transition:border-color .15s,background .15s}.source-item-clickable[data-v-5e971fd9]:hover,.source-item-clickable[data-v-5e971fd9]:focus{border-color:var(--color-primary, #3b82f6);background:var(--color-hover, #f8fafc);outline:none}.source-jump-hint[data-v-5e971fd9]{display:inline-block;margin-top:.35rem;font-size:.75rem;color:var(--color-primary, #3b82f6);font-weight:500}.source-header[data-v-5e971fd9]{display:flex;justify-content:space-between;margin-bottom:.5rem}.source-page[data-v-5e971fd9]{font-weight:600;color:var(--color-primary, #3b82f6)}.source-score[data-v-5e971fd9]{font-size:.75rem;color:var(--color-muted, #6b7280);background:var(--color-background, #f3f4f6);padding:.125rem .5rem;border-radius:999px}.source-text[data-v-5e971fd9]{margin:0;color:var(--color-text, #4b5563);line-height:1.5}.typing .message-text[data-v-5e971fd9]{padding:.75rem 1rem}.typing-status[data-v-5e971fd9]{margin:0 0 .35rem;font-size:.875rem;font-weight:500;color:var(--color-text, #374151)}.thinking-hint[data-v-5e971fd9]{color:var(--color-primary, #3b82f6)!important;font-weight:600}.typing-dots[data-v-5e971fd9]{display:flex;gap:.25rem;align-items:center}.typing-dots span[data-v-5e971fd9]{width:8px;height:8px;background:var(--color-muted, #9ca3af);border-radius:50%;animation:bounce-5e971fd9 1.4s infinite ease-in-out both}.typing-dots span[data-v-5e971fd9]:nth-child(1){animation-delay:-.32s}.typing-dots span[data-v-5e971fd9]:nth-child(2){animation-delay:-.16s}@keyframes bounce-5e971fd9{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.chat-input-container[data-v-5e971fd9]{padding:1rem;border-top:1px solid var(--color-border, #e5e7eb);background:#fff;border-radius:0 0 16px 16px}.chat-input-container form[data-v-5e971fd9]{display:flex;gap:.5rem;margin-bottom:.75rem}.chat-input-container textarea[data-v-5e971fd9],.chat-textarea[data-v-5e971fd9]{flex:1;padding:.75rem;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;font-family:inherit;font-size:.95rem;resize:none;max-height:120px;transition:border-color .2s;line-height:1.4;min-height:44px}.chat-input-container textarea[data-v-5e971fd9]:focus,.chat-textarea[data-v-5e971fd9]:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.chat-input-container textarea[data-v-5e971fd9]:disabled,.chat-textarea[data-v-5e971fd9]:disabled{background:var(--color-background, #f3f4f6);cursor:not-allowed}.send-btn[data-v-5e971fd9]{padding:.75rem;background:var(--color-primary, #3b82f6);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.send-icon[data-v-5e971fd9]{display:inline-flex;align-items:center;justify-content:center;line-height:0;color:#fff}.send-icon svg[data-v-5e971fd9]{display:block;stroke:#fff;fill:none}.send-icon svg polygon[data-v-5e971fd9]{fill:#fff;stroke:#fff}.send-btn.is-thinking[data-v-5e971fd9]{opacity:1;cursor:wait}.send-spinner[data-v-5e971fd9]{width:18px;height:18px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:send-spin-5e971fd9 .7s linear infinite}@keyframes send-spin-5e971fd9{to{transform:rotate(360deg)}}.send-btn[data-v-5e971fd9]:hover:not(:disabled){background:var(--color-primary-dark, #2563eb);transform:translateY(-1px)}.send-btn[data-v-5e971fd9]:active{transform:translateY(0)}.send-btn[data-v-5e971fd9]:disabled{opacity:.5;cursor:not-allowed}.send-btn:disabled.is-thinking[data-v-5e971fd9]{opacity:1;cursor:wait}.chat-footer-bar[data-v-5e971fd9]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border, #e5e7eb)}.footer-left[data-v-5e971fd9]{flex:1;min-width:0}.footer-right[data-v-5e971fd9]{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.quota-info[data-v-5e971fd9]{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-muted, #6b7280);margin-top:.25rem}.plan-badge[data-v-5e971fd9]{padding:.125rem .5rem;background:var(--color-background, #f3f4f6);border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase}.plan-badge.premium[data-v-5e971fd9]{background:#fef3c7;color:#92400e}.plan-badge.basic[data-v-5e971fd9]{background:#dbeafe;color:#1e40af}.model-chip[data-v-5e971fd9]{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--color-background, #f3f4f6);border:1px solid var(--color-border, #e5e7eb);border-radius:999px;font-size:.7rem;color:var(--color-muted, #6b7280);text-decoration:none;transition:background .15s,color .15s;cursor:pointer}.model-chip[data-v-5e971fd9]:hover{background:var(--color-hover, #e5e7eb);color:var(--color-text, #374151)}.input-hint[data-v-5e971fd9]{margin:0;font-size:.75rem;color:var(--color-muted, #9ca3af)}.toggle-icon-wrapper[data-v-5e971fd9]{position:relative}.toggle-icon-btn[data-v-5e971fd9]{width:36px;height:36px;border-radius:8px;border:1px solid var(--color-border, #e5e7eb);background:var(--color-background, #ffffff);color:var(--color-muted, #6b7280);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0;flex-shrink:0}.toggle-icon-btn[data-v-5e971fd9]:hover:not(:disabled){background:var(--color-hover, #f3f4f6);border-color:var(--color-muted, #9ca3af);color:var(--color-text, #1f2937)}.toggle-icon-btn.active[data-v-5e971fd9]{background:var(--color-primary, #3b82f6);border-color:var(--color-primary, #3b82f6);color:#fff}.toggle-icon-btn.disabled[data-v-5e971fd9]{opacity:.5;cursor:not-allowed}.toggle-icon-btn svg[data-v-5e971fd9]{width:18px;height:18px}.toggle-popover[data-v-5e971fd9]{position:absolute;bottom:calc(100% + 8px);right:0;z-index:1000;min-width:280px;max-width:320px;animation:popoverFadeIn-5e971fd9 .2s ease}@keyframes popoverFadeIn-5e971fd9{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.popover-content[data-v-5e971fd9]{background:#fff;border:1px solid var(--color-border, #e5e7eb);border-radius:12px;box-shadow:0 4px 12px #00000026;overflow:hidden}.popover-header[data-v-5e971fd9]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--color-background, #f9fafb);border-bottom:1px solid var(--color-border, #e5e7eb)}.popover-header svg[data-v-5e971fd9]{color:var(--color-primary, #3b82f6);flex-shrink:0}.popover-header strong[data-v-5e971fd9]{font-size:.9rem;font-weight:600;color:var(--color-text, #1f2937)}.popover-body[data-v-5e971fd9]{padding:1rem}.popover-toggle[data-v-5e971fd9]{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-bottom:.75rem}.popover-toggle input[type=checkbox][data-v-5e971fd9]{display:none}.popover-toggle-switch[data-v-5e971fd9]{position:relative;width:44px;height:24px;background:var(--color-muted-light, #d1d5db);border-radius:12px;transition:background .3s;flex-shrink:0}.popover-toggle-switch[data-v-5e971fd9]:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .3s;box-shadow:0 2px 4px #0003}.popover-toggle input:checked+.popover-toggle-switch[data-v-5e971fd9]{background:var(--color-primary, #3b82f6)}.popover-toggle input:checked+.popover-toggle-switch[data-v-5e971fd9]:after{transform:translate(20px)}.popover-text[data-v-5e971fd9]{margin:0;font-size:.875rem;color:var(--color-text, #4b5563);line-height:1.5}.popover-progress[data-v-5e971fd9]{margin-top:.75rem;display:flex;flex-direction:column;gap:.25rem}.popover-progress .progress-bar[data-v-5e971fd9]{width:100%;height:6px;background:var(--color-muted-light, #e5e7eb);border-radius:3px;overflow:hidden}.popover-progress .progress-fill[data-v-5e971fd9]{height:100%;background:linear-gradient(90deg,var(--color-primary, #3b82f6),#10b981);border-radius:3px;transition:width .3s ease}.popover-progress .progress-text[data-v-5e971fd9]{font-size:.75rem;color:var(--color-muted, #6b7280);text-align:center}.no-spoiler-controls[data-v-5e971fd9]{display:none}.no-spoiler-toggle[data-v-5e971fd9]{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:.25rem;margin:-.25rem;border-radius:8px;transition:background-color .2s}.no-spoiler-toggle[data-v-5e971fd9]:hover{background:#00000005}.no-spoiler-toggle[data-v-5e971fd9]:active{background:#0000000d}.no-spoiler-toggle input[type=checkbox][data-v-5e971fd9]{display:none}.toggle-switch[data-v-5e971fd9]{position:relative;width:44px;height:24px;background:var(--color-muted-light, #d1d5db);border-radius:12px;transition:background .3s;flex-shrink:0}.toggle-switch[data-v-5e971fd9]:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .3s;box-shadow:0 2px 4px #0003}.no-spoiler-toggle input:checked+.toggle-switch[data-v-5e971fd9]{background:var(--color-primary, #3b82f6)}.no-spoiler-toggle input:checked+.toggle-switch[data-v-5e971fd9]:after{transform:translate(20px)}.no-spoiler-toggle input:disabled+.toggle-switch[data-v-5e971fd9]{opacity:.5;cursor:not-allowed}.toggle-label[data-v-5e971fd9]{display:flex;flex-direction:column;gap:.125rem;font-size:.9rem;font-weight:500;color:var(--color-text, #1f2937)}.toggle-label small[data-v-5e971fd9]{font-size:.75rem;font-weight:400;color:var(--color-muted, #6b7280)}.toggle-label small.text-muted[data-v-5e971fd9]{color:var(--color-muted, #9ca3af);font-style:italic}.reading-progress-indicator[data-v-5e971fd9]{margin-top:.75rem;display:flex;flex-direction:column;gap:.25rem}.progress-bar[data-v-5e971fd9]{width:100%;height:6px;background:var(--color-muted-light, #e5e7eb);border-radius:3px;overflow:hidden}.progress-fill[data-v-5e971fd9]{height:100%;background:linear-gradient(90deg,var(--color-primary, #3b82f6),#10b981);border-radius:3px;transition:width .3s ease}.progress-text[data-v-5e971fd9]{font-size:.75rem;color:var(--color-muted, #6b7280);text-align:center}@media(max-width:768px){.book-chat-overlay[data-v-5e971fd9]{padding:0;align-items:stretch;justify-content:stretch}.book-chat-container[data-v-5e971fd9]{max-width:100%;width:100%;height:100vh;max-height:100vh;border-radius:0;margin:0}.chat-header[data-v-5e971fd9]{padding:1rem;flex-wrap:wrap;gap:.75rem}.chat-title[data-v-5e971fd9]{flex:1;min-width:0}.chat-title h3[data-v-5e971fd9]{font-size:1rem;line-height:1.3}.subtitle[data-v-5e971fd9]{font-size:.8rem}.chat-messages[data-v-5e971fd9]{padding:1rem;gap:.75rem}.message-content[data-v-5e971fd9]{max-width:90%}.message-avatar[data-v-5e971fd9]{width:32px;height:32px}.message-text[data-v-5e971fd9]{padding:.75rem;font-size:.9rem}.chat-input-container[data-v-5e971fd9]{padding:.75rem}.chat-input-container form[data-v-5e971fd9]{gap:.375rem;margin-bottom:.5rem}.chat-input-container textarea[data-v-5e971fd9]{padding:.625rem;font-size:.9rem}.send-btn[data-v-5e971fd9]{padding:.625rem;min-width:44px}.chat-footer-bar[data-v-5e971fd9]{flex-direction:column;gap:.5rem;margin-top:.5rem;padding-top:.5rem}.footer-right[data-v-5e971fd9]{align-self:flex-end}.toggle-icon-btn[data-v-5e971fd9]{width:32px;height:32px}.toggle-icon-btn svg[data-v-5e971fd9]{width:16px;height:16px}.toggle-popover[data-v-5e971fd9]{min-width:260px;max-width:calc(100vw - 2rem);right:0;left:auto}.footer-right[data-v-5e971fd9]{position:relative}.popover-content[data-v-5e971fd9]{font-size:.875rem}.popover-header[data-v-5e971fd9]{padding:.625rem .875rem}.popover-body[data-v-5e971fd9]{padding:.875rem}.popover-toggle-switch[data-v-5e971fd9]{width:40px;height:22px}.popover-toggle-switch[data-v-5e971fd9]:after{width:18px;height:18px}.popover-toggle input:checked+.popover-toggle-switch[data-v-5e971fd9]:after{transform:translate(18px)}.sources-toggle[data-v-5e971fd9]{padding:.375rem .5rem;font-size:.8rem}.source-item[data-v-5e971fd9]{padding:.5rem;font-size:.8rem}.source-header[data-v-5e971fd9]{flex-direction:column;align-items:flex-start;gap:.25rem}.quota-info[data-v-5e971fd9]{font-size:.8rem;margin-bottom:.375rem}.input-hint[data-v-5e971fd9]{font-size:.7rem}.index-warning[data-v-5e971fd9],.indexing-status[data-v-5e971fd9],.quota-warning[data-v-5e971fd9]{margin:.75rem;padding:1rem;gap:.75rem}.index-warning svg[data-v-5e971fd9],.indexing-status svg[data-v-5e971fd9],.quota-warning svg[data-v-5e971fd9]{width:18px;height:18px;flex-shrink:0}}.chat-history-view[data-v-5e971fd9]{flex:1;overflow-y:auto;padding:1.5rem;background:var(--color-background, #f9fafb)}.history-header[data-v-5e971fd9]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border, #e5e7eb)}.history-header h4[data-v-5e971fd9]{margin:0;font-size:1.1rem;font-weight:600;color:var(--color-text, #1f2937)}.btn-sm[data-v-5e971fd9]{padding:.375rem .75rem;font-size:.875rem;display:flex;align-items:center;gap:.375rem}.history-loading[data-v-5e971fd9]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:var(--color-muted, #6b7280)}.history-loading .spinner[data-v-5e971fd9]{width:32px;height:32px;margin-bottom:1rem}.history-empty[data-v-5e971fd9]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:var(--color-muted, #6b7280)}.history-empty svg[data-v-5e971fd9]{margin-bottom:1rem;opacity:.5}.history-empty p[data-v-5e971fd9]{margin:.5rem 0}.history-list[data-v-5e971fd9]{display:flex;flex-direction:column;gap:1rem}.history-item[data-v-5e971fd9]{background:#fff;border:1px solid var(--color-border, #e5e7eb);border-radius:12px;padding:1rem;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #0000000d;min-height:60px;-webkit-tap-highlight-color:transparent}.history-item[data-v-5e971fd9]:hover{border-color:var(--color-primary, #3b82f6);box-shadow:0 4px 12px #3b82f626;transform:translateY(-1px)}.history-item[data-v-5e971fd9]:active{transform:translateY(0);box-shadow:0 2px 8px #3b82f633}.history-item-header[data-v-5e971fd9]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:1rem}.history-item-title[data-v-5e971fd9]{font-weight:600;color:var(--color-text, #1f2937);line-height:1.4;flex:1}.history-item-meta[data-v-5e971fd9]{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;flex-shrink:0}.history-item-date[data-v-5e971fd9]{font-size:.75rem;color:var(--color-muted, #6b7280);white-space:nowrap}.history-item-count[data-v-5e971fd9]{font-size:.75rem;color:var(--color-primary, #3b82f6);background:var(--color-primary-light, #eff6ff);padding:.125rem .5rem;border-radius:999px;white-space:nowrap}.history-item-preview[data-v-5e971fd9]{color:var(--color-muted, #6b7280);font-size:.875rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mcp-controls[data-v-5e971fd9]{display:none}@media(max-width:768px){.chat-history-view[data-v-5e971fd9]{padding:1rem}.history-header[data-v-5e971fd9]{flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem}.history-header h4[data-v-5e971fd9]{font-size:1rem}.btn-sm[data-v-5e971fd9]{padding:.5rem .75rem;font-size:.85rem;justify-content:center}.history-list[data-v-5e971fd9]{gap:.75rem}.history-item[data-v-5e971fd9]{padding:.75rem}.history-item-header[data-v-5e971fd9]{flex-direction:column;align-items:stretch;gap:.5rem;margin-bottom:.5rem}.history-item-title[data-v-5e971fd9]{font-size:.9rem;line-height:1.3}.history-item-meta[data-v-5e971fd9]{flex-direction:row;align-items:center;justify-content:space-between}.history-item-date[data-v-5e971fd9],.history-item-count[data-v-5e971fd9]{font-size:.7rem}.history-item-preview[data-v-5e971fd9]{font-size:.8rem;-webkit-line-clamp:3}.history-loading[data-v-5e971fd9],.history-empty[data-v-5e971fd9]{padding:2rem 1rem}.history-loading .spinner[data-v-5e971fd9]{width:28px;height:28px}.history-empty svg[data-v-5e971fd9]{width:40px;height:40px}.history-empty p[data-v-5e971fd9]{font-size:.9rem}.history-empty .text-sm[data-v-5e971fd9]{font-size:.8rem}}@media(max-width:480px){.book-chat-overlay[data-v-5e971fd9]{position:fixed;height:100vh;height:-webkit-fill-available}.chat-header[data-v-5e971fd9]{padding:.75rem}.chat-title h3[data-v-5e971fd9]{font-size:.95rem}.subtitle[data-v-5e971fd9]{font-size:.75rem}.chat-messages[data-v-5e971fd9]{padding:.75rem}.message-avatar[data-v-5e971fd9]{width:28px;height:28px}.message-text[data-v-5e971fd9]{padding:.625rem;font-size:.85rem}.chat-input-container[data-v-5e971fd9]{padding:.625rem;position:relative;z-index:1}.chat-textarea[data-v-5e971fd9]{font-size:16px}.chat-footer-bar[data-v-5e971fd9]{gap:.375rem}.toggle-icon-btn[data-v-5e971fd9]{width:28px;height:28px}.toggle-icon-btn svg[data-v-5e971fd9]{width:14px;height:14px}.toggle-popover[data-v-5e971fd9]{min-width:240px}.popover-header[data-v-5e971fd9]{padding:.5rem .75rem;font-size:.85rem}.popover-body[data-v-5e971fd9]{padding:.75rem}.popover-text[data-v-5e971fd9]{font-size:.8rem}.history-item[data-v-5e971fd9]{padding:.625rem}.history-item-title[data-v-5e971fd9]{font-size:.85rem}.history-item-preview[data-v-5e971fd9]{font-size:.75rem}}.ai-chat-panel-intents[data-v-c938c67d]{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.35rem}.ai-chat-panel-intent-btn[data-v-c938c67d]{border:1px solid var(--color-border, #d1d5db);background:#fff;color:var(--color-text, #1f2937);border-radius:999px;padding:.4rem .95rem;font-size:.875rem;font-weight:500;line-height:1.2;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.ai-chat-panel-intent-btn[data-v-c938c67d]:hover{border-color:var(--color-primary-400, #fbbf24);background:var(--color-primary-50, #fffbeb)}.ai-chat-panel-intent-btn.active[data-v-c938c67d]{background:var(--color-primary-500, #f59e0b);border-color:var(--color-primary-500, #f59e0b);color:#fff}.ai-chat-panel-intent-btn.is-disabled[data-v-c938c67d]{opacity:.45;cursor:not-allowed;background:var(--color-surface-muted, #f9fafb)}.ai-chat-panel-intent-btn.is-disabled[data-v-c938c67d]:hover{border-color:var(--color-border, #d1d5db);background:var(--color-surface-muted, #f9fafb)}.ai-chat-panel-intent-btn[data-v-c938c67d]:focus{outline:none}.ai-chat-panel-intent-btn[data-v-c938c67d]:focus-visible{outline:2px solid var(--color-primary-500, #f59e0b);outline-offset:2px}.chat-header[data-v-10ba5fb0]{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:.55rem .9rem;border-bottom:1px solid var(--color-border, #e5e7eb);background:var(--color-card, #ffffff);position:relative;z-index:40;overflow:visible;flex-shrink:0}.ai-chat-panel-history-view[data-v-10ba5fb0]{flex:1;overflow-y:auto;padding:.75rem 1rem}.ai-chat-panel-history-sections[data-v-10ba5fb0]{display:flex;flex-direction:column;gap:1rem}.ai-chat-panel-history-section-title[data-v-10ba5fb0]{margin:0 0 .5rem;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted, #6b7280)}.ai-chat-panel-history-list[data-v-10ba5fb0]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.ai-chat-panel-history-open[data-v-10ba5fb0]{width:100%;text-align:left;border:1px solid var(--color-border, #e5e7eb);border-radius:10px;background:#fff;padding:.65rem .75rem;cursor:pointer}.ai-chat-panel-history-types[data-v-10ba5fb0]{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted, #6b7280);margin-bottom:.25rem}.ai-chat-panel-history-preview[data-v-10ba5fb0]{display:block;font-size:.9rem;color:var(--color-text, #1f2937)}.ai-chat-panel-history-empty[data-v-10ba5fb0]{color:var(--color-text-muted, #6b7280);font-size:.9rem}.ai-chat-panel-overlay[data-v-10ba5fb0]{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10060;padding:1rem;animation:ai-chat-panel-fade-in-10ba5fb0 .2s ease}.ai-chat-panel-container[data-v-10ba5fb0]{background:var(--color-card, #ffffff);border-radius:16px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:800px;display:flex;flex-direction:column;height:min(700px,90vh);max-height:min(700px,calc(100vh - 2rem));overflow:hidden;animation:ai-chat-panel-slide-up-10ba5fb0 .3s ease}.ai-chat-panel-container--menu-open[data-v-10ba5fb0]{overflow:visible!important}.ai-chat-panel-body[data-v-10ba5fb0]{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}@keyframes ai-chat-panel-fade-in-10ba5fb0{0%{opacity:0}to{opacity:1}}@keyframes ai-chat-panel-slide-up-10ba5fb0{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.chat-title[data-v-10ba5fb0]{display:flex;align-items:flex-start;gap:.5rem;flex:1;min-width:0;overflow:hidden}.chat-title>div[data-v-10ba5fb0]{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;min-width:0;max-width:100%}.chat-title h3[data-v-10ba5fb0]{margin:0;font-size:1rem;font-weight:600;color:var(--color-text, #1f2937);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;max-width:100%;word-break:break-word}.chat-title .subtitle[data-v-10ba5fb0]{margin:0;font-size:.8rem;color:var(--color-text-muted, #6b7280);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.chat-icon[data-v-10ba5fb0]{flex-shrink:0;width:18px;height:18px;color:var(--color-primary-500, #2563eb)}.ai-chat-panel-container>.book-chat-embedded[data-v-10ba5fb0]{flex:1;min-height:0;width:100%;display:flex;flex-direction:column}.ai-chat-panel-book-scope-bar[data-v-10ba5fb0]{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.65rem 1rem;border-bottom:1px solid var(--color-border, #e5e7eb);background:var(--color-background, #f9fafb)}.ai-chat-panel-book-scope-main[data-v-10ba5fb0]{flex:1 1 100%;min-width:0}.ai-chat-panel-book-scope-controls[data-v-10ba5fb0]{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.ai-chat-panel-scope-descriptor[data-v-10ba5fb0]{margin:0;padding:.25rem .9rem 0;font-size:.72rem;line-height:1.25;color:var(--color-text-muted, #6b7280)}.ai-chat-panel-attached-passage[data-v-10ba5fb0]{margin-bottom:.5rem}.ai-chat-panel-attached-label[data-v-10ba5fb0]{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted, #6b7280);margin-bottom:.25rem}.ai-chat-panel-attached-passage blockquote[data-v-10ba5fb0]{margin:0;padding:.5rem .65rem;border-left:3px solid var(--color-primary-500, #2563eb);background:#fff;border-radius:.25rem;font-size:.875rem;color:var(--color-text, #1f2937)}.ai-chat-panel-reading-context-toggle[data-v-10ba5fb0]{display:inline-flex;align-items:center;gap:.35rem;font-size:.8125rem;color:var(--color-text, #1f2937);cursor:pointer}.ai-chat-panel-escalation[data-v-10ba5fb0]{display:flex;flex-direction:column;gap:.5rem;padding:.65rem 0 .25rem}.ai-chat-panel-escalation-hint[data-v-10ba5fb0]{margin:0;font-size:.8125rem;color:var(--color-text-muted, #6b7280)}.ai-chat-panel-escalation-btn[data-v-10ba5fb0]{align-self:flex-start;border:1px solid var(--color-primary-500, #2563eb);background:#fff;color:var(--color-primary-600, #1d4ed8);border-radius:999px;padding:.35rem .85rem;font-size:.875rem;cursor:pointer}.ai-chat-panel-escalation-btn[data-v-10ba5fb0]:disabled{opacity:.55;cursor:not-allowed}.ai-chat-panel-book-scope-line[data-v-10ba5fb0]{margin:0;font-size:.8125rem;color:var(--color-text-muted, #6b7280)}.ai-chat-panel-no-spoiler-toggle[data-v-10ba5fb0]{display:inline-flex;align-items:center;gap:.35rem;font-size:.8125rem;color:var(--color-text, #1f2937);cursor:pointer}.ai-chat-panel-no-spoiler-toggle.disabled[data-v-10ba5fb0]{opacity:.55;cursor:not-allowed}.ai-chat-panel-toolbar[data-v-10ba5fb0]{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem .9rem;border-bottom:1px solid var(--color-border, #e5e7eb);background:var(--color-background, #f9fafb)}.ai-chat-panel-tool-btn[data-v-10ba5fb0]{border:1px solid var(--color-border, #d1d5db);background:#fff;color:var(--color-text, #1f2937);border-radius:999px;padding:.35rem .85rem;font-size:.875rem;cursor:pointer}.ai-chat-panel-tool-btn.active[data-v-10ba5fb0]{background:var(--color-primary-500, #2563eb);border-color:var(--color-primary-500, #2563eb);color:#fff}.ai-chat-panel-tool-btn[data-v-10ba5fb0]:focus{outline:none}.ai-chat-panel-tool-btn[data-v-10ba5fb0]:focus-visible{outline:2px solid var(--color-primary-500, #2563eb);outline-offset:2px}.ai-chat-panel-selection-meta[data-v-10ba5fb0]{margin:.35rem 0 0;font-size:.8125rem;color:var(--color-text-muted, #6b7280)}.ai-chat-panel-selection--empty p[data-v-10ba5fb0]{margin:0;color:var(--color-text-muted, #6b7280);font-size:.9rem}.ai-chat-panel-toolbar--chips[data-v-10ba5fb0]{padding-top:.35rem;border-top:none}.ai-chat-panel-action-form[data-v-10ba5fb0]{display:flex;flex-direction:column;gap:.5rem}.ai-chat-panel-action-row[data-v-10ba5fb0]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.ai-chat-panel-action-btn[data-v-10ba5fb0]{display:inline-flex;align-items:center;gap:.35rem;width:auto;min-width:2.5rem;padding:0 .85rem}.ai-chat-panel-action-label[data-v-10ba5fb0]{font-size:.875rem;font-weight:500}.ai-chat-panel-action-quota[data-v-10ba5fb0]{font-size:.8125rem;color:var(--color-text-muted, #6b7280)}.ai-chat-panel-define-upgrade[data-v-10ba5fb0]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}.ai-chat-panel-define-upgrade-btn[data-v-10ba5fb0]{border:1px solid var(--color-primary-400, #60a5fa);background:var(--color-primary-50, #eff6ff);color:var(--color-primary-700, #1d4ed8);border-radius:999px;padding:.35rem .85rem;font-size:.875rem;cursor:pointer}.ai-chat-panel-selection[data-v-10ba5fb0]{padding:.5rem .9rem;border-bottom:1px solid var(--color-border, #e5e7eb)}.ai-chat-panel-selection-label[data-v-10ba5fb0]{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted, #6b7280);margin-bottom:.2rem}.ai-chat-panel-selection blockquote[data-v-10ba5fb0]{margin:0;padding-left:.75rem;border-left:3px solid var(--color-primary-300, #93c5fd);color:var(--color-text, #1f2937);font-size:.95rem}.ai-chat-panel-messages[data-v-10ba5fb0]{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;background:var(--color-background, #f9fafb)}.ai-chat-panel-empty[data-v-10ba5fb0]{display:flex;flex-direction:column;gap:1rem}.ai-chat-panel-messages .message[data-v-10ba5fb0]{display:flex;gap:.75rem;align-items:flex-start}.ai-chat-panel-messages .message.user[data-v-10ba5fb0]{flex-direction:row-reverse}.ai-chat-panel-messages .message-avatar[data-v-10ba5fb0]{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ai-chat-panel-messages .message.user .message-avatar[data-v-10ba5fb0]{background:var(--color-primary, #3b82f6);color:#fff}.ai-chat-panel-messages .message.assistant .message-avatar[data-v-10ba5fb0]{background:var(--color-muted-light, #e5e7eb);color:var(--color-text, #1f2937)}.ai-chat-panel-messages .message-content[data-v-10ba5fb0]{max-width:70%;display:flex;flex-direction:column;gap:.5rem}.ai-chat-panel-messages .message-text[data-v-10ba5fb0]{padding:.875rem 1rem;border-radius:12px;line-height:1.5;white-space:pre-wrap}.ai-chat-panel-messages .message.user .message-text[data-v-10ba5fb0]{background:var(--color-primary, #3b82f6);color:#fff;border-bottom-right-radius:4px}.ai-chat-panel-messages .message.assistant .message-text[data-v-10ba5fb0]{background:#fff;color:var(--color-text, #1f2937);border:1px solid var(--color-border, #e5e7eb);border-bottom-left-radius:4px}.ai-chat-panel-loading-label[data-v-10ba5fb0]{font-size:.85rem;color:var(--color-text-muted, #6b7280)}.ai-chat-panel-messages .typing-dots[data-v-10ba5fb0]{display:flex;gap:.25rem;align-items:center}.ai-chat-panel-messages .typing-dots span[data-v-10ba5fb0]{width:8px;height:8px;background:var(--color-muted, #9ca3af);border-radius:50%;animation:ai-chat-panel-bounce-10ba5fb0 1.4s infinite ease-in-out both}.ai-chat-panel-messages .typing-dots span[data-v-10ba5fb0]:nth-child(1){animation-delay:-.32s}.ai-chat-panel-messages .typing-dots span[data-v-10ba5fb0]:nth-child(2){animation-delay:-.16s}@keyframes ai-chat-panel-bounce-10ba5fb0{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.ai-chat-panel-loading[data-v-10ba5fb0],.ai-chat-panel-error[data-v-10ba5fb0],.ai-chat-panel-feedback[data-v-10ba5fb0],.ai-chat-panel-follow-up[data-v-10ba5fb0],.ai-chat-panel-translate-modes[data-v-10ba5fb0],.ai-chat-panel-chat-footer[data-v-10ba5fb0]{border-top:1px solid var(--color-border, #e5e7eb);padding:.75rem 1rem}.ai-chat-panel-quota[data-v-10ba5fb0]{margin:0 0 .5rem;font-size:.8rem;color:var(--color-text-muted, #6b7280)}.ai-chat-panel-quota--reuse[data-v-10ba5fb0]{color:var(--color-primary-700, #1d4ed8)}.ai-chat-panel-feedback-row[data-v-10ba5fb0]{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.ai-chat-panel-feedback-actions[data-v-10ba5fb0]{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border, #f3f4f6)}.ai-chat-panel-feedback-label[data-v-10ba5fb0]{font-size:.85rem;color:var(--color-text-muted, #6b7280);margin-right:.25rem}.ai-chat-panel-feedback-btn[data-v-10ba5fb0]{border:1px solid var(--color-border, #d1d5db);background:#fff;border-radius:8px;padding:.35rem .65rem;font-size:.8rem;cursor:pointer}.ai-chat-panel-feedback-btn.is-selected[data-v-10ba5fb0]{border-color:var(--color-primary-500, #2563eb);color:var(--color-primary-700, #1d4ed8)}.ai-chat-panel-feedback-notice[data-v-10ba5fb0]{margin:.5rem 0 0;font-size:.8rem;color:var(--color-text-muted, #6b7280)}.ai-chat-panel-feedback-history summary[data-v-10ba5fb0]{cursor:pointer;font-size:.85rem;color:var(--color-text-muted, #6b7280)}.ai-chat-panel-feedback-history ul[data-v-10ba5fb0]{margin:.5rem 0 0;padding-left:1.1rem;font-size:.8rem;color:var(--color-text, #374151)}.ai-chat-panel-loading[data-v-10ba5fb0]{display:flex;align-items:center;gap:.5rem;color:var(--color-text-muted, #6b7280)}.ai-chat-panel-error[data-v-10ba5fb0]{color:#b91c1c;background:#fef2f2}.ai-chat-panel-error-banner[data-v-10ba5fb0]{margin:0;padding:.75rem 1rem;color:#b91c1c;background:#fef2f2;border-top:1px solid #fecaca;font-size:.9rem}.ai-chat-panel-input-container[data-v-10ba5fb0]{padding:1rem;border-top:1px solid var(--color-border, #e5e7eb);background:#fff;border-radius:0 0 16px 16px}.ai-chat-panel-input-container form[data-v-10ba5fb0]{display:flex;gap:.5rem;margin-bottom:.75rem}.ai-chat-panel-input-container .chat-textarea[data-v-10ba5fb0]{flex:1;padding:.75rem;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;font-family:inherit;font-size:.95rem;resize:none;max-height:120px;line-height:1.4;min-height:44px}.ai-chat-panel-input-container .chat-textarea[data-v-10ba5fb0]:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.ai-chat-panel-input-container .send-btn[data-v-10ba5fb0]{padding:.75rem;background:var(--color-primary, #3b82f6);color:#fff;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.ai-chat-panel-input-container .send-btn[data-v-10ba5fb0]:disabled{opacity:.5;cursor:not-allowed}.ai-chat-panel-input-container .send-icon[data-v-10ba5fb0]{display:inline-flex;align-items:center;justify-content:center;line-height:0}.ai-chat-panel-input-container .chat-footer-bar[data-v-10ba5fb0]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border, #e5e7eb)}.ai-chat-panel-input-container .footer-left[data-v-10ba5fb0]{flex:1;min-width:0;display:flex;flex-direction:column;gap:.35rem}.ai-chat-panel-input-container .input-hint[data-v-10ba5fb0]{margin:0;font-size:.8rem;color:var(--color-text-muted, #6b7280)}.ai-chat-panel-input-container .quota-info[data-v-10ba5fb0]{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--color-text-muted, #6b7280)}.ai-chat-panel-input-container .plan-badge[data-v-10ba5fb0]{text-transform:uppercase;font-size:.65rem;padding:.1rem .4rem;border-radius:999px;background:var(--color-background, #f3f4f6)}.ai-chat-panel-input-container .model-chip[data-v-10ba5fb0]{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--color-text-muted, #6b7280);text-decoration:none}.ai-chat-panel-chips[data-v-10ba5fb0]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.ai-chat-panel-chip[data-v-10ba5fb0]{border:1px solid var(--color-border, #d1d5db);background:#fff;border-radius:999px;padding:.25rem .7rem;font-size:.8rem;cursor:pointer}.ai-chat-panel-chip.active[data-v-10ba5fb0]{border-color:var(--color-primary-500, #2563eb);color:var(--color-primary-700, #1d4ed8)}.ai-chat-panel-follow-up-form[data-v-10ba5fb0]{display:flex;gap:.5rem}.ai-chat-panel-follow-up-form input[data-v-10ba5fb0]{flex:1;border:1px solid var(--color-border, #d1d5db);border-radius:8px;padding:.5rem .75rem}.ai-chat-panel-translate-direction[data-v-10ba5fb0]{display:block;margin-bottom:.5rem;font-size:.85rem;color:var(--color-text-muted, #6b7280)}.ai-chat-panel-cited-books[data-v-10ba5fb0]{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}.ai-chat-panel-cited-book[data-v-10ba5fb0]{border:1px solid var(--color-border, #d1d5db);background:#fff;border-radius:999px;padding:.2rem .65rem;font-size:.8rem;cursor:pointer}.ai-chat-panel-library-footer[data-v-10ba5fb0]{border-top:1px solid var(--color-border, #e5e7eb);padding:.75rem 1rem}.ai-chat-panel-library-scopes[data-v-10ba5fb0]{display:flex;gap:.35rem;margin-bottom:.5rem}.ai-chat-panel-result-cards[data-v-10ba5fb0]{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.ai-chat-panel-result-card-body[data-v-10ba5fb0]{display:flex;gap:.55rem;width:100%;text-align:left;align-items:flex-start;border:1px solid var(--color-border, #d1d5db);background:var(--color-card, #fff);border-radius:.6rem;padding:.5rem .65rem;cursor:default}button.ai-chat-panel-result-card-body[data-v-10ba5fb0]{cursor:pointer}button.ai-chat-panel-result-card-body[data-v-10ba5fb0]:hover:not(:disabled){border-color:var(--color-primary-500, #2563eb)}.ai-chat-panel-result-card-cover[data-v-10ba5fb0]{width:34px;height:50px;-o-object-fit:cover;object-fit:cover;border-radius:.25rem;flex:0 0 auto}.ai-chat-panel-result-card-main[data-v-10ba5fb0]{display:flex;flex-direction:column;gap:.15rem;min-width:0}.ai-chat-panel-result-card-title[data-v-10ba5fb0]{font-size:.85rem;font-weight:600;color:var(--color-text, #111827);display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}.ai-chat-panel-result-card-badge[data-v-10ba5fb0]{font-size:.62rem;text-transform:uppercase;letter-spacing:.03em;padding:.05rem .35rem;border-radius:999px;background:var(--color-primary-500, #2563eb);color:#fff}.ai-chat-panel-result-card-sub[data-v-10ba5fb0],.ai-chat-panel-result-card-reason[data-v-10ba5fb0],.ai-chat-panel-result-card-snippet[data-v-10ba5fb0]{font-size:.78rem;color:var(--color-text-muted, #6b7280)}.ai-chat-panel-result-card-reason[data-v-10ba5fb0]{font-style:italic}.ai-chat-panel-cost-real[data-v-10ba5fb0]{margin:.4rem 0 0;font-size:.72rem;color:var(--color-text-muted, #6b7280)}.spinner[data-v-10ba5fb0]{width:1rem;height:1rem;border:2px solid var(--color-border, #d1d5db);border-top-color:var(--color-primary-500, #2563eb);border-radius:50%;animation:ai-chat-panel-spin-10ba5fb0 .8s linear infinite}@keyframes ai-chat-panel-spin-10ba5fb0{to{transform:rotate(360deg)}}.btn-primary[data-v-10ba5fb0]{border:none;background:var(--color-primary-500, #2563eb);color:#fff;border-radius:8px;padding:.55rem 1rem;cursor:pointer}.ai-chat-panel-overlay--dock-right[data-v-10ba5fb0],.ai-chat-panel-overlay--dock-left[data-v-10ba5fb0],.ai-chat-panel-overlay--dock-top[data-v-10ba5fb0],.ai-chat-panel-overlay--dock-bottom[data-v-10ba5fb0]{--ai-dock-w: var(--reader-ai-dock-w, min(420px, 92vw));--ai-dock-h: var(--reader-ai-dock-h, min(48vh, 560px));padding:0;background:transparent;backdrop-filter:none;display:block}.ai-chat-panel-overlay--dock-right[data-v-10ba5fb0]{inset:0 0 0 auto;width:var(--ai-dock-w);box-shadow:-8px 0 24px #0000001f}.ai-chat-panel-overlay--dock-left[data-v-10ba5fb0]{inset:0 auto 0 0;width:var(--ai-dock-w);box-shadow:8px 0 24px #0000001f}.ai-chat-panel-overlay--dock-top[data-v-10ba5fb0]{inset:0 0 auto;height:var(--ai-dock-h);box-shadow:0 8px 24px #0000001f}.ai-chat-panel-overlay--dock-bottom[data-v-10ba5fb0]{inset:auto 0 0;height:var(--ai-dock-h);box-shadow:0 -8px 24px #0000001f}.ai-chat-panel-overlay--float[data-v-10ba5fb0]{pointer-events:none}.ai-chat-panel-overlay--float .ai-chat-panel-container[data-v-10ba5fb0]{pointer-events:auto}.ai-chat-panel-overlay--dock-right .ai-chat-panel-container[data-v-10ba5fb0],.ai-chat-panel-overlay--dock-left .ai-chat-panel-container[data-v-10ba5fb0]{width:100%;max-width:none;height:100vh;max-height:100vh;border-radius:0}.ai-chat-panel-overlay--dock-top .ai-chat-panel-container[data-v-10ba5fb0],.ai-chat-panel-overlay--dock-bottom .ai-chat-panel-container[data-v-10ba5fb0]{width:100%;max-width:none;height:100%;max-height:100%;border-radius:0}.ai-chat-panel-overlay--sheet .ai-chat-panel-container[data-v-10ba5fb0]{border-radius:16px 16px 0 0;overflow:hidden;box-shadow:0 -8px 28px #0000002e;will-change:transform}.ai-chat-panel-sheet-handle[data-v-10ba5fb0]{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:100%;height:26px;padding:0;border:none;background:transparent;cursor:grab;touch-action:none}.ai-chat-panel-sheet-handle[data-v-10ba5fb0]:active{cursor:grabbing}.ai-chat-panel-sheet-grip[data-v-10ba5fb0]{width:40px;height:4px;border-radius:999px;background:var(--color-border, #d1d5db)}.ai-chat-panel-header-actions[data-v-10ba5fb0]{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.ai-chat-panel-overlay--dock-left .ai-chat-panel-header-actions[data-v-10ba5fb0] .history-btn span,.ai-chat-panel-overlay--dock-right .ai-chat-panel-header-actions[data-v-10ba5fb0] .history-btn span{display:none}.ai-chat-panel-overlay--dock-left .ai-chat-panel-header-actions[data-v-10ba5fb0] .history-btn,.ai-chat-panel-overlay--dock-right .ai-chat-panel-header-actions[data-v-10ba5fb0] .history-btn{padding:.45rem;gap:0}.ai-chat-panel-resize-handle[data-v-10ba5fb0]{position:absolute;top:0;bottom:0;width:14px;z-index:50;cursor:ew-resize;touch-action:none;background:transparent;pointer-events:auto}.ai-chat-panel-resize-handle[data-v-10ba5fb0]:before{content:"";position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:2px;background:var(--color-border, #e5e7eb);transition:background .12s ease}.ai-chat-panel-resize-handle[data-v-10ba5fb0]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:44px;border-radius:6px;background:#fff;border:1px solid var(--color-border, #d1d5db);box-shadow:0 1px 3px #00000026;transition:border-color .12s ease}.ai-chat-panel-resize-handle[data-v-10ba5fb0]:hover:before,.ai-chat-panel-resize-handle[data-v-10ba5fb0]:active:before{background:var(--color-primary-400, #fbbf24)}.ai-chat-panel-resize-handle[data-v-10ba5fb0]:hover:after,.ai-chat-panel-resize-handle[data-v-10ba5fb0]:active:after{border-color:var(--color-primary-500, #f59e0b)}.ai-chat-panel-resize-handle--left[data-v-10ba5fb0]{left:0}.ai-chat-panel-resize-handle--right[data-v-10ba5fb0]{right:0}.ai-chat-panel-resize-handle--axis-vertical[data-v-10ba5fb0]{left:0;right:0;width:auto;height:14px;cursor:ns-resize}.ai-chat-panel-resize-handle--axis-vertical.ai-chat-panel-resize-handle--top[data-v-10ba5fb0]{top:0;bottom:auto}.ai-chat-panel-resize-handle--axis-vertical.ai-chat-panel-resize-handle--bottom[data-v-10ba5fb0]{bottom:0;top:auto}.ai-chat-panel-resize-handle--axis-vertical[data-v-10ba5fb0]:before{inset:50% 0 auto;width:auto;height:2px;transform:translateY(-50%)}.ai-chat-panel-resize-handle--axis-vertical[data-v-10ba5fb0]:after{width:44px;height:8px}.ai-chat-panel-lookup-hint[data-v-10ba5fb0]{margin:.35rem 0 0;padding:0 .15rem;font-size:.8rem;color:var(--color-text-muted, #6b7280)}.ai-chat-panel-passage--clamped[data-v-10ba5fb0]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ai-chat-panel-passage-toggle[data-v-10ba5fb0]{margin-top:.2rem;padding:0;border:none;background:none;color:var(--color-primary-600, #d97706);font-size:.78rem;font-weight:600;cursor:pointer}.ai-chat-panel-passage-toggle[data-v-10ba5fb0]:hover{text-decoration:underline}.ai-chat-panel-same-language-warning[data-v-10ba5fb0]{margin:0 0 .5rem;padding:.45rem .65rem;border-radius:.5rem;background:var(--color-warning-50, #fffbeb);border:1px solid var(--color-warning-200, #fde68a);color:var(--color-warning-900, #78350f);font-size:.82rem;line-height:1.35}.ai-chat-panel-locale-badge[data-v-10ba5fb0]{display:inline-flex;align-items:center;gap:.25rem;margin-top:0;padding:.05rem .4rem;border-radius:999px;background:var(--color-primary-50, #fffbeb);color:var(--color-primary-700, #b45309);font-size:.72rem;font-weight:500;line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.reader-ai-dock-right #viewer{width:calc(100% - var(--reader-ai-dock-w, min(420px, 92vw)))!important;max-width:calc(100% - var(--reader-ai-dock-w, min(420px, 92vw)))!important}body.reader-ai-dock-left #viewer{width:calc(100% - var(--reader-ai-dock-w, min(420px, 92vw)))!important;max-width:calc(100% - var(--reader-ai-dock-w, min(420px, 92vw)))!important;margin-left:var(--reader-ai-dock-w, min(420px, 92vw))!important}body.reader-ai-dock-top #viewer{height:calc(100% - var(--reader-ai-dock-h, min(48vh, 560px)))!important;max-height:calc(100% - var(--reader-ai-dock-h, min(48vh, 560px)))!important;margin-top:var(--reader-ai-dock-h, min(48vh, 560px))!important}body.reader-ai-dock-bottom #viewer{height:calc(100% - var(--reader-ai-dock-h, min(48vh, 560px)))!important;max-height:calc(100% - var(--reader-ai-dock-h, min(48vh, 560px)))!important}
