@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;700&display=swap";:root{--page-bg: linear-gradient(180deg, #f6f8fc 0%, #eef3fb 45%, #f9fbff 100%);--panel-bg: rgba(255, 255, 255, .86);--panel-border: rgba(128, 152, 186, .2);--panel-shadow: 0 16px 44px rgba(79, 109, 148, .14);--text-main: #1d2a3b;--text-muted: #71839a;--brand: #3f7cff;--input-bg: rgba(255, 255, 255, .96);--sidebar-width: 268px;--sidebar-width-collapsed: 72px;--layer-gap: 2px;--user-bg: linear-gradient(135deg, #e8f1ff 0%, #d8e9ff 100%);--assistant-bg: #ffffff;--system-bg: #eef4ff}html,body,#app{height:100%}body{margin:0;background:var(--page-bg);font-family:Plus Jakarta Sans,Noto Sans SC,sans-serif;color:var(--text-main)}.chat-layout{display:flex;width:100%;height:100vh;background:var(--page-bg)}.chat-sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);border-right:1px solid var(--panel-border);background:rgba(245,249,255,.9);box-shadow:8px 0 24px #657ea114;padding:10px;box-sizing:border-box;display:flex;flex-direction:column;gap:10px;transition:width .24s ease,min-width .24s ease}.chat-sidebar.collapsed{width:var(--sidebar-width-collapsed);min-width:var(--sidebar-width-collapsed)}.sidebar-header{display:flex;align-items:center;gap:8px;min-height:38px}.sidebar-title-row{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.collapse-btn{width:34px;height:34px;border-radius:10px;border:1px solid rgba(128,152,186,.24);background:#fff;color:#335170;cursor:pointer}.sidebar-title{margin:0;font-size:15px;font-weight:700;white-space:nowrap}.sidebar-user-name{margin-left:auto;max-width:120px;font-size:12px;font-weight:600;color:#607896;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}.chat-sidebar.collapsed .sidebar-title,.chat-sidebar.collapsed .sidebar-title-row,.chat-sidebar.collapsed .sidebar-user-name{display:none}.new-chat-btn{height:40px;border-radius:12px;border:none;background:linear-gradient(135deg,#3f7cff 0%,#67a0ff 100%);color:#fff;display:flex;align-items:center;justify-content:center;gap:6px;font-weight:700;cursor:pointer}.new-chat-btn:disabled{opacity:.58;cursor:not-allowed}.new-chat-icon{font-size:16px}.chat-sidebar.collapsed .new-chat-text{display:none}.history-header{color:var(--text-muted);font-size:12px;font-weight:700;padding:0 2px;display:flex;align-items:center;justify-content:space-between;gap:8px}.history-loading{display:inline-flex;align-items:center;gap:4px;height:14px}.history-loading-dot{width:4px;height:4px;border-radius:999px;background:#7d95b9;opacity:.3;animation:history-loading-pulse 1s infinite ease-in-out}.history-loading-dot:nth-child(2){animation-delay:.15s}.history-loading-dot:nth-child(3){animation-delay:.3s}@keyframes history-loading-pulse{0%,80%,to{transform:scale(.9);opacity:.3}40%{transform:scale(1);opacity:1}}.chat-sidebar.collapsed .history-header{display:none}.history-list{flex:1 1 auto;overflow:auto;display:flex;flex-direction:column;gap:6px;padding-right:2px}.history-empty{padding:10px;border-radius:10px;background:rgba(255,255,255,.7);color:var(--text-muted);font-size:12px}.chat-sidebar.collapsed .history-empty{display:none}.history-item-row{position:relative}.history-item{width:100%;border:1px solid rgba(128,152,186,.2);background:rgba(255,255,255,.84);border-radius:12px;padding:8px 10px;text-align:left;cursor:pointer;color:var(--text-main);transition:border-color .2s ease,transform .2s ease}.history-item:hover{transform:translateY(-1px);border-color:#4d7bc475;position:relative}.history-item-row.active .history-item{border-color:#3f7cffb3;background:rgba(227,239,255,.95)}.history-item:disabled{cursor:not-allowed;opacity:.6}.history-title{font-size:13px;font-weight:600;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:18px}.history-short{display:none}.history-main{min-width:0}.history-title-line{display:flex;align-items:center;gap:6px;min-width:0}.history-msg-icon{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;opacity:.75;flex:0 0 auto}.history-msg-icon svg{width:14px;height:14px}.history-meta{margin-top:4px;display:flex;justify-content:space-between;color:var(--text-muted);font-size:11px}.history-actions{position:absolute;top:8px;right:8px;z-index:2}.history-more-btn{width:22px;height:22px;border:1px solid rgba(128,152,186,.24);border-radius:6px;background:rgba(255,255,255,.95);color:#4d6688;font-size:12px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .15s ease}.history-item-row:hover .history-more-btn,.history-item-row:focus-within .history-more-btn{opacity:1}.history-menu{position:absolute;top:24px;right:0;left:auto;min-width:92px;border-radius:10px;border:1px solid rgba(128,152,186,.24);background:#fff;box-shadow:0 10px 20px #46608229;padding:4px}.history-menu-btn{width:100%;height:30px;border:none;border-radius:8px;background:transparent;color:#3d5677;font-size:12px;text-align:left;padding:0 8px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.history-menu-btn:hover{background:rgba(236,242,251,.9)}.history-menu-btn.danger{color:#b63c50}.history-menu-icon{color:#cf3249;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center}.history-menu-icon svg{width:16px;height:16px}.chat-sidebar.collapsed .history-item{padding:8px 6px}.chat-sidebar.collapsed .history-title,.chat-sidebar.collapsed .history-meta,.chat-sidebar.collapsed .history-actions,.chat-sidebar.collapsed .history-msg-icon{display:none}.chat-sidebar.collapsed .history-short{display:block;text-align:center;font-size:12px;font-weight:700;color:#436187}.chat-main{flex:1 1 auto;min-width:0;padding:10px 14px;box-sizing:border-box;display:flex;justify-content:center;background:var(--input-bg);position:relative}.page-shell{width:min(1120px,100%);max-width:1120px;margin:0 auto;height:100%;display:flex;flex-direction:column;gap:var(--layer-gap)}.main-corner-actions{position:absolute;top:10px;right:16px;z-index:8;display:flex;align-items:center;gap:8px}.chat-icon-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;border:1px solid rgba(128,152,186,.24);background:rgba(255,255,255,.9);color:#35506f;cursor:pointer}.chat-icon-btn svg{width:16px;height:16px}.chat-icon-btn:hover{background:#fff}.chat-stage{flex:1 1 auto;min-height:300px;padding:8px 10px 4px;box-sizing:border-box;display:flex;flex-direction:column;position:relative}.stage-header{display:flex;justify-content:flex-end;align-items:center;padding:0 4px 8px}.stage-meta{color:var(--text-muted);font-size:12px}.message-scroll{flex:1 1 auto;min-height:300px;overflow:auto;padding:2px 6px 6px;scroll-behavior:smooth}.message-scroll.is-empty{display:flex;align-items:center;justify-content:center}.message-scroll::-webkit-scrollbar{width:9px}.message-scroll::-webkit-scrollbar-thumb{background:rgba(122,142,171,.38);border-radius:999px;border:2px solid transparent;background-clip:content-box}.message-row{display:flex;align-items:flex-start;gap:0;margin:0 0 14px}.message-row.role-user{justify-content:flex-end}.message-bubble{border:1px solid rgba(128,152,186,.14);box-shadow:0 10px 24px #7990ad1a;line-height:1.75;font-size:15px;max-width:840px;border-radius:22px 22px 22px 8px;background:var(--assistant-bg);color:var(--text-main);padding:12px 14px}.message-row.role-user .message-bubble{max-width:720px;border-radius:22px 22px 8px;background:var(--user-bg);color:#21466f;border-color:#739bd638}.message-row.role-system .message-bubble{border-radius:14px;background:var(--system-bg);color:#26415f}.message-bubble.pending{opacity:.9}.message-content{margin:0 0 8px}.message-plain{margin:0;white-space:pre-wrap;word-break:break-word}.message-user-body{display:flex;flex-direction:column;gap:6px}.message-user-mentions{display:flex;flex-wrap:wrap;gap:6px}.message-user-mention{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;border:1px solid rgba(73,124,191,.24);background:linear-gradient(135deg,rgba(229,241,255,.96),rgba(241,247,255,.92));color:#2c5682;font-size:12px;line-height:1.3;font-weight:600}.message-user-mention.file{border-color:#4678b44d;background:linear-gradient(135deg,rgba(213,231,252,.98),rgba(228,241,255,.94));color:#21486f;font-size:11px}.message-user-text{margin-top:1px}.message-markdown{word-break:break-word;line-height:1.75}.message-markdown>:first-child{margin-top:0}.message-markdown>:last-child{margin-bottom:0}.message-markdown p,.message-markdown ul,.message-markdown ol,.message-markdown pre,.message-markdown blockquote{margin:0 0 8px}.message-markdown ul,.message-markdown ol{padding-left:22px}.message-markdown a{color:#2d5fa8}.message-markdown code{font-family:Consolas,Menlo,Monaco,monospace;background:rgba(44,78,121,.08);border-radius:6px;padding:2px 5px;font-size:13px}.message-markdown pre{background:rgba(23,38,60,.95);color:#e8f0ff;border-radius:12px;padding:10px 12px;overflow:auto}.message-markdown pre code{background:transparent;color:inherit;padding:0}.message-markdown .mermaid-pending,.message-markdown .mermaid-rendered{margin:4px 0 10px;padding:10px;border:1px solid rgba(128,152,186,.24);border-radius:12px;background:rgba(255,255,255,.98);overflow:auto}.message-markdown .mermaid-pending pre{margin:0}.message-markdown .mermaid-rendered svg{max-width:100%;height:auto;display:block;margin:0 auto}.message-markdown .mermaid-rendered svg text,.message-markdown .mermaid-rendered svg tspan,.message-markdown .mermaid-rendered svg foreignObject,.message-markdown .mermaid-rendered svg foreignObject div,.message-markdown .mermaid-rendered svg foreignObject span{fill:#1d2a3b!important;color:#1d2a3b!important}.message-markdown .mermaid-error{white-space:pre-wrap;word-break:break-word;font-family:Consolas,Menlo,Monaco,monospace;color:#ad3b4c;background:rgba(255,242,244,.95)}.message-markdown .diagram-inline-error{border:1px solid rgba(207,50,73,.28);border-radius:10px;background:rgba(255,244,246,.96);color:#a12c40;font-family:Consolas,Menlo,Monaco,monospace;font-size:13px;line-height:1.5;padding:10px 12px;white-space:pre-wrap;word-break:break-word}.message-markdown .svg-pending,.message-markdown .svg-rendered{margin:4px 0 10px;padding:10px;border:1px solid rgba(128,152,186,.24);border-radius:12px;background:rgba(255,255,255,.98);overflow:auto}.message-markdown .svg-pending pre{margin:0}.message-markdown .svg-rendered svg,.message-markdown>svg{max-width:100%;height:auto;display:block;margin:0 auto}.message-markdown .svg-preview-error{color:#ad3b4c;background:rgba(255,242,244,.95);font-size:13px}.message-markdown blockquote{border-left:3px solid rgba(63,124,255,.42);padding-left:10px;color:#4f6581}.message-markdown table{width:100%;border-collapse:collapse;margin:4px 0 10px;font-size:14px}.message-markdown th,.message-markdown td{border:1px solid rgba(97,123,160,.55);padding:6px 8px;vertical-align:top}.message-markdown th{background:rgba(63,124,255,.12);color:#1f3654;font-weight:700}.message-markdown tbody tr:nth-child(2n){background:rgba(246,250,255,.9)}.thinking-panel{margin-bottom:8px;border:1px solid rgba(128,152,186,.24);border-radius:12px;background:rgba(247,251,255,.95)}.thinking-toggle{width:100%;border:none;background:transparent;color:#375274;display:flex;align-items:center;gap:6px;padding:7px 9px;font-size:13px;font-weight:700;cursor:pointer;text-align:left}.thinking-arrow{width:12px;text-align:center;color:#2f5b95}.thinking-label{line-height:1}.thinking-inline-loader{margin-left:auto;display:inline-flex;align-items:center;gap:4px}.thinking-body{border-top:1px solid rgba(128,152,186,.2);padding:8px 10px;color:#304b69}.thinking-loading{display:inline-flex;align-items:center;gap:6px;padding:0 10px 10px}.thinking-loader-dot{width:6px;height:6px;border-radius:999px;background:#3f7cff;opacity:.35;animation:thinking-loader-pulse 1s infinite ease-in-out}.thinking-loader-dot:nth-child(2){animation-delay:.16s}.thinking-loader-dot:nth-child(3){animation-delay:.32s}@keyframes thinking-loader-pulse{0%,80%,to{transform:scale(.85);opacity:.28}40%{transform:scale(1);opacity:1}}.message-meta-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.message-time{color:#8ea0b7;font-size:11px}.copy-btn{border:1px solid rgba(128,152,186,.2);background:rgba(248,251,255,.95);color:#4b6485;border-radius:8px;width:28px;height:28px;min-width:28px;min-height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color .18s ease,border-color .18s ease,background-color .18s ease}.copy-btn:hover{background:#fff}.copy-btn svg{width:14px;height:14px;display:block}.copy-btn.is-copied{color:#1f8f4d;border-color:#1f8f4d59;background:rgba(234,248,239,.95)}.empty-state{border:1px dashed rgba(128,152,186,.3);border-radius:16px;background:rgba(255,255,255,.66);color:var(--text-muted);text-align:center;padding:22px 16px;width:min(620px,100%);margin:0 auto}.empty-title{color:var(--text-main);font-weight:700;margin-bottom:6px}.empty-subtitle{font-size:13px}.scroll-bottom-btn{position:absolute;right:18px;bottom:14px;z-index:2;border:none;border-radius:999px;padding:8px 12px;background:rgba(27,47,76,.88);color:#fff;font-size:12px;cursor:pointer}.composer-shell{border:1px solid var(--panel-border);border-radius:18px;background:var(--panel-bg);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:15px}.composer-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;color:var(--text-muted);font-size:14px;font-weight:600}.composer-note{color:var(--brand);font-weight:700}.composer-error{margin:-2px 0 8px;color:#dc2626;font-size:13px;line-height:1.35;word-break:break-word}.composer-input-row{display:block}.composer-input-wrap{position:relative;width:100%;min-width:0}.composer-selected-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px}.composer-selected-tag{border:1px solid rgba(128,152,186,.28);border-radius:999px;background:rgba(244,248,255,.98);color:#395577;display:inline-flex;align-items:center;gap:6px;padding:3px 8px;cursor:pointer;max-width:100%}.composer-selected-tag.file{border-color:#436aa547;background:linear-gradient(135deg,rgba(224,239,255,.96),rgba(236,246,255,.94));box-shadow:inset 0 0 0 1px #ffffff73}.composer-selected-tag.attachment{border-color:#4873aa42;background:linear-gradient(135deg,rgba(233,244,255,.96),rgba(242,250,255,.94))}.composer-selected-tag-kind{flex:0 0 auto;font-size:11px;color:#5b7798}.composer-selected-tag-text{min-width:0;max-width:340px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;line-height:1.2}.composer-selected-tag.file .composer-selected-tag-text{font-size:11px;color:#27496f}.composer-selected-tag.file .composer-selected-tag-kind{font-size:10px;color:#3f638d}.composer-selected-tag-close{flex:0 0 auto;color:#6a819f;font-size:12px;line-height:1}.composer-input{width:100%;min-width:0;height:92px;border-radius:14px;border:none;background:var(--input-bg);padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.4;color:var(--text-main);outline:none;box-sizing:border-box;resize:none;overflow-y:auto}.composer-input.with-tags{height:86px}.composer-actions{margin-top:6px;display:flex;justify-content:space-between;align-items:center}.composer-action-group{display:inline-flex;align-items:center;gap:8px}.composer-input::placeholder{color:#91a1b5}.composer-mention-layer{position:absolute;left:0;right:0;bottom:calc(100% + 8px);max-height:280px;overflow:auto;border:1px solid rgba(128,152,186,.26);border-radius:12px;background:rgba(255,255,255,.98);box-shadow:0 12px 28px #3a52702e;z-index:12;padding:6px}.composer-mention-item{width:100%;border:none;border-radius:8px;background:transparent;color:#2d4767;display:flex;align-items:center;gap:8px;text-align:left;cursor:pointer;padding:7px 8px}.composer-mention-item.file{padding-left:18px}.composer-mention-item.active,.composer-mention-item:hover{background:rgba(227,239,255,.92)}.composer-mention-kind{flex:0 0 auto;border-radius:999px;border:1px solid rgba(128,152,186,.28);font-size:11px;color:#557296;padding:1px 7px}.composer-mention-text{min-width:0;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.composer-mention-empty{color:#607a9b;font-size:13px;padding:10px 8px}.composer-mention-empty.danger{color:#b03b4c}.composer-action-circle{width:30px;height:30px;border-radius:50%;border:none;background:#111827;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s ease,opacity .2s ease}.composer-action-arrow{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:10px solid #fff;transform:translateY(-1px)}.composer-action-stop{width:10px;height:10px;border-radius:2px;background:#fff}.composer-action-circle:hover:not(:disabled){transform:translateY(-1px)}.composer-action-circle:disabled{cursor:not-allowed;opacity:.45}.composer-voice-btn{--voice-progress-deg: 0deg;width:30px;height:30px;border-radius:50%;border:1px solid rgba(126,149,182,.34);background:rgba(248,252,255,.96);color:#365f93;display:inline-flex;align-items:center;justify-content:center;position:relative;overflow:visible;cursor:pointer;transition:transform .15s ease,opacity .2s ease,background-color .2s ease,color .2s ease}.composer-voice-btn:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:999px;border:2px solid rgba(126,149,182,.24);pointer-events:none}.composer-voice-btn:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:999px;background:conic-gradient(from -90deg,#3f7cff 0deg,#3f7cff var(--voice-progress-deg),rgba(63,124,255,.12) var(--voice-progress-deg),rgba(63,124,255,.12) 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 2px));opacity:0;pointer-events:none}.composer-voice-btn svg{width:15px;height:15px;position:relative;z-index:2}.composer-voice-btn.recording{background:#2f76ff;border-color:#2f76ff;color:#fff}.composer-voice-btn.recording:after{opacity:1}.composer-voice-btn:hover:not(:disabled){transform:translateY(-1px)}.composer-voice-btn:disabled{cursor:not-allowed;opacity:.45}.composer-hidden-file-input{display:none}.composer-attachment-btn{width:30px;height:30px;border-radius:8px;border:1px solid rgba(126,149,182,.34);background:rgba(248,252,255,.96);color:#365f93;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.composer-attachment-btn svg{width:16px;height:16px}.composer-attachment-btn:disabled{cursor:not-allowed;opacity:.45}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--page-bg)}.login-card{width:min(420px,100%);border:1px solid var(--panel-border);border-radius:18px;background:var(--panel-bg);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:24px}.login-title{margin:0;font-size:24px;color:var(--text-main)}.login-subtitle{margin:10px 0 0;color:var(--text-muted);font-size:13px}.login-form{margin-top:18px;display:flex;flex-direction:column;gap:12px}.login-label{display:flex;flex-direction:column;gap:6px;color:#4e637f;font-size:13px;font-weight:600}.login-input{width:100%;height:40px;border-radius:12px;border:1px solid rgba(128,152,186,.24);background:#fff;color:var(--text-main);padding:0 12px;outline:none}.login-btn{height:40px;margin-top:6px;border:none;border-radius:12px;color:#fff;font-size:14px;font-weight:700;background:linear-gradient(135deg,#3f7cff 0%,#67a0ff 100%);cursor:pointer}.login-btn:disabled{cursor:not-allowed;opacity:.62}.login-error{margin:12px 0 0;color:#bb2e40;font-size:12px}.settings-page{min-height:100vh;display:flex;background:var(--page-bg)}.settings-sidebar{width:260px;min-width:260px;padding:14px 12px;border-right:1px solid var(--panel-border);background:rgba(245,249,255,.9);display:flex;flex-direction:column;gap:8px}.settings-sidebar-header{display:flex;flex-direction:column;gap:8px;margin-bottom:6px}.settings-sidebar-title{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0;font-size:16px;font-weight:700;color:var(--text-main)}.settings-sidebar-user-inline{margin-left:auto;max-width:130px;font-size:12px;font-weight:600;color:#607896;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}.settings-back-btn{width:100%;height:34px;border-radius:10px;border:1px solid rgba(128,152,186,.24);background:rgba(255,255,255,.9);color:#365171;font-weight:700;cursor:pointer}.settings-menu-group{margin-top:8px;color:var(--text-muted);font-size:12px;font-weight:700;padding:0 4px}.settings-menu-item{width:100%;height:36px;border-radius:10px;border:1px solid rgba(128,152,186,.2);background:rgba(255,255,255,.84);color:var(--text-main);font-weight:600;text-align:left;padding:0 10px;cursor:pointer}.settings-menu-item.active{border-color:#3f7cffa6;background:rgba(227,239,255,.95)}.settings-content{flex:1 1 auto;min-width:0;padding:16px 20px}.settings-content-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.settings-content-header-main{min-width:0}.settings-content-header h2{margin:0;font-size:20px;color:var(--text-main)}.settings-content-header p{margin:6px 0 0;color:var(--text-muted);font-size:13px}.settings-header-actions{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.settings-header-icon-btn{width:34px;height:34px;border-radius:10px;border:1px solid rgba(128,152,186,.26);background:rgba(255,255,255,.92);color:#3a587e;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.settings-header-icon-btn svg{width:18px;height:18px}.settings-header-icon-btn:hover{background:#ffffff;border-color:#3f7cff75}.settings-header-icon-btn.danger{color:#b53f53}.settings-header-icon-btn.danger:hover{border-color:#c83f5f75}.settings-panel{margin-top:14px;border:1px solid var(--panel-border);border-radius:16px;background:var(--panel-bg);box-shadow:var(--panel-shadow);padding:14px}.kb-panel{display:flex;flex-direction:column;gap:12px}.kb-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.kb-panel-title{font-size:15px;font-weight:700;color:var(--text-main)}.kb-add-btn{width:30px;height:30px;border-radius:10px;border:1px solid rgba(63,124,255,.35);background:rgba(227,239,255,.95);color:#2b5792;font-size:20px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.kb-add-btn:hover{background:rgba(216,233,255,1)}.kb-bookmark-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.kb-bookmark-card{position:relative;border:1px solid rgba(128,152,186,.24);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,251,255,.98));box-shadow:0 8px 18px #46608214;padding:14px 12px 30px;min-height:108px;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.kb-bookmark-card:before{content:"";position:absolute;top:-1px;left:10px;width:44px;height:7px;border-radius:0 0 7px 7px;background:linear-gradient(90deg,#6ea3ff 0%,#8bb7ff 100%)}.kb-bookmark-title{font-size:14px;font-weight:700;color:var(--text-main);line-height:1.35;word-break:break-all}.kb-bookmark-desc{margin-top:8px;font-size:12px;color:#5a7190;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kb-bookmark-time{margin-top:10px;font-size:11px;color:#8ea0b7}.kb-card-more-btn:hover{background:#fff}.kb-empty{border:1px dashed rgba(128,152,186,.3);border-radius:12px;background:rgba(255,255,255,.7);padding:14px 12px;color:#5a7190;font-size:13px}.kb-back-btn{height:30px;border-radius:9px;border:1px solid rgba(128,152,186,.24);background:rgba(255,255,255,.95);color:#365171;padding:0 10px;font-size:12px;cursor:pointer}.kb-detail-title{font-size:15px;font-weight:700;color:var(--text-main)}.kb-upload-bar{border:1px dashed rgba(128,152,186,.36);border-radius:12px;background:rgba(255,255,255,.8);padding:10px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.kb-upload-btn{height:32px;border-radius:9px;border:none;background:linear-gradient(135deg,#3f7cff 0%,#69a2ff 100%);color:#fff;font-size:13px;font-weight:700;padding:0 12px;cursor:pointer}.kb-upload-hint{font-size:12px;color:#637a98}.kb-file-block{border:1px solid rgba(128,152,186,.2);border-radius:12px;background:rgba(255,255,255,.86);padding:10px}.kb-file-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:8px}.kb-file-check-col{width:44px;min-width:44px;text-align:center!important}.kb-file-check-col input[type=checkbox]{width:14px;height:14px;accent-color:#2f76ff;cursor:pointer}.kb-file-check-col input[type=checkbox]:disabled{cursor:not-allowed;opacity:.45;accent-color:#b4bfd1}.kb-file-search-input{flex:1 1 auto;min-width:0;height:34px;border:1px solid rgba(128,152,186,.26);border-radius:10px;background:rgba(255,255,255,.92);padding:0 10px;color:#2c4565}.kb-file-search-btn{height:34px;border-radius:10px;border:1px solid rgba(128,152,186,.24);background:rgba(255,255,255,.92);color:#365171;padding:0 14px;cursor:pointer}.kb-file-search-btn:disabled{opacity:.62;cursor:not-allowed}.kb-file-batch-btn{height:34px;border-radius:10px;border:1px solid #2f76ff;background:#2f76ff;color:#fff;padding:0 14px;cursor:pointer;white-space:nowrap}.kb-file-batch-btn:disabled{border-color:#a9b4c3;background:#a9b4c3;color:#fff;cursor:not-allowed}.kb-file-batch-delete-btn{height:34px;border-radius:10px;border:1px solid #d3475f;background:#d3475f;color:#fff;padding:0 14px;cursor:pointer;white-space:nowrap}.kb-file-batch-delete-btn:disabled{border-color:#a9b4c3;background:#a9b4c3;color:#fff;cursor:not-allowed}.kb-file-batch-download-btn{height:34px;border-radius:10px;border:1px solid #2f9e5f;background:#2f9e5f;color:#fff;padding:0 14px;cursor:pointer;white-space:nowrap}.kb-file-batch-download-btn:disabled{border-color:#a9b4c3;background:#a9b4c3;color:#fff;cursor:not-allowed}.kb-file-table{margin-top:0}.kb-file-action-cell{white-space:nowrap}.kb-file-row-readonly td{background:rgba(247,250,255,.76)}.kb-action-readonly{opacity:.92}.kb-vector-status{color:#cc3446}.kb-vector-status.is-processing{color:#2f76ff}.kb-vector-status.is-success{color:#2f9e5f}.kb-vector-status.is-pending{color:#cc3446}.settings-table .kb-vectorize-btn.is-primary{background:#2f76ff;border-color:#2f76ff;color:#fff}.settings-table .kb-vectorize-btn.is-disabled{background:#a9b4c3;border-color:#a9b4c3;color:#fff}.settings-table .kb-vectorize-btn.is-primary:disabled,.settings-table .kb-vectorize-btn.is-disabled:disabled{opacity:1;color:#fff}.settings-table .kb-file-action-cell button:disabled{cursor:not-allowed;opacity:.62}.settings-table .kb-file-action-cell button.danger:disabled{border-color:#a8b3c580;background:rgba(243,246,251,.9);color:#97a6ba}.kb-file-empty{color:#6a809d;font-size:13px}.kb-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(27,47,76,.28);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:50;padding:18px}.kb-modal{width:min(560px,100%);border:1px solid var(--panel-border);border-radius:16px;background:var(--panel-bg);box-shadow:var(--panel-shadow);padding:14px}.kb-modal-title{margin-bottom:12px;color:var(--text-main);font-size:16px;font-weight:700}.kb-create-form{grid-template-columns:1fr}.modal-inline-form{display:flex;flex-direction:column;gap:10px}.modal-inline-row{display:flex;align-items:flex-start;gap:10px}.modal-inline-label{width:108px;min-width:108px;color:#4b6280;font-size:13px;font-weight:700;line-height:34px;text-align:right}.modal-inline-control{flex:1 1 auto;min-width:0}.modal-inline-control input,.modal-inline-control textarea,.modal-inline-control select{width:100%;border:1px solid rgba(128,152,186,.2);border-radius:10px;padding:8px 10px;font-size:13px;color:var(--text-main);background:#fff;box-sizing:border-box}.modal-inline-control select[multiple]{min-height:90px}.modal-inline-check-group{display:flex;align-items:center;gap:14px;min-height:34px;flex-wrap:nowrap;white-space:nowrap}.modal-inline-check{display:inline-flex;align-items:center;gap:6px;color:#4b6280;font-size:13px;font-weight:600;white-space:nowrap;flex:0 0 auto}.kb-modal-actions{display:flex;justify-content:flex-end;gap:8px}.kb-modal-actions button{width:auto;min-width:86px;padding:0 14px}.kb-modal-actions .secondary{border:1px solid rgba(128,152,186,.24);background:rgba(255,255,255,.9);color:#365171}.settings-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.settings-form-grid label{display:flex;flex-direction:column;gap:6px;color:#4b6280;font-size:13px;font-weight:600}.settings-form-grid input,.settings-form-grid textarea,.settings-form-grid select{width:100%;border:1px solid rgba(128,152,186,.2);border-radius:10px;padding:8px 10px;font-size:13px;color:var(--text-main);background:#fff}.settings-form-grid select[multiple]{min-height:90px}.settings-form-grid .checkbox-line{flex-direction:row;align-items:center;gap:6px}.settings-form-grid .checkbox-line input{width:auto}.settings-form-grid button{height:36px;border-radius:10px;border:none;color:#fff;font-size:13px;font-weight:700;background:linear-gradient(135deg,#3f7cff 0%,#69a2ff 100%);cursor:pointer}.settings-form-grid button:disabled{cursor:not-allowed;opacity:.62}.settings-table-wrapper{margin-top:12px;overflow:auto}.settings-table-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:10px}.settings-search-input{flex:1 1 auto;min-width:0;height:34px;border:1px solid rgba(128,152,186,.24);border-radius:10px;background:rgba(255,255,255,.94);color:#2d4767;padding:0 10px}.settings-search-btn,.settings-add-btn{height:34px;border-radius:10px;padding:0 14px;cursor:pointer;white-space:nowrap}.settings-search-btn{border:1px solid rgba(128,152,186,.24);background:rgba(255,255,255,.92);color:#365171}.settings-add-btn{border:1px solid #2f76ff;background:#2f76ff;color:#fff}.settings-search-btn:hover,.settings-add-btn:hover{transform:translateY(-1px)}.settings-table{width:100%;border-collapse:collapse;font-size:13px}.settings-table th,.settings-table td{border:1px solid rgba(101,126,161,.45);padding:8px;text-align:left;vertical-align:middle}.settings-table th{background:rgba(63,124,255,.12);color:#1f3654}.settings-table button{height:28px;border-radius:8px;border:1px solid rgba(128,152,186,.24);background:rgba(255,255,255,.92);color:#365171;cursor:pointer;margin-right:6px}.settings-table button.danger{border-color:#c04f6057;color:#b03b4c}.settings-table-empty{text-align:center!important;color:#6f86a3}.settings-error{margin-top:10px;color:#bb2e40;font-size:13px}.settings-success{margin-top:10px;color:#2f7c50;font-size:13px}@media (max-width: 900px){.chat-sidebar{width:86px;min-width:86px;padding:8px}.sidebar-title,.new-chat-text,.history-header,.history-title,.history-meta,.history-empty{display:none}.history-item{height:34px;padding:0}.history-actions,.history-msg-icon{display:none}.chat-main{padding:8px}.stage-meta{font-size:11px}.settings-page{flex-direction:column}.settings-sidebar{width:100%;min-width:0;border-right:none;border-bottom:1px solid var(--panel-border)}}.kb-bookmark-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.kb-bookmark-card{position:relative;border:1px solid rgba(128,152,186,.24);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,251,255,.98));box-shadow:0 8px 18px #46608214;padding:14px 12px 34px;min-height:156px;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.kb-bookmark-card:hover,.kb-bookmark-card:focus-visible{transform:translateY(-1px);border-color:#4d7bc475;box-shadow:0 12px 22px #46608221}.kb-bookmark-card.readonly{opacity:.92}.kb-bookmark-creator{margin-top:8px;font-size:12px;color:#5d7697}.kb-readonly-badge{position:absolute;top:10px;right:10px;border-radius:999px;border:1px solid rgba(176,126,48,.35);background:rgba(255,246,225,.95);color:#8f651e;font-size:11px;padding:1px 8px}.kb-card-actions{position:absolute;right:8px;bottom:6px}.kb-card-more-btn{width:24px;height:22px;border:1px solid rgba(128,152,186,.24);border-radius:7px;background:rgba(255,255,255,.94);color:#496588;font-size:12px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s ease,background-color .15s ease}.kb-bookmark-card:hover .kb-card-more-btn,.kb-bookmark-card:focus-within .kb-card-more-btn{opacity:1;pointer-events:auto}.kb-card-menu{position:absolute;right:0;bottom:26px;min-width:102px;border-radius:10px;border:1px solid rgba(128,152,186,.24);background:#fff;box-shadow:0 10px 20px #46608229;padding:4px;z-index:3}.kb-card-menu-btn{width:100%;height:30px;border:none;border-radius:8px;background:transparent;color:#3d5677;font-size:12px;text-align:left;padding:0 8px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.kb-card-menu-btn:hover{background:rgba(236,242,251,.9)}.kb-card-menu-btn.danger{color:#b63c50}.kb-card-menu-icon{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center}.kb-card-menu-icon svg{width:14px;height:14px}.kb-card-menu-icon.danger{color:#cf3249}.kb-detail-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.kb-detail-creator{font-size:12px;color:#607a9b}.kb-upload-dropzone{border:1px dashed rgba(128,152,186,.4);border-radius:14px;background:rgba(255,255,255,.82);padding:18px 14px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.kb-upload-dropzone.active{border-color:#3f7cffad;background:rgba(232,241,255,.95)}.kb-upload-input{display:none}.kb-cloud-icon{width:54px;height:54px;color:#4c78b2;display:inline-flex;align-items:center;justify-content:center}.kb-cloud-icon svg{width:54px;height:54px}.kb-upload-title{color:#284363;font-size:15px;font-weight:700}.kb-upload-subtitle{color:#6280a4;font-size:12px}.kb-upload-btn{height:34px;border-radius:10px;border:none;color:#fff;font-size:13px;font-weight:700;background:linear-gradient(135deg,#3f7cff 0%,#69a2ff 100%);cursor:pointer;padding:0 14px}.kb-upload-btn:disabled{cursor:not-allowed;opacity:.62}.kb-upload-progress{width:min(360px,100%);margin-top:8px}.kb-upload-progress-track{width:100%;height:8px;border-radius:999px;background:rgba(163,183,210,.32);overflow:hidden}.kb-upload-progress-fill{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#3f7cff 0%,#58a1ff 100%);transition:width .2s ease}.kb-upload-progress-text{margin-top:4px;font-size:12px;color:#517198}.kb-readonly-tip{border:1px dashed rgba(182,128,46,.45);border-radius:12px;background:rgba(255,247,231,.86);color:#7e5d20;font-size:13px;padding:12px}*,*:before,*:after{box-sizing:border-box}html,body,#app{margin:0;padding:0;min-height:100%}body{font-family:Plus Jakarta Sans,Noto Sans SC,Segoe UI,sans-serif;color:var(--text-main);background:var(--page-bg)}code{font-family:JetBrains Mono,Consolas,monospace}
