:root{--sidebar-bg: rgba(246, 246, 246, .75);--main-bg: #ffffff;--text-main: #1d1d1f;--text-secondary: #86868b;--accent: #007aff;--accent-hover: #0063cc;--border: rgba(0, 0, 0, .1);--sidebar-width: 260px;--user-bubble: #007aff;--assistant-bubble: #f2f2f7;--danger: #ff3b30}*{box-sizing:border-box;-webkit-font-smoothing:antialiased}html,body,#app{margin:0;height:100vh;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Arial,sans-serif;color:var(--text-main);background:#f5f5f7}.top-nav{height:44px;background:#ffffffd9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 16px;flex-shrink:0;z-index:100}.top-nav-left{display:flex;align-items:center;gap:8px}.top-nav-logo{font-size:15px;font-weight:700;color:var(--text-main);letter-spacing:-.3px}.top-nav-center{display:flex;align-items:center;gap:12px}.org-switcher{position:relative}.org-switcher-btn{background:#0000000a;border:1px solid rgba(0,0,0,.06);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:500;color:var(--text-main);cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .15s ease}.org-switcher-btn:hover{background:#00000014}.org-dropdown{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);min-width:200px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 20px #00000026;z-index:200;overflow:hidden;display:flex;flex-direction:column}.org-dropdown-item{padding:8px 12px;font-size:13px;color:var(--text-main);background:none;border:none;cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:8px;transition:background .15s ease}.org-dropdown-item:hover{background:#007aff0f}.org-dropdown-item.active{background:var(--accent);color:#fff}.org-tag{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-secondary);background:#0000000d;padding:1px 5px;border-radius:4px}.org-dropdown-item.active .org-tag{color:#fffc;background:#fff3}.top-nav-right{display:flex;align-items:center;gap:8px}.top-nav-user{font-size:12px;color:var(--text-secondary);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:6px;background:transparent;border:none;font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .15s ease}.user-menu-trigger:hover{background:#0000000d;color:var(--text-main)}.user-menu-email{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:220px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0000001f;z-index:200;overflow:hidden;display:flex;flex-direction:column;padding:6px}.user-dropdown-section{display:flex;flex-direction:column}.user-dropdown-label{padding:6px 10px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary)}.user-dropdown-divider{height:1px;background:var(--border);margin:4px 6px}.user-dropdown-item{padding:8px 10px;font-size:13px;color:var(--text-main);background:none;border:none;cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:6px;transition:background .15s ease}.user-dropdown-item:hover{background:#007aff0f}.user-dropdown-item.active{background:var(--accent);color:#fff}.user-dropdown-item.active .org-tag{color:#fffc;background:#fff3}.top-nav-btn{background:transparent;border:none;font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .15s ease}.top-nav-btn:hover{background:#0000000d;color:var(--text-main)}.top-nav-btn.active{background:var(--accent);color:#fff}.app-wrapper{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden}.app-container{display:flex;flex:1;min-height:0;width:100vw}.app-container.is-dragging{-webkit-user-select:none;user-select:none;cursor:col-resize}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;position:relative}.resizer{width:4px;cursor:col-resize;position:absolute;top:0;right:-2px;bottom:0;z-index:10;transition:background-color .2s ease}.resizer:hover,.resizer.dragging{background:var(--accent)}.sidebar-header{padding:12px 16px;display:flex;flex-direction:column;gap:12px}.new-chat-btn{background:#0000000d;border:1px solid rgba(0,0,0,.05);border-radius:6px;padding:6px 10px;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;width:100%}.new-chat-btn:hover{background:#00000014}.sidebar-nav{flex:1;overflow-y:hidden;display:flex;flex-direction:column}.library-results,.session-list{flex:1;overflow-y:auto;padding:8px}.session-item-wrap{display:flex;align-items:center;gap:4px;margin-bottom:2px;position:relative;padding:8px 12px;border-radius:6px;cursor:pointer;transition:background-color .15s ease}.session-item-wrap:hover{background:#0000000a}.session-item-wrap.active{background:var(--accent);color:#fff}.session-content{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.session-title{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.session-item-wrap.active .session-date{color:#fffc}.session-date{font-size:11px;color:var(--text-secondary)}.delete-session-btn{opacity:0;background:transparent;border:none;padding:4px;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:opacity .15s ease,background-color .15s ease;flex-shrink:0}.session-item-wrap:hover .delete-session-btn{opacity:1}.delete-session-btn:hover{background:#ff3b301a}.trash-icon{font-size:14px;filter:grayscale(1);opacity:.6}.delete-session-btn:hover .trash-icon{filter:none;opacity:1}.rename-input{width:100%;background:#fff;border:1px solid var(--accent);border-radius:4px;padding:2px 4px;font-size:13px;font-family:inherit;outline:none;color:var(--text-main)}.sidebar-footer{padding:12px;border-top:1px solid var(--border)}.main-content{flex:1;background:var(--main-bg);display:flex;flex-direction:column;min-width:0}.content-area{flex:1;position:relative;overflow-y:auto;display:flex;flex-direction:column}.chat-view{display:flex;flex-direction:column;height:100%}.messages-container{flex:1;overflow-y:auto;padding:20px 0;display:flex;flex-direction:column}.message-row{padding:8px 20px;display:flex;flex-direction:column}.message-bubble{max-width:80%;padding:10px 14px;border-radius:18px;font-size:14px;line-height:1.5}.message-row:not(.user) .message-bubble{align-self:flex-start;background:var(--assistant-bubble);border-bottom-left-radius:4px}.message-row.user .message-bubble{align-self:flex-end;background:var(--user-bubble);color:#fff;border-bottom-right-radius:4px}.message-row.user .message-bubble p:last-child{margin-bottom:0}.message-bubble p{margin:0}.citations-container{margin-top:10px}.citations-toggle{background:#007aff14;border:1px solid rgba(0,122,255,.15);border-radius:12px;padding:3px 10px;font-size:11px;font-weight:600;color:var(--accent);cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:4px}.citations-toggle:hover{background:#007aff24;border-color:#007aff4d}.citations-list{margin-top:8px;display:flex;flex-direction:column;gap:6px}.citation-detail{background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden}.citation-summary{padding:6px 10px;font-size:12px;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}.citation-summary::-webkit-details-marker{display:none}.citation-label{font-weight:700;color:var(--accent);background:#007aff1a;padding:1px 6px;border-radius:4px}.citation-meta{color:var(--text-secondary);font-size:11px}.citation-text{padding:8px 12px;font-size:12.5px;line-height:1.5;background:#fafafa;border-top:1px solid var(--border);color:#333}.citation-text p{margin:0 0 10px}.citation-text p:last-child{margin-bottom:0}.citation-text table{width:100%;border-collapse:collapse;margin:10px 0;font-size:11px}.citation-text th,.citation-text td{border:1px solid var(--border);padding:4px 8px;text-align:left}.citation-text th{background:#00000008}.settings-view{padding:40px;max-width:600px;margin:0 auto;width:100%}.docs-view{padding:40px;max-width:1200px;margin:0 auto;width:100%}.settings-section{margin-bottom:32px}.settings-section h3{font-size:13px;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;margin-bottom:16px}.danger-zone{border-top:1px solid var(--border);padding-top:24px;margin-top:24px}.danger-zone h3{color:#dc2626}.danger-description{font-size:13px;color:var(--text-secondary);margin-bottom:12px}.danger-btn{background:#fff;color:#dc2626;border:1px solid #dc2626;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.danger-btn:hover:not(:disabled){background:#dc2626;color:#fff}.danger-btn:disabled{opacity:.5;cursor:not-allowed}.inline-confirm{display:inline-flex;align-items:center;gap:8px;font-size:13px}.inline-confirm-text{color:var(--text-main);font-weight:500}.inline-confirm-btn{padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;border:none}.inline-confirm-btn.cancel{background:#f2f2f7;color:var(--text-secondary)}.inline-confirm-btn.cancel:hover{background:#e5e5ea}.inline-confirm-btn.danger{background:#dc2626;color:#fff}.inline-confirm-btn.danger:hover{background:#b91c1c}.session-delete-confirm{display:flex;align-items:center;gap:6px;padding:4px 8px;background:#f2f2f7;border-radius:6px}.session-delete-confirm span{font-size:11px;color:var(--text-secondary);white-space:nowrap}.session-delete-confirm .inline-confirm-btn{padding:2px 6px;font-size:11px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;font-weight:500;margin-bottom:6px}.form-group input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px}.composer{padding:12px 20px 20px;border-top:1px solid var(--border);background:#fff;position:relative;z-index:10;flex-shrink:0}.composer-inner{background:#fff;border:1px solid var(--border);border-radius:10px;padding:8px;display:flex;align-items:baseline;gap:10px;box-shadow:0 1px 4px #0000000d;position:relative}.composer-tools{flex-shrink:0;display:flex;flex-direction:row;align-items:baseline;gap:6px}.composer .library-source-dropdown{left:8px;right:8px;width:auto}.composer .library-source-dropdown-list{max-height:260px}.model-select{font-size:11px;background:#f2f2f7;border:none;border-radius:4px;padding:4px 6px;max-width:120px}textarea{flex:1;border:none;background:transparent;resize:none;font-size:14px;font-family:inherit;padding:4px 0;max-height:150px;outline:none}.send-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer}.send-btn:disabled{background:#d1d1d6;cursor:not-allowed}.library-source-bar{position:relative;margin-top:6px;padding:0 4px}.source-dropdown-up{bottom:100%!important;top:auto!important;margin-bottom:8px;left:8px!important;right:8px!important;transform:none;width:auto}.library-source-btn{background:transparent;border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.library-source-btn:hover{border-color:var(--accent);color:var(--accent)}.library-source-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.library-source-dropdown{position:absolute;top:100%;left:0;width:100%;min-width:240px;margin-top:4px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:100;max-height:300px;display:flex;flex-direction:column}.library-source-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border);font-size:12px;font-weight:600}.library-source-clear{background:none;border:none;font-size:11px;color:var(--accent);cursor:pointer}.library-source-clear:disabled{color:var(--text-secondary);cursor:default}.library-source-close{background:none;border:none;font-size:14px;color:var(--text-secondary);cursor:pointer}.library-source-dropdown-list{overflow-y:auto;padding:4px 0}.library-source-checkbox{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;cursor:pointer;font-size:13px}.library-source-checkbox:hover{background:#007aff0a}.library-source-checkbox input{flex-shrink:0;margin-top:3px}.library-source-checkbox-title{word-break:break-word;overflow:hidden;color:var(--text-main);line-height:1.4}.primary-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer}.secondary-btn{background:#0000000d;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer}.text-btn{background:transparent;border:none;color:var(--accent);font-size:13px;cursor:pointer}.close-btn{background:transparent;border:none;font-size:22px;color:var(--text-secondary);cursor:pointer;padding:0 4px;line-height:1}.close-btn:hover{color:var(--text-main)}.text-btn.danger{color:var(--danger)}.back-link{display:block;margin-top:24px;color:var(--text-secondary);font-size:13px;background:transparent;border:none;cursor:pointer}.error-banner{background:#fff2f2;color:var(--danger);padding:10px 20px;font-size:13px;border-bottom:1px solid rgba(255,0,0,.1)}.empty-state{margin:auto;text-align:center;padding:40px}.app-icon{width:64px;height:64px;background:linear-gradient(180deg,#4da3ff,#007aff);color:#fff;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:800;margin:0 auto 20px;box-shadow:0 4px 12px #007aff4d}.empty-state h1{font-size:24px;margin:0 0 8px}.empty-state p{color:var(--text-secondary);font-size:14px}.thinking{display:flex;align-items:center;justify-content:center;gap:4px;padding:12px 16px!important}.dot{width:6px;height:6px;background:#8e8e93;border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.dot:nth-child(1){animation-delay:-.32s}.dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.jump-btn{position:absolute;bottom:100px;left:50%;transform:translate(-50%);background:#fff;border:1px solid var(--border);padding:6px 12px;border-radius:20px;font-size:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer}.markdown-body{font-size:14px;line-height:1.5;overflow-x:auto}.markdown-body p{margin:0 0 1em}.markdown-body p:last-child{margin-bottom:0}.markdown-body pre{background:#f6f6f6;padding:12px;border-radius:8px;overflow-x:auto;margin:1em 0}.markdown-body code{font-family:SF Mono,Menlo,monospace;font-size:12px;background:#0000000d;padding:2px 4px;border-radius:4px}.markdown-body table{width:100%;border-collapse:collapse;margin:1em 0;font-size:13px;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 0 0 1px var(--border)}.markdown-body th,.markdown-body td{padding:8px 12px;border:1px solid var(--border);text-align:left}.markdown-body th{background:#f2f2f7;font-weight:600;color:var(--text-main)}.markdown-body tr:nth-child(2n){background:#fcfcfd}.markdown-body ul,.markdown-body ol{padding-left:1.5em;margin:1em 0}.markdown-body li{margin-bottom:.5em}input[type=range]{width:100%;cursor:pointer;accent-color:var(--accent)}.slider-container{padding:8px 0}.slider-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary);margin-top:4px}.library-search-box{display:flex;gap:6px;width:100%}.library-search-box input{flex:1;background:#0000000d;border:1px solid rgba(0,0,0,.05);border-radius:6px;padding:6px 10px;font-size:13px;outline:none}.library-search-box input:focus{border-color:var(--accent);background:#fff}.search-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:0 10px;font-size:12px;font-weight:600;cursor:pointer}.empty-sidebar-state{padding:20px;text-align:center;color:var(--text-secondary);font-size:13px}.search-result-item{padding:12px;margin-bottom:8px;background:#fff;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease;width:100%;text-align:left}.search-result-item:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000000d;border-color:var(--accent)}.result-title{font-size:12px;font-weight:700;color:var(--text-main);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-passage{font-size:11px;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:6px}.result-meta{display:flex;justify-content:space-between;font-size:10px;font-weight:600;color:var(--accent)}.find-match{background:#fef08a;border-radius:2px;padding:0 1px}.find-match.active{background-color:#ffa50099;outline:2px solid rgba(255,165,0,.8)}.footer-nav{display:flex;background:#0000000a;padding:2px;border-radius:8px}.footer-btn{flex:1;padding:6px;font-size:11px;font-weight:500;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;border-radius:6px;transition:all .15s ease}.footer-btn:hover{color:var(--text-main)}.footer-btn.active{background:#fff;color:var(--text-main);box-shadow:0 1px 3px #0000001a}.library-view{height:100%;display:flex;flex-direction:column}.reader-header-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#fff;border-bottom:1px solid var(--border);flex-shrink:0}.reader-title-area{flex:1;min-width:0}.reader-doc-title{font-size:14px;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.close-reader-btn{background:transparent;border:none;font-size:20px;color:var(--text-secondary);cursor:pointer;padding:4px 8px;border-radius:4px;line-height:1}.close-reader-btn:hover{background:#0000000d;color:var(--text-main)}.reader-placeholder{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.reader-container{flex:1;overflow-y:auto;padding:40px 0;background:#fdfdfd}.reader-content{max-width:700px;margin:0 auto;padding:0 40px}.reader-segment{margin-bottom:40px;position:relative}.reader-segment:after{content:"";display:block;width:40px;height:1px;background:var(--border);margin:40px auto 0}.reader-segment:last-child:after{display:none}.segment-text{font-family:Georgia,Times New Roman,Times,serif;font-size:18px;line-height:1.7;color:#1a1a1a}.segment-footer{margin-top:12px;display:flex;gap:12px;font-size:11px;color:var(--text-secondary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.reader-loading{text-align:center;padding:20px;font-size:12px;color:var(--text-secondary);font-style:italic}.reader-find-box{display:flex;align-items:center;gap:4px;background:#0000000d;border-radius:6px;padding:2px 8px;border:1px solid transparent}.reader-find-box:focus-within{background:#fff;border-color:var(--accent);box-shadow:0 0 0 2px #007aff1a}.reader-find-box input{background:transparent;border:none;font-size:13px;padding:4px 0;width:180px;outline:none}.find-nav-btn{background:transparent;border:none;font-size:14px;color:var(--text-secondary);cursor:pointer;padding:2px 4px;border-radius:4px}.find-nav-btn:hover{background:#0000000d;color:var(--text-main)}.close-find-btn{background:transparent;border:none;font-size:16px;color:var(--text-secondary);cursor:pointer;padding:0 4px;line-height:1}.close-find-btn:hover{color:var(--text-main)}.find-count{font-size:11px;color:var(--text-secondary);font-family:monospace;margin:0 4px}.file-input-row{display:flex;gap:8px;align-items:center}.file-input-row input{flex:1}.browse-btn{background:#0000000d;border:1px solid rgba(0,0,0,.08);border-radius:6px;padding:8px 12px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s ease}.browse-btn:hover:not(:disabled){background:#00000014}.browse-btn:disabled{opacity:.5;cursor:not-allowed}.drop-zone{border:2px dashed var(--border);border-radius:10px;padding:32px 20px;margin:16px 0;text-align:center;cursor:pointer;transition:all .2s ease;background:#fafafa}.drop-zone:hover{border-color:var(--accent);background:#007aff08}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:8px}.drop-zone-icon{font-size:32px;opacity:.6}.drop-zone-text{margin:0;font-size:14px;color:var(--text-main)}.drop-zone-hint{margin:0;font-size:12px;color:var(--text-secondary)}.drop-zone-file{margin:4px 0 0;font-size:12px;color:var(--accent);font-weight:500;background:#007aff14;padding:4px 12px;border-radius:12px}.library-documents-header{padding:24px 32px 16px;border-bottom:1px solid var(--border)}.library-documents-header h2{margin:0 0 4px;font-size:24px;font-weight:600}.library-documents-count{margin:0;font-size:14px;color:var(--text-secondary)}.library-documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding:24px 32px;overflow-y:auto}.library-doc-card{background:var(--main-bg);border:1px solid var(--border);border-radius:12px;padding:20px;text-align:left;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:8px}.library-doc-card:hover{border-color:var(--accent);box-shadow:0 2px 12px #007aff1a}.library-doc-card-title{font-size:16px;font-weight:600;color:var(--text-main);line-height:1.3;overflow-wrap:break-word;word-break:break-word}.library-doc-card-authors{font-size:13px;color:var(--text-secondary)}.library-doc-card-status{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;color:var(--text-secondary)}.library-doc-card-status.ready{color:#34c759}.summary-tree-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.summary-tree-header{display:flex;align-items:center;gap:12px;padding:16px 24px;border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap}.summary-tree-title{margin:0;font-size:18px;font-weight:600;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-tree-actions{display:flex;gap:8px}.summary-tree-content{flex:1;overflow-y:auto;padding:16px 24px 40px}.summary-tree{list-style:none;margin:0;padding:0}.summary-tree-children{list-style:none;margin:0;padding:0 0 0 20px;border-left:2px solid rgba(0,122,255,.15)}.summary-tree-node{margin:4px 0}.summary-node-toggle{display:flex;align-items:center;gap:8px;padding:10px 14px;border:none;background:transparent;cursor:pointer;width:100%;text-align:left;border-radius:8px;transition:background .15s ease;font-family:inherit;font-size:14px}.summary-node-toggle:hover{background:#007aff0f}.summary-node-marker{color:var(--accent);font-size:10px;width:16px;text-align:center;flex-shrink:0}.summary-node-title{flex:1;min-width:0;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-node-meta{font-size:11px;color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-shrink:0;background:#0000000a;padding:2px 6px;border-radius:4px}.summary-node-content{padding:8px 0 12px 32px}.summary-text{line-height:1.6;color:var(--text-main)}.summary-text p{margin:0 0 .75em}.summary-text p:last-child{margin-bottom:0}.no-summary{color:var(--text-secondary);font-style:italic;font-size:14px;margin:0}.back-btn{background:var(--assistant-bubble);border:1px solid var(--border);border-radius:8px;padding:6px 12px;font-size:13px;cursor:pointer;transition:background .15s ease}.back-btn:hover{background:#e5e5ea}.boot-loading{display:flex;align-items:center;justify-content:center;height:100vh;font-size:14px;color:var(--text-secondary)}.mobile-menu-btn{display:none;background:transparent;border:none;color:var(--text-main);cursor:pointer;padding:8px;margin-right:4px;border-radius:8px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mobile-menu-btn:active{background:#0000000f}.sidebar-overlay{display:none;position:fixed;top:44px;right:0;bottom:0;left:0;background:#00000059;z-index:90;opacity:0;transition:opacity .25s ease;touch-action:none}.sidebar-overlay.visible{opacity:1}@media (max-width: 768px){html,body,#app{font-size:16px}.mobile-menu-btn{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.top-nav{height:48px;padding:0 12px}.top-nav-logo{font-size:16px}.top-nav-center{display:none}.top-nav-right{gap:4px}.top-nav-btn{min-height:36px;padding:6px 10px;font-size:13px}.top-nav-user{display:none}.user-menu-trigger{min-height:36px;padding:6px 10px}.user-menu-email{max-width:100px}.user-dropdown{right:4px;min-width:200px}.app-container{position:relative}.sidebar{position:fixed;top:48px;left:0;bottom:0;width:85vw;max-width:320px;z-index:100;transform:translate(-100%);transition:transform .3s cubic-bezier(.32,.72,0,1);border-right:1px solid var(--border);box-shadow:4px 0 24px #0000001f}.sidebar.mobile-open{transform:translate(0)}.sidebar-overlay{display:block}.resizer{display:none}.main-content{width:100vw}.chat-view{padding-bottom:env(safe-area-inset-bottom,0)}.messages-container{padding:12px 14px;gap:14px}.message-bubble{padding:10px 14px;font-size:15px;line-height:1.55;max-width:92%}.message-bubble.thinking{padding:12px 16px}.composer{padding:10px 12px calc(10px + env(safe-area-inset-bottom,0));background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.composer-inner{gap:8px}.composer textarea{min-height:44px;max-height:120px;padding:10px 12px;font-size:16px;border-radius:20px}.send-btn{min-width:44px;min-height:44px;border-radius:20px}.library-view{padding:16px}.library-documents-header h2{font-size:18px}.library-documents-count{font-size:13px}.library-documents-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.library-doc-card{padding:16px}.library-doc-card-title{font-size:14px}.reader-header-bar{padding:10px 14px;height:auto;min-height:44px}.reader-container{padding:12px 14px}.reader-segment{padding:14px 0}.settings-view,.docs-view{padding:20px 16px}.settings-section{margin-bottom:24px}.settings-section h3{font-size:12px}.drop-zone{padding:28px 16px}.drop-zone-icon{font-size:32px}.secondary-btn,.danger-btn{min-height:44px;font-size:15px}.summary-tree-view{padding:16px}.summary-tree-header{flex-wrap:wrap;gap:8px}.summary-tree-title{font-size:16px;width:100%}.reader-find-box{top:8px;right:8px;left:8px;width:auto}.citations-container{margin-top:8px}.citations-toggle{padding:6px 10px;font-size:12px}.citation-detail{padding:8px 10px}.admin{padding:20px 16px}.admin h1{font-size:20px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table th,.table td{padding:8px 12px;font-size:13px;white-space:nowrap}.session-item-wrap{padding:12px 14px;min-height:44px}.delete-session-btn{min-width:36px;min-height:36px}.footer-nav{gap:2px}.footer-btn{min-height:40px;padding:8px 10px;font-size:12px}.new-chat-btn{min-height:44px;font-size:14px}.search-btn{min-height:40px;padding:8px 14px}.search-result-item{padding:12px 14px}.result-title{font-size:13px}.org-dropdown{left:8px;right:8px;width:auto;max-width:none}.modal{max-width:92vw;padding:1.5rem}.modal h2{font-size:1.1rem}input{min-height:44px;font-size:16px}button[type=submit],button:not(.link){min-height:44px}.jump-btn{bottom:72px;right:12px;padding:8px 14px;font-size:13px}.doc-table th,.doc-table td{padding:10px 12px;font-size:13px}.doc-title{max-width:140px;overflow:hidden;text-overflow:ellipsis}.action-btn{min-height:32px;padding:4px 10px;font-size:12px}.inline-confirm{flex-wrap:wrap;gap:6px}.inline-confirm-btn{min-height:36px;padding:6px 12px;font-size:13px}}@media (max-width: 480px){.library-documents-grid{grid-template-columns:1fr}.sidebar{width:90vw}.text-btn{padding:5px 8px;font-size:12px}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{position:relative;background:#fff;padding:2rem;border-radius:16px;border:1px solid rgba(0,0,0,.08);box-shadow:0 20px 60px #00000026;width:100%;max-width:380px;text-align:center}.modal h2{margin:0 0 .75rem;color:#1d1d1f;font-size:1.25rem;font-weight:700}.modal form{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.modal input{padding:.7rem .9rem;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#fafafa;color:#1d1d1f;font-size:.9rem;outline:none;transition:border-color .15s ease,background .15s ease}.modal input:focus{border-color:#007aff;background:#fff}.modal button[type=submit],.modal button:not(.link){padding:.7rem;border:none;border-radius:8px;background:#007aff;color:#fff;font-weight:600;font-size:.9rem;cursor:pointer;transition:opacity .15s}.modal button[type=submit]:hover:not(:disabled),.modal button:not(.link):hover:not(:disabled){opacity:.9}.modal button[type=submit]:disabled,.modal button:not(.link):disabled{background:#d1d1d6;cursor:not-allowed}.modal .error{color:#dc2626;font-size:.85rem;text-align:left;background:#fff2f2;padding:.5rem .75rem;border-radius:6px}.modal .success{color:#16a34a;font-size:.85rem;text-align:left;background:#f0fdf4;padding:.5rem .75rem;border-radius:6px;margin-bottom:.5rem}.modal .links{display:flex;justify-content:space-between;margin-top:.75rem}.modal .link{background:transparent;color:#86868b;font-size:.85rem;padding:0;border:none;cursor:pointer}.modal .link:hover{color:#007aff}.modal .verify-text{color:#86868b;font-size:.9rem;margin:1rem 0}.modal .modal-close{position:absolute;top:12px;right:12px;background:transparent;border:none;font-size:1rem;color:#86868b;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .15s ease}.modal .modal-close:hover{background:#0000000d;color:#1d1d1f}.modal .modal-brand{margin-bottom:.75rem}.modal .brand-icon{width:48px;height:48px;background:linear-gradient(180deg,#4da3ff,#007aff);color:#fff;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;box-shadow:0 4px 12px #007aff40}.modal .field-label{display:block;text-align:left;font-size:.8rem;font-weight:600;color:#1d1d1f;margin-bottom:.25rem}.modal .field-label .hint{font-weight:400;color:#86868b}.doc-manager-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.doc-manager-header h2{font-size:22px;font-weight:600;margin:0;letter-spacing:-.3px}.refresh-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease}.refresh-btn:hover:not(:disabled){background:var(--accent-hover)}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.doc-manager-error-banner{background:#fff2f2;color:#d32f2f;border:1px solid #ffcdd2;border-radius:8px;padding:10px 14px;margin-bottom:16px;font-size:13px}.doc-manager-empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.doc-manager-empty-state p{margin:0 0 6px;font-size:15px}.doc-manager-empty-state .empty-hint{font-size:13px;opacity:.7}.doc-table-wrap{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:auto}.doc-table{width:100%;border-collapse:collapse;font-size:13px}.doc-table thead{background:#00000005}.doc-table th{text-align:left;padding:10px 14px;font-weight:600;color:var(--text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.doc-table td{padding:12px 14px;border-bottom:1px solid rgba(0,0,0,.04);vertical-align:middle}.doc-table tbody tr:last-child td{border-bottom:none}.doc-table tbody tr:hover{background:#007aff08}.doc-title{font-weight:500;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-meta{color:var(--text-secondary);font-size:12px;white-space:nowrap}.status-badge{display:inline-block;padding:2px 8px;border-radius:4px;border:1px solid;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;background:#ffffffb3}.row-actions{display:flex;align-items:center;gap:6px}.action-btn{background:#0000000a;border:1px solid rgba(0,0,0,.08);border-radius:5px;padding:4px 10px;font-size:12px;font-weight:500;cursor:pointer;color:var(--text-main);transition:all .15s ease}.action-btn:hover:not(:disabled){background:#00000014}.action-btn.danger{color:var(--danger);border-color:#ff3b3033;background:#ff3b300f}.action-btn.danger:hover{background:#ff3b301f}.action-btn:disabled{opacity:.4;cursor:not-allowed}.confirm-text{font-size:12px;color:var(--danger);font-weight:600;margin-right:4px}.rename-input{width:100%;min-width:200px;background:#fff;border:1px solid var(--accent);border-radius:6px;padding:4px 8px;font-size:13px;font-family:inherit;color:var(--text-main);outline:none}.admin{max-width:960px;margin:0 auto;padding:0 1rem}.admin h1{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;color:#1d1d1f}.admin section{margin-bottom:2.5rem}.admin h2{font-size:1rem;font-weight:600;margin-bottom:.75rem;color:#86868b;text-transform:uppercase;letter-spacing:.03em}.admin .table-wrap{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000a}.admin .table{width:100%;border-collapse:collapse;font-size:.9rem}.admin .table th,.admin .table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid rgba(0,0,0,.06)}.admin .table th{color:#86868b;font-weight:600;text-transform:uppercase;font-size:.7rem;letter-spacing:.08em;background:#fafafa}.admin .table tr:last-child td{border-bottom:none}.admin .table tr:hover{background:#007aff05}.admin .table tr.admin{background:#007aff0a}.admin .table tr.accepted{opacity:.6}.admin .badge{display:inline-block;padding:.2rem .5rem;border-radius:6px;font-size:.75rem;font-weight:500;background:#f2f2f7;color:#86868b}.admin .badge.green{background:#dcfce7;color:#16a34a}.admin .badge.blue{background:#dbeafe;color:#2563eb}.admin .invite-form{display:flex;gap:.5rem;margin-bottom:1rem}.admin .invite-form input{flex:1;padding:.6rem .9rem;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#fafafa;color:#1d1d1f;font-size:.9rem;outline:none;transition:border-color .15s ease}.admin .invite-form input:focus{border-color:#007aff;background:#fff}.admin .invite-form button{padding:.6rem 1.2rem;border:none;border-radius:8px;background:#007aff;color:#fff;font-weight:600;cursor:pointer;font-size:.9rem;transition:opacity .15s}.admin .invite-form button:hover:not(:disabled){opacity:.9}.admin .invite-form button:disabled{opacity:.5}.admin .delete-btn{background:transparent;border:1px solid rgba(0,0,0,.1);color:#86868b;padding:.3rem .6rem;border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .15s ease}.admin .delete-btn:hover{border-color:#dc2626;color:#dc2626;background:#fff2f2}.admin .token{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.admin .admin-error{color:#dc2626;background:#fff2f2;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.admin .admin-loading,.admin .admin-empty{color:#86868b;padding:1.5rem 0;font-size:.9rem}.org-manager{max-width:700px;margin:0 auto;padding:0 1rem}.org-manager-header{margin-bottom:1.5rem}.org-manager-header h2{font-size:1.5rem;font-weight:700;margin:0;color:#1d1d1f}.org-error-banner{background:#fff2f2;color:#dc2626;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.org-success-banner{background:#f0fdf4;color:#16a34a;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.org-loading{color:#86868b;padding:2rem 0;text-align:center}.org-empty-state{text-align:center;padding:2rem 0;color:#86868b}.org-empty-state p{margin:0 0 .5rem;font-size:.95rem}.org-empty-state .empty-hint{font-size:.85rem;opacity:.7}.create-org-form{display:flex;gap:.5rem;margin-bottom:1.5rem}.create-org-form input{flex:1;padding:.6rem .9rem;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#fafafa;font-size:.9rem;outline:none;transition:border-color .15s ease,background .15s ease}.create-org-form input:focus{border-color:#007aff;background:#fff}.org-info{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,0,0,.08)}.org-info h3{margin:0;font-size:1.1rem;font-weight:600}.org-role{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#007aff;background:#007aff1a;padding:2px 8px;border-radius:4px}.org-section{margin-bottom:2rem}.org-section h4{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#86868b;margin:0 0 .75rem}.member-list{display:flex;flex-direction:column;gap:.5rem}.member-row{display:flex;align-items:center;justify-content:space-between;padding:.6rem .8rem;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:8px}.member-info{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.member-email{font-weight:500;font-size:.9rem}.member-name{color:#86868b;font-size:.85rem}.member-role{font-size:.7rem;font-weight:600;text-transform:uppercase;color:#86868b;background:#f2f2f7;padding:1px 6px;border-radius:4px}.org-section .invite-form{display:flex;gap:.5rem}.org-section .invite-form input{flex:1;padding:.6rem .9rem;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#fafafa;font-size:.9rem;outline:none;transition:border-color .15s ease,background .15s ease}.org-section .invite-form input:focus{border-color:#007aff;background:#fff}.org-manager .primary-btn{background:#007aff;color:#fff;border:none;border-radius:8px;padding:.6rem 1rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .15s;white-space:nowrap}.org-manager .primary-btn:hover:not(:disabled){opacity:.9}.org-manager .primary-btn:disabled{opacity:.5;cursor:not-allowed}.org-manager .action-btn{background:#0000000a;border:1px solid rgba(0,0,0,.08);border-radius:5px;padding:4px 10px;font-size:.8rem;font-weight:500;cursor:pointer;color:#1d1d1f;transition:all .15s ease}.org-manager .action-btn:hover{background:#00000014}.org-manager .action-btn.danger{color:#ff3b30;border-color:#ff3b3033;background:#ff3b300f}.org-manager .action-btn.danger:hover{background:#ff3b301f}.org-manager .danger-zone{border-top:1px solid rgba(0,0,0,.08);padding-top:1.5rem}.org-manager .danger-zone h4{color:#dc2626}.org-manager .danger-btn{background:#fff;color:#dc2626;border:1px solid #dc2626;border-radius:6px;padding:8px 16px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s ease}.org-manager .danger-btn:hover{background:#dc2626;color:#fff}.org-manager .inline-confirm{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.org-manager .inline-confirm-text{font-size:.85rem;font-weight:500}.org-manager .inline-confirm-btn{padding:4px 10px;border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer;border:none;transition:all .15s ease}.org-manager .inline-confirm-btn.cancel{background:#f2f2f7;color:#86868b}.org-manager .inline-confirm-btn.cancel:hover{background:#e5e5ea}.org-manager .inline-confirm-btn.danger{background:#dc2626;color:#fff}.org-manager .inline-confirm-btn.danger:hover{background:#b91c1c}
