*{margin:0;padding:0;box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;--bg-primary: #f5f5f5;--bg-secondary: #ffffff;--bg-tertiary: #fafafa;--bg-gray: #e8e8e8;--border-color: #d9d9d9;--text-primary: #333333;--text-secondary: #666666;--text-tertiary: #999999;--primary-color: #5ab9ff;--primary-hover: #3da8f5;--tag-green: #a8e6a3;--tag-green-text: #52c41a;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .12)}body{margin:0;min-width:100vw;min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary)}#root{width:100%;min-height:100vh}button{font-family:inherit;cursor:pointer;border:none;outline:none}input,textarea{font-family:inherit;outline:none}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#bfbfbf}.knowledge-card{width:320px;height:180px;background:#fff;border-radius:12px;padding:24px;cursor:pointer;transition:all .3s;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:flex-start}.knowledge-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.knowledge-card.add-card{align-items:center;justify-content:center;background:var(--bg-tertiary);border:2px dashed var(--border-color)}.add-icon{font-size:48px;color:var(--text-tertiary);font-weight:300;-webkit-user-select:none;user-select:none}.card-title{font-size:20px;font-weight:500;margin-bottom:12px;color:var(--text-primary)}.card-description{font-size:14px;color:var(--text-secondary);line-height:1.6}.modal-overlay{position:fixed;inset:0;background-color:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:90vw;max-height:90vh;overflow:auto;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.btn{padding:8px 16px;border-radius:4px;font-size:14px;font-weight:400;border:1px solid transparent;cursor:pointer;transition:all .2s;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-default{background:#fff;color:var(--text-primary);border-color:var(--border-color)}.btn-default:hover:not(:disabled){color:var(--primary-color);border-color:var(--primary-color)}.btn-primary{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-small{padding:4px 12px;font-size:12px}.btn-medium{padding:8px 16px;font-size:14px}.btn-large{padding:12px 24px;font-size:16px}.kb-settings{padding:24px}.kb-settings-title{font-size:18px;font-weight:500;color:var(--text-primary);margin-bottom:24px}.kb-settings-content{margin-bottom:24px}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-size:14px;color:var(--text-primary);margin-bottom:8px}.form-input,.form-textarea{width:100%;padding:8px 12px;font-size:14px;color:var(--text-primary);background:#fff;border:1px solid var(--border-color);border-radius:4px;transition:all .2s}.form-input:focus,.form-textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #5ab9ff1a}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-tertiary)}.form-textarea{resize:vertical;min-height:120px}.kb-settings-actions{display:flex;justify-content:flex-end;gap:12px}.sys-settings{padding:24px}.sys-settings-title{font-size:18px;font-weight:500;color:var(--text-primary);margin-bottom:24px}.sys-settings-content{margin-bottom:24px}.form-select{width:100%;padding:8px 36px 8px 12px;font-size:14px;color:var(--text-primary);background:#fff;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .2s;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23999' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.form-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #5ab9ff1a}.sys-settings-actions{display:flex;justify-content:flex-end;gap:12px}.home-page{width:100%;min-height:100vh;background:var(--bg-primary)}.home-header{height:48px;background:var(--bg-gray);display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--border-color)}.header-left{display:flex;align-items:center}.home-icon{color:var(--text-secondary)}.header-right{display:flex;align-items:center;gap:8px}.icon-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.icon-btn:hover{background:#0000000d}.home-content{padding:48px}.cards-grid{display:flex;flex-wrap:wrap;gap:24px}.confirm-dialog{padding:24px}.confirm-title{font-size:16px;font-weight:500;color:var(--text-primary);margin-bottom:16px}.confirm-message{font-size:14px;color:var(--text-secondary);line-height:1.6;margin-bottom:24px}.confirm-actions{display:flex;justify-content:flex-end;gap:12px}.compare-results{padding:24px}.compare-title{font-size:18px;font-weight:500;color:var(--text-primary);margin-bottom:24px}.compare-content{display:flex;align-items:center;gap:16px;margin-bottom:12px}.compare-box{flex:1;padding:16px;background:var(--bg-tertiary);border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s;min-height:200px}.compare-box:hover{border-color:var(--primary-color)}.compare-box.selected{border-color:var(--primary-color);background:#5ab9ff0d}.compare-text{font-size:13px;color:var(--text-secondary);line-height:1.8;word-break:break-word}.compare-arrow{flex-shrink:0;display:flex;align-items:center;justify-content:center}.compare-hint{font-size:13px;color:var(--text-tertiary);margin-bottom:24px}.compare-actions{display:flex;justify-content:flex-end;gap:12px}.kb-page{width:100%;height:100vh;display:flex;flex-direction:column;background:var(--bg-primary)}.kb-header{height:48px;background:var(--bg-gray);display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.kb-header-left,.kb-header-right{display:flex;align-items:center;gap:12px}.search-input{width:200px;height:32px;padding:0 12px;border:1px solid var(--border-color);border-radius:4px;font-size:13px;background:#fff}.kb-body{flex:1;display:flex;overflow:hidden}.kb-sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.kb-sidebar.left{width:280px;flex-shrink:0}.kb-sidebar.right{width:450px;flex-shrink:0;border-right:none;border-left:1px solid var(--border-color)}.sidebar-header{padding:16px;display:flex;gap:8px;border-bottom:1px solid var(--border-color)}.doc-section{padding:16px;border-bottom:1px solid var(--border-color)}.section-title{font-size:13px;color:var(--text-secondary);margin-bottom:12px}.doc-list{margin-bottom:12px}.doc-item{display:flex;align-items:center;justify-content:space-between;padding:8px;border-radius:4px;margin-bottom:8px;cursor:pointer;transition:background .2s}.doc-item:hover{background:var(--bg-tertiary)}.doc-item-header{flex:1;display:flex;flex-direction:column;gap:4px}.doc-name{font-size:13px;color:var(--text-primary)}.doc-tag{display:inline-block;padding:2px 8px;background:var(--tag-green);color:var(--tag-green-text);font-size:11px;border-radius:3px;width:fit-content}.doc-add-btn{width:24px;height:24px;border-radius:4px;background:transparent;color:var(--text-tertiary);font-size:18px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);transition:all .2s}.doc-add-btn:hover{background:var(--bg-tertiary);color:var(--primary-color)}.doc-toggle{font-size:13px;color:var(--text-secondary);padding:8px;cursor:pointer;border-radius:4px;transition:background .2s}.doc-toggle:hover{background:var(--bg-tertiary)}.outline-section{flex:1;padding:16px;overflow-y:auto}.outline-tree{margin-top:12px}.outline-item{margin-bottom:4px}.outline-item-header{display:flex;align-items:center;gap:4px;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:13px;color:var(--text-primary);transition:background .2s}.outline-item-header:hover{background:var(--bg-tertiary)}.outline-toggle{font-size:10px;color:var(--text-tertiary);transition:transform .2s;display:inline-block;width:12px}.outline-toggle.expanded{transform:rotate(90deg)}.outline-title{flex:1;line-height:1.4}.outline-children{margin-left:0}.kb-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff}.tabs{display:flex;align-items:center;gap:4px;padding:8px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.tab{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#fff;border-radius:4px 4px 0 0;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.tab.active{color:var(--text-primary);background:#fff;box-shadow:0 -2px 4px #0000000d}.tab-close{width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-tertiary);font-size:16px;cursor:pointer;border-radius:2px;transition:all .2s}.tab-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.doc-content{flex:1;overflow-y:auto;padding:32px}.empty-state{height:100%;display:flex;align-items:center;justify-content:center}.empty-hint{text-align:center;color:var(--text-tertiary);font-size:14px}.empty-hint p{margin:8px 0}.doc-viewer{max-width:800px;margin:0 auto}.doc-viewer h1{font-size:24px;font-weight:600;color:var(--text-primary);margin-bottom:24px;line-height:1.4}.doc-viewer h2{font-size:20px;font-weight:600;color:var(--text-primary);margin:32px 0 16px;line-height:1.4}.doc-viewer h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:24px 0 12px;line-height:1.4}.doc-text{font-size:14px;color:var(--text-primary);line-height:1.8}.doc-text p{margin:12px 0}.doc-text ol,.doc-text ul{margin:12px 0;padding-left:24px}.doc-text li{margin:8px 0}.doc-text a{color:var(--primary-color);text-decoration:none}.doc-text a:hover{text-decoration:underline}.chat-list{flex:1;padding:16px;overflow-y:auto}.chat-card{padding:16px;background:var(--bg-tertiary);border-radius:8px;margin-bottom:12px;cursor:pointer;transition:all .2s}.chat-card:hover{background:var(--bg-gray)}.chat-title{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:8px;line-height:1.4}.chat-summary{font-size:12px;color:var(--text-secondary);line-height:1.6}.add-chat-btn{width:100%;height:48px;background:transparent;border:2px dashed var(--border-color);border-radius:8px;color:var(--text-tertiary);font-size:24px;cursor:pointer;transition:all .2s}.add-chat-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.chat-input-area{padding:16px;border-top:1px solid var(--border-color);background:#fff}.chat-input{width:100%;min-height:120px;max-height:200px;padding:12px;border:1px solid var(--border-color);border-radius:4px;font-size:14px;color:var(--text-primary);resize:vertical;margin-bottom:12px}.chat-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #5ab9ff1a}.chat-controls{display:flex;flex-direction:column;gap:12px}.chat-options{display:flex;flex-direction:column;gap:8px}.option-item{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--text-primary);cursor:pointer;position:relative}.option-item input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}.toggle-switch{width:40px;height:22px;background:var(--border-color);border-radius:11px;position:relative;transition:background .2s}.toggle-switch:after{content:"";position:absolute;width:18px;height:18px;background:#fff;border-radius:50%;top:2px;left:2px;transition:transform .2s}.option-item input:checked+.toggle-switch{background:var(--primary-color)}.option-item input:checked+.toggle-switch:after{transform:translate(18px)}.chat-actions{display:flex;justify-content:flex-end;gap:8px}
