*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background:#f0f4f8;color:#2d3748;height:100vh}#app{height:100vh;display:flex;flex-direction:column}.navbar{background:#1a365d;color:#fff;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:64px;box-shadow:0 2px 8px #0000004d;position:sticky;top:0;z-index:100}.navbar-brand{display:flex;align-items:center;gap:.5rem}.brand-icon{font-size:1.5rem}.brand-name{font-size:1.2rem;font-weight:700;color:#bee3f8}.brand-subtitle{font-size:.8rem;color:#90cdf4;margin-left:.25rem}.nav-drawer{display:flex;align-items:center;gap:.5rem}.navbar-links{list-style:none;display:flex;gap:.5rem}.navbar-links a{color:#bee3f8;text-decoration:none;padding:.5rem 1rem;border-radius:6px;font-size:.95rem;font-weight:500;transition:background .15s;display:flex;align-items:center;gap:.4rem}.navbar-links a:hover,.navbar-links a.active{background:#2b6cb0;color:#fff}.burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:transparent;border:none;cursor:pointer;padding:4px;border-radius:6px}.burger span{display:block;height:2px;background:#bee3f8;border-radius:2px;transition:transform .2s,opacity .2s}.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.main-content{flex:1;min-height:0;display:flex;flex-direction:column;padding:2rem;max-width:1200px;margin:0 auto;width:100%;position:relative}.toast{position:fixed;top:80px;right:2rem;padding:1rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;z-index:1000;max-width:400px;box-shadow:0 4px 12px #0003;animation:slideIn .2s ease}.toast-error{background:#fed7d7;color:#c53030;border:1px solid #fc8181}.toast-success{background:#c6f6d5;color:#276749;border:1px solid #68d391}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.2rem;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:#3182ce;color:#fff}.btn-primary:hover:not(:disabled){background:#2b6cb0}.btn-danger{background:#e53e3e;color:#fff}.btn-danger:hover:not(:disabled){background:#c53030}.btn-secondary{background:#e2e8f0;color:#4a5568}.btn-secondary:hover:not(:disabled){background:#cbd5e0}.btn-logout{background:transparent;color:#bee3f8;border:1px solid #4a90b8;font-size:.85rem;padding:.4rem .9rem;margin-left:1rem}.btn-logout:hover{background:#2b6cb0;color:#fff}.spinner{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.spinner-dark{border-color:#3182ce4d;border-top-color:#3182ce}@keyframes spin{to{transform:rotate(360deg)}}.card{background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000001a;padding:1.5rem}.page-title{font-size:1.8rem;font-weight:700;color:#1a365d;margin-bottom:.5rem}.page-subtitle{color:#718096;margin-bottom:2rem}.empty-state{text-align:center;padding:3rem 2rem;color:#a0aec0}.empty-state-icon{font-size:3rem;margin-bottom:1rem}.empty-state-text{font-size:1.1rem;font-weight:500}.empty-state-hint{font-size:.9rem;margin-top:.5rem}@media (max-width: 768px){.navbar{padding:0 1rem}.brand-subtitle{display:none}.burger{display:flex}.nav-drawer{display:none;position:absolute;top:64px;right:0;left:0;background:#1a365d;flex-direction:column;align-items:stretch;padding:.5rem 0 1rem;box-shadow:0 4px 12px #0000004d;z-index:99}.nav-drawer.open{display:flex}.navbar-links{flex-direction:column;gap:0}.navbar-links a{padding:.85rem 1.5rem;border-radius:0;font-size:1rem}.navbar-links a:hover,.navbar-links a.active{background:#2b6cb0}.btn-logout{margin:.5rem 1.5rem 0;width:calc(100% - 3rem);justify-content:center}.main-content{padding:1rem}}.login-wrapper[data-v-bce9c441]{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#f0f4f8}.login-card[data-v-bce9c441]{width:100%;max-width:380px;padding:2rem}.login-header[data-v-bce9c441]{text-align:center;margin-bottom:1.75rem}.login-icon[data-v-bce9c441]{font-size:2.5rem;display:block;margin-bottom:.5rem}.login-title[data-v-bce9c441]{font-size:1.5rem;font-weight:700;color:#1a365d;margin-bottom:.25rem}.login-subtitle[data-v-bce9c441]{font-size:.85rem;color:#718096}.login-form[data-v-bce9c441]{display:flex;flex-direction:column;gap:1rem}.form-group[data-v-bce9c441]{display:flex;flex-direction:column;gap:.35rem}.form-group label[data-v-bce9c441]{font-size:.875rem;font-weight:600;color:#4a5568}.form-group input[data-v-bce9c441]{padding:.6rem .75rem;border:1px solid #cbd5e0;border-radius:6px;font-size:.95rem;outline:none;transition:border-color .15s}.form-group input[data-v-bce9c441]:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce26}.form-group input[data-v-bce9c441]:disabled{background:#f7fafc;color:#a0aec0}.login-error[data-v-bce9c441]{padding:.6rem .75rem;background:#fed7d7;color:#c53030;border:1px solid #fc8181;border-radius:6px;font-size:.875rem}.login-btn[data-v-bce9c441]{width:100%;justify-content:center;padding:.7rem;font-size:.95rem;margin-top:.25rem}@media (max-width: 768px){.login-wrapper[data-v-bce9c441]{align-items:flex-start;padding-top:2rem;min-height:unset}.login-card[data-v-bce9c441]{max-width:100%}}.book-card[data-v-ef7cfcbb]{display:flex;flex-direction:column;gap:.75rem}.book-header[data-v-ef7cfcbb]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.book-info[data-v-ef7cfcbb]{flex:1;min-width:0}.book-title[data-v-ef7cfcbb]{font-size:1rem;font-weight:600;color:#1a365d;word-break:break-word;margin-bottom:.2rem}.book-filename[data-v-ef7cfcbb]{font-size:.8rem;color:#718096;word-break:break-all}.status-badge[data-v-ef7cfcbb]{flex-shrink:0;padding:.25rem .65rem;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.status-ready[data-v-ef7cfcbb]{background:#c6f6d5;color:#22543d}.status-processing[data-v-ef7cfcbb]{background:#bee3f8;color:#1a365d}.status-pending[data-v-ef7cfcbb]{background:#fefcbf;color:#744210}.status-failed[data-v-ef7cfcbb]{background:#fed7d7;color:#742a2a}.book-meta[data-v-ef7cfcbb]{display:flex;flex-wrap:wrap;gap:.5rem}.meta-item[data-v-ef7cfcbb]{font-size:.8rem;color:#718096;background:#f7fafc;padding:.2rem .5rem;border-radius:4px}.error-message[data-v-ef7cfcbb]{font-size:.85rem;color:#742a2a;background:#fff5f5;border:1px solid #fed7d7;border-radius:6px;padding:.5rem .75rem}.processing-indicator[data-v-ef7cfcbb]{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#2b6cb0}.book-actions[data-v-ef7cfcbb]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.25rem}.upload-section[data-v-6ab3475a]{margin-bottom:2rem}.section-title[data-v-6ab3475a]{font-size:1.1rem;font-weight:600;color:#2d3748;margin-bottom:1rem}.drop-zone[data-v-6ab3475a]{border:2px dashed #cbd5e0;border-radius:8px;padding:2rem;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;margin-bottom:1rem}.drop-zone[data-v-6ab3475a]:hover,.drop-zone--active[data-v-6ab3475a]{border-color:#3182ce;background:#ebf8ff}.drop-zone--has-file[data-v-6ab3475a]{border-color:#48bb78;background:#f0fff4}.file-input-hidden[data-v-6ab3475a]{display:none}.drop-zone-icon[data-v-6ab3475a]{font-size:2rem;display:block;margin-bottom:.5rem}.drop-zone-content[data-v-6ab3475a],.drop-zone-selected[data-v-6ab3475a]{pointer-events:none}.drop-zone-text[data-v-6ab3475a]{font-size:1rem;font-weight:500;color:#4a5568;margin-bottom:.25rem}.drop-zone-hint[data-v-6ab3475a]{font-size:.85rem;color:#a0aec0}.upload-controls[data-v-6ab3475a]{display:flex;gap:.75rem;justify-content:flex-end}.upload-feedback[data-v-6ab3475a]{margin-top:.75rem;padding:.6rem 1rem;border-radius:6px;font-size:.9rem}.upload-feedback--success[data-v-6ab3475a]{background:#c6f6d5;color:#22543d;border:1px solid #68d391}.upload-feedback--error[data-v-6ab3475a]{background:#fed7d7;color:#742a2a;border:1px solid #fc8181}.book-list-section[data-v-6ab3475a]{display:flex;flex-direction:column;gap:1rem}.book-list-header[data-v-6ab3475a]{display:flex;align-items:center;justify-content:space-between}.book-grid[data-v-6ab3475a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem}.topic-card[data-v-bdf7b60e]{display:flex;flex-direction:column;gap:.6rem;transition:box-shadow .15s}.topic-card--active[data-v-bdf7b60e]{box-shadow:0 0 0 2px #3182ce}.topic-header[data-v-bdf7b60e]{display:flex;align-items:center}.category-badge[data-v-bdf7b60e]{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.2rem .55rem;border-radius:999px}.category-vascular[data-v-bdf7b60e]{background:#fed7e2;color:#702459}.category-oncology[data-v-bdf7b60e]{background:#feebc8;color:#7b341e}.category-spine[data-v-bdf7b60e]{background:#bee3f8;color:#1a365d}.category-trauma[data-v-bdf7b60e]{background:#fefcbf;color:#744210}.category-default[data-v-bdf7b60e]{background:#e2e8f0;color:#4a5568}.topic-name[data-v-bdf7b60e]{font-size:1rem;font-weight:600;color:#1a365d;line-height:1.3}.topic-description[data-v-bdf7b60e]{font-size:.875rem;color:#718096;line-height:1.5;flex:1}.topic-actions[data-v-bdf7b60e]{margin-top:.25rem}.book-panel[data-v-e5f50846]{display:flex;flex-direction:column;height:100%;background:#fff;border-left:1px solid #e2e8f0;border-radius:0 10px 10px 0;overflow:hidden}.book-panel-header[data-v-e5f50846]{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;background:#f7fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0}.book-panel-title[data-v-e5f50846]{flex:1;font-size:.8rem;font-weight:600;color:#2b6cb0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-panel-nav[data-v-e5f50846]{display:flex;gap:.25rem}.nav-btn[data-v-e5f50846]{width:1.75rem;height:1.75rem;border:1px solid #cbd5e0;border-radius:5px;background:#fff;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;transition:background .15s}.nav-btn[data-v-e5f50846]:hover:not(:disabled){background:#ebf8ff;border-color:#3182ce}.nav-btn[data-v-e5f50846]:disabled{opacity:.4;cursor:not-allowed}.close-btn[data-v-e5f50846]{width:1.75rem;height:1.75rem;border:none;border-radius:5px;background:none;cursor:pointer;font-size:1rem;color:#718096;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.close-btn[data-v-e5f50846]:hover{background:#fed7d7;color:#742a2a}.book-panel-body[data-v-e5f50846]{flex:1;overflow-y:auto;padding:1rem 1.25rem}.panel-loading[data-v-e5f50846]{text-align:center;padding:2rem;color:#718096;font-size:.875rem}.panel-error[data-v-e5f50846]{padding:1rem;background:#fff5f5;border:1px solid #fed7d7;color:#742a2a;border-radius:6px;font-size:.875rem}.markdown-body[data-v-e5f50846]{font-size:.9rem;line-height:1.75;color:#2d3748}.markdown-body[data-v-e5f50846] h1,.markdown-body[data-v-e5f50846] h2,.markdown-body[data-v-e5f50846] h3{color:#1a365d;font-weight:600;margin:1.25rem 0 .5rem}.markdown-body[data-v-e5f50846] h2{font-size:1.05rem;border-bottom:1px solid #e2e8f0;padding-bottom:.3rem}.markdown-body[data-v-e5f50846] h3{font-size:.95rem}.markdown-body[data-v-e5f50846] p{margin:.6rem 0}.markdown-body[data-v-e5f50846] img{max-width:100%;border-radius:6px;display:block;margin:.75rem auto;box-shadow:0 1px 4px #0000001f}.markdown-body[data-v-e5f50846] ul,.markdown-body[data-v-e5f50846] ol{padding-left:1.4rem;margin:.5rem 0}.markdown-body[data-v-e5f50846] code{background:#f7fafc;border:1px solid #e2e8f0;border-radius:3px;padding:.1em .3em;font-size:.85em}.markdown-body[data-v-e5f50846] blockquote{border-left:3px solid #3182ce;padding-left:.75rem;color:#4a5568;margin:.5rem 0}.markdown-body[data-v-e5f50846] table{width:100%;border-collapse:collapse;font-size:.875em;margin:.75rem 0}.markdown-body[data-v-e5f50846] th,.markdown-body[data-v-e5f50846] td{border:1px solid #e2e8f0;padding:.35rem .6rem;text-align:left}.markdown-body[data-v-e5f50846] th{background:#f7fafc;font-weight:600}.topics-layout[data-v-e37b2860]{display:flex;gap:2rem}.topics-main[data-v-e37b2860]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2rem}.reader-panel[data-v-e37b2860]{margin-top:1rem;height:600px;min-height:400px;border-radius:10px;box-shadow:0 2px 8px #00000012}.topic-grid[data-v-e37b2860]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.history-panel[data-v-e37b2860]{border-top:3px solid #805ad5;padding:1rem}.history-header[data-v-e37b2860]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.history-title[data-v-e37b2860]{font-size:.875rem;font-weight:600;color:#553c9a}.btn-sm[data-v-e37b2860]{font-size:.8rem;padding:.3rem .75rem}.history-loading[data-v-e37b2860]{font-size:.85rem;color:#718096;display:flex;align-items:center}.history-empty[data-v-e37b2860]{font-size:.85rem;color:#a0aec0;font-style:italic}.history-list[data-v-e37b2860]{display:flex;flex-wrap:wrap;gap:.5rem}.history-chip[data-v-e37b2860]{background:#faf5ff;border:1px solid #d6bcfa;border-radius:6px;padding:.3rem .75rem;font-size:.8rem;font-weight:500;color:#553c9a;cursor:pointer;transition:background .15s,border-color .15s}.history-chip[data-v-e37b2860]:hover{background:#e9d8fd;border-color:#b794f4}.history-chip--active[data-v-e37b2860]{background:#805ad5;border-color:#805ad5;color:#fff}.history-chip-date[data-v-e37b2860]{font-weight:400;color:inherit;opacity:.75}.summary-panel[data-v-e37b2860]{border-top:3px solid #3182ce}.summary-loading[data-v-e37b2860]{text-align:center;padding:2rem}.summary-loading-text[data-v-e37b2860]{font-size:1rem;font-weight:500;color:#2d3748;margin-bottom:.25rem}.summary-loading-hint[data-v-e37b2860]{font-size:.85rem;color:#718096}.summary-error[data-v-e37b2860]{border-top-color:#e53e3e}.summary-header[data-v-e37b2860]{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.summary-topic-name[data-v-e37b2860]{font-size:1.2rem;font-weight:700;color:#1a365d}.summary-meta[data-v-e37b2860]{display:flex;align-items:baseline;gap:.5rem}.summary-number[data-v-e37b2860]{font-size:.8rem;font-weight:600;color:#805ad5;background:#faf5ff;border:1px solid #d6bcfa;border-radius:4px;padding:.1rem .4rem}.summary-timestamp[data-v-e37b2860]{font-size:.8rem;color:#a0aec0}.summary-text[data-v-e37b2860]{font-size:.95rem;line-height:1.7;color:#2d3748;margin-bottom:1rem}.summary-text--markdown[data-v-e37b2860]{white-space:normal}.summary-text--markdown[data-v-e37b2860] h1,.summary-text--markdown[data-v-e37b2860] h2,.summary-text--markdown[data-v-e37b2860] h3,.summary-text--markdown[data-v-e37b2860] h4{font-weight:700;margin:.75rem 0 .35rem;line-height:1.3;color:#1a202c}.summary-text--markdown[data-v-e37b2860] h1{font-size:1.15rem}.summary-text--markdown[data-v-e37b2860] h2{font-size:1.05rem}.summary-text--markdown[data-v-e37b2860] h3{font-size:.975rem}.summary-text--markdown[data-v-e37b2860] h4{font-size:.925rem}.summary-text--markdown[data-v-e37b2860] p{margin:.4rem 0}.summary-text--markdown[data-v-e37b2860] ul,.summary-text--markdown[data-v-e37b2860] ol{padding-left:1.4rem;margin:.4rem 0}.summary-text--markdown[data-v-e37b2860] li{margin:.2rem 0}.summary-text--markdown[data-v-e37b2860] strong{font-weight:700;color:#1a202c}.summary-text--markdown[data-v-e37b2860] em{font-style:italic}.summary-text--markdown[data-v-e37b2860] code{background:#edf2f7;border-radius:3px;padding:.1em .35em;font-size:.87em;font-family:monospace}.summary-text--markdown[data-v-e37b2860] blockquote{border-left:3px solid #bee3f8;margin:.5rem 0;padding:.25rem .75rem;color:#4a5568}.sources-section[data-v-e37b2860]{border-top:1px solid #e2e8f0;padding-top:.75rem}.sources-toggle[data-v-e37b2860]{background:none;border:none;cursor:pointer;font-size:.875rem;font-weight:600;color:#3182ce;display:flex;align-items:center;gap:.4rem;padding:0;margin-bottom:.75rem}.sources-toggle[data-v-e37b2860]:hover{color:#2b6cb0}.sources-list[data-v-e37b2860]{display:flex;flex-wrap:wrap;gap:.5rem}.source-chip[data-v-e37b2860]{display:flex;align-items:center;gap:.4rem;background:#ebf8ff;border:1px solid #bee3f8;border-radius:6px;padding:.3rem .7rem;font-size:.8rem}.source-chip--clickable[data-v-e37b2860]{cursor:pointer;transition:background .15s,border-color .15s}.source-chip--clickable[data-v-e37b2860]:hover{background:#bee3f8;border-color:#90cdf4}.source-icon[data-v-e37b2860]{font-size:.8rem}.source-book[data-v-e37b2860]{color:#2b6cb0;font-weight:500}.source-page[data-v-e37b2860]{color:#718096}.source-open-hint[data-v-e37b2860]{font-size:.75rem;color:#3182ce;margin-left:.1rem}.no-sources[data-v-e37b2860]{font-size:.85rem;color:#a0aec0;font-style:italic}.error-text[data-v-e37b2860]{color:#742a2a;margin-bottom:.5rem}.no-books-hint[data-v-e37b2860]{font-size:.875rem;color:#718096}.no-books-hint a[data-v-e37b2860]{color:#3182ce;text-decoration:underline}.summary-placeholder[data-v-e37b2860]{display:flex;align-items:center;justify-content:center;min-height:6rem;border-top-color:#cbd5e0}.summary-placeholder-text[data-v-e37b2860]{font-size:.95rem;color:#a0aec0;font-style:italic}.summary-text--markdown[data-v-e37b2860] .source-ref{color:#3182ce;font-weight:600;cursor:pointer;border-radius:3px;padding:0 .15em}.summary-text--markdown[data-v-e37b2860] .source-ref:hover{background:#ebf8ff;text-decoration:underline}.message-wrapper[data-v-b5fe8aec]{display:flex;margin-bottom:1rem}.message-wrapper--user[data-v-b5fe8aec]{justify-content:flex-end}.message-wrapper--assistant[data-v-b5fe8aec]{justify-content:flex-start}.message-bubble[data-v-b5fe8aec]{max-width:75%;border-radius:12px;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.4rem}.bubble-user[data-v-b5fe8aec]{background:#3182ce;color:#fff;border-bottom-right-radius:4px}.bubble-assistant[data-v-b5fe8aec]{background:#fff;color:#2d3748;border:1px solid #e2e8f0;border-bottom-left-radius:4px;box-shadow:0 1px 3px #00000012}.message-role[data-v-b5fe8aec]{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;opacity:.75}.message-content[data-v-b5fe8aec]{font-size:.925rem;line-height:1.6;white-space:pre-wrap;word-break:break-word}.message-content--markdown[data-v-b5fe8aec]{white-space:normal}.message-content--markdown[data-v-b5fe8aec] h1,.message-content--markdown[data-v-b5fe8aec] h2,.message-content--markdown[data-v-b5fe8aec] h3,.message-content--markdown[data-v-b5fe8aec] h4{font-weight:700;margin:.75rem 0 .35rem;line-height:1.3;color:#1a202c}.message-content--markdown[data-v-b5fe8aec] h1{font-size:1.15rem}.message-content--markdown[data-v-b5fe8aec] h2{font-size:1.05rem}.message-content--markdown[data-v-b5fe8aec] h3{font-size:.975rem}.message-content--markdown[data-v-b5fe8aec] h4{font-size:.925rem}.message-content--markdown[data-v-b5fe8aec] p{margin:.4rem 0}.message-content--markdown[data-v-b5fe8aec] ul,.message-content--markdown[data-v-b5fe8aec] ol{padding-left:1.4rem;margin:.4rem 0}.message-content--markdown[data-v-b5fe8aec] li{margin:.2rem 0}.message-content--markdown[data-v-b5fe8aec] strong{font-weight:700;color:#1a202c}.message-content--markdown[data-v-b5fe8aec] em{font-style:italic}.message-content--markdown[data-v-b5fe8aec] code{background:#edf2f7;border-radius:3px;padding:.1em .35em;font-size:.87em;font-family:monospace}.message-content--markdown[data-v-b5fe8aec] blockquote{border-left:3px solid #bee3f8;margin:.5rem 0;padding:.25rem .75rem;color:#4a5568}.message-sources[data-v-b5fe8aec]{margin-top:.5rem;border-top:1px solid #e2e8f0;padding-top:.5rem}.sources-label[data-v-b5fe8aec]{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#a0aec0;margin-bottom:.35rem}.source-list[data-v-b5fe8aec]{display:flex;flex-direction:column;gap:.5rem}.source-item[data-v-b5fe8aec]{display:flex;flex-direction:column;gap:.25rem}.source-item--figure[data-v-b5fe8aec]{gap:.4rem}.source-chip[data-v-b5fe8aec]{display:inline-flex;align-items:center;gap:.25rem;border-radius:4px;padding:.2rem .5rem;font-size:.78rem}.source-chip--text[data-v-b5fe8aec]{background:#ebf8ff;border:1px solid #bee3f8}.source-chip--clickable[data-v-b5fe8aec]{cursor:pointer;transition:background .15s,border-color .15s}.source-chip--clickable[data-v-b5fe8aec]:hover{background:#bee3f8;border-color:#90cdf4}.source-open-hint[data-v-b5fe8aec]{font-size:.75rem;color:#3182ce;margin-left:.1rem}.source-chip--figure[data-v-b5fe8aec]{background:#f0fff4;border:1px solid #9ae6b4}.source-icon[data-v-b5fe8aec]{font-size:.8rem}.source-book-title[data-v-b5fe8aec]{color:#2b6cb0;font-weight:500}.source-figure-label[data-v-b5fe8aec]{color:#276749;font-weight:600}.source-figure-type[data-v-b5fe8aec]{color:#718096;font-size:.72rem;background:#e2e8f0;border-radius:3px;padding:0 .3rem}.source-page[data-v-b5fe8aec]{color:#718096}.source-chunk[data-v-b5fe8aec]{font-size:.78rem;color:#4a5568;background:#f7fafc;border-left:3px solid #bee3f8;padding:.3rem .5rem;border-radius:0 4px 4px 0;white-space:pre-wrap;word-break:break-word;line-height:1.5}.source-caption[data-v-b5fe8aec]{font-size:.78rem;color:#4a5568;font-style:italic}.source-figure-image[data-v-b5fe8aec]{max-width:100%}.figure-img[data-v-b5fe8aec]{max-width:100%;max-height:300px;border-radius:6px;border:1px solid #e2e8f0;object-fit:contain}.figure-missing[data-v-b5fe8aec]{font-size:.78rem;color:#a0aec0;font-style:italic}.message-content--markdown[data-v-b5fe8aec] .citation-badge{display:inline-block;background:#ebf8ff;border:1px solid #90cdf4;border-radius:3px;padding:0 .3em;font-size:.78em;font-weight:600;color:#2b6cb0;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.message-content--markdown[data-v-b5fe8aec] .citation-badge:hover{background:#bee3f8}.source-item--active[data-v-b5fe8aec]{outline:2px solid #4299e1;border-radius:6px}.source-ref-label[data-v-b5fe8aec]{font-size:.72rem;font-weight:700;background:#bee3f8;color:#2b6cb0;border-radius:3px;padding:0 .3rem}.source-ref-label--figure[data-v-b5fe8aec]{background:#9ae6b4;color:#276749}.message-timestamp[data-v-b5fe8aec]{font-size:.7rem;opacity:.6;text-align:right;margin-top:.1rem}.section-title[data-v-01352978]{font-size:1.1rem;font-weight:600;color:#2d3748;margin:0}.session-setup[data-v-01352978]{max-width:540px}.setup-header[data-v-01352978]{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}.btn-back[data-v-01352978]{background:none;border:none;color:#3182ce;font-size:.875rem;font-weight:500;cursor:pointer;padding:0;white-space:nowrap}.btn-back[data-v-01352978]:hover{color:#2b6cb0}.sessions-loading[data-v-01352978]{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#718096;margin-bottom:1rem}.previous-sessions[data-v-01352978]{margin-bottom:1.25rem}.sessions-label[data-v-01352978]{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#a0aec0;margin-bottom:.5rem}.session-row[data-v-01352978]{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:.4rem;cursor:pointer;transition:background .12s}.session-row[data-v-01352978]:hover{background:#ebf8ff;border-color:#bee3f8}.session-row-date[data-v-01352978]{font-size:.875rem;color:#4a5568}.session-row-action[data-v-01352978]{font-size:.8rem;color:#3182ce;font-weight:500}.no-sessions-hint[data-v-01352978]{font-size:.875rem;color:#a0aec0;font-style:italic;margin-bottom:1.25rem}.chat-layout[data-v-01352978]{display:flex;flex-direction:column;gap:1rem;height:calc(100vh - 180px);min-height:500px}.chat-reader-split[data-v-01352978]{display:flex;flex:1;min-height:0;gap:0}.chat-column[data-v-01352978]{display:flex;flex-direction:column;flex:1;min-width:0;gap:1rem}.reader-panel[data-v-01352978]{width:420px;flex-shrink:0;border-radius:10px;margin-left:1rem;box-shadow:-2px 0 8px #00000012}.session-bar[data-v-01352978]{display:flex;align-items:center;padding:.75rem 1rem;flex-shrink:0}.session-info[data-v-01352978]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.session-id[data-v-01352978]{font-family:monospace;font-size:.85rem;color:#4a5568;background:#f7fafc;padding:.15rem .4rem;border-radius:4px}.session-topic[data-v-01352978]{font-size:.875rem;color:#2b6cb0;font-weight:500}.messages-container[data-v-01352978]{flex:1;overflow-y:auto;background:#f7fafc;border-radius:10px;padding:1rem;scroll-behavior:smooth}.messages-list[data-v-01352978]{display:flex;flex-direction:column}.typing-indicator[data-v-01352978]{display:flex;margin-bottom:1rem}.typing-bubble[data-v-01352978]{background:#fff;border:1px solid #e2e8f0;border-radius:12px 12px 12px 4px;padding:.75rem 1rem;display:flex;gap:.3rem;align-items:center}.typing-bubble span[data-v-01352978]{width:8px;height:8px;background:#a0aec0;border-radius:50%;animation:bounce-01352978 1.2s infinite ease-in-out}.typing-bubble span[data-v-01352978]:nth-child(2){animation-delay:.15s}.typing-bubble span[data-v-01352978]:nth-child(3){animation-delay:.3s}@keyframes bounce-01352978{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.input-area[data-v-01352978]{flex-shrink:0}.input-row[data-v-01352978]{display:flex;gap:.75rem;align-items:flex-end}.message-input[data-v-01352978]{flex:1;padding:.65rem .75rem;border:1px solid #cbd5e0;border-radius:6px;font-size:.9rem;font-family:inherit;color:#2d3748;resize:none;line-height:1.5}.message-input[data-v-01352978]:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce33}.send-btn[data-v-01352978]{flex-shrink:0;min-width:72px;height:42px}.input-hint[data-v-01352978]{font-size:.75rem;color:#a0aec0;margin-top:.4rem}.error-banner[data-v-01352978]{background:#fff5f5;border:1px solid #fed7d7;color:#742a2a;border-radius:6px;padding:.6rem .85rem;font-size:.875rem;margin-bottom:.75rem}@media (max-width: 768px){.chat-layout[data-v-01352978]{height:auto;min-height:unset}.chat-reader-split[data-v-01352978]{flex-direction:column}.chat-column[data-v-01352978]{min-height:60vh}.reader-panel[data-v-01352978]{width:100%;margin-left:0;margin-top:1rem;box-shadow:none}}.reader-view[data-v-b11c6e4f]{display:flex;flex-direction:column;gap:1rem;max-width:860px;margin:0 auto;flex:1;min-height:0}.reader-header[data-v-b11c6e4f]{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.back-link[data-v-b11c6e4f]{color:#3182ce;text-decoration:none;font-size:.9rem;white-space:nowrap}.back-link[data-v-b11c6e4f]:hover{text-decoration:underline}.reader-title[data-v-b11c6e4f]{flex:1;min-width:0}.book-title[data-v-b11c6e4f]{font-size:1.1rem;font-weight:600;color:#1a365d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-nav[data-v-b11c6e4f]{display:flex;align-items:center;gap:.5rem}.nav-btn[data-v-b11c6e4f]{width:2rem;height:2rem;border:1px solid #cbd5e0;border-radius:6px;background:#fff;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background .15s}.nav-btn[data-v-b11c6e4f]:hover:not(:disabled){background:#ebf8ff;border-color:#3182ce}.nav-btn[data-v-b11c6e4f]:disabled{opacity:.4;cursor:not-allowed}.page-jump[data-v-b11c6e4f]{display:flex;align-items:center;gap:.35rem}.page-input[data-v-b11c6e4f]{width:3.5rem;text-align:center;border:1px solid #cbd5e0;border-radius:6px;padding:.25rem .4rem;font-size:.9rem;color:#2d3748}.page-input[data-v-b11c6e4f]:focus{outline:none;border-color:#3182ce}.page-sep[data-v-b11c6e4f]{font-size:.85rem;color:#718096;white-space:nowrap}.reader-body[data-v-b11c6e4f]{flex:1;min-height:0;display:flex;flex-direction:column}.reader-loading[data-v-b11c6e4f]{text-align:center;padding:3rem;color:#718096}.reader-error[data-v-b11c6e4f]{padding:1.25rem;background:#fff5f5;border:1px solid #fed7d7;color:#742a2a;border-radius:8px}.reader-content[data-v-b11c6e4f]{flex:1;min-height:0;overflow-y:auto;padding:2rem}.markdown-body[data-v-b11c6e4f]{font-size:.95rem;line-height:1.75;color:#2d3748}.markdown-body[data-v-b11c6e4f] h1,.markdown-body[data-v-b11c6e4f] h2,.markdown-body[data-v-b11c6e4f] h3{color:#1a365d;font-weight:600;margin:1.5rem 0 .75rem}.markdown-body[data-v-b11c6e4f] h2{font-size:1.15rem;border-bottom:1px solid #e2e8f0;padding-bottom:.4rem}.markdown-body[data-v-b11c6e4f] h3{font-size:1rem}.markdown-body[data-v-b11c6e4f] p{margin:.75rem 0}.markdown-body[data-v-b11c6e4f] img{max-width:100%;border-radius:6px;display:block;margin:1rem auto;box-shadow:0 1px 4px #0000001f}.markdown-body[data-v-b11c6e4f] ul,.markdown-body[data-v-b11c6e4f] ol{padding-left:1.5rem;margin:.75rem 0}.markdown-body[data-v-b11c6e4f] code{background:#f7fafc;border:1px solid #e2e8f0;border-radius:3px;padding:.1em .35em;font-size:.88em}.markdown-body[data-v-b11c6e4f] blockquote{border-left:3px solid #3182ce;padding-left:1rem;color:#4a5568;margin:.75rem 0}.markdown-body[data-v-b11c6e4f] table{width:100%;border-collapse:collapse;font-size:.9em;margin:1rem 0}.markdown-body[data-v-b11c6e4f] th,.markdown-body[data-v-b11c6e4f] td{border:1px solid #e2e8f0;padding:.4rem .75rem;text-align:left}.markdown-body[data-v-b11c6e4f] th{background:#f7fafc;font-weight:600}@media (max-width: 768px){.reader-view[data-v-b11c6e4f]{max-width:100%}.reader-content[data-v-b11c6e4f]{padding:1rem}}
