:root{--ink:#172326;--muted:#788487;--line:#e1e8e7;--paper:#f7f9f8;--white:#fff;--teal:#126c68;--teal-dark:#0d514f;--coral:#e78364;--gold:#d6a84f}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Microsoft YaHei",sans-serif;font-size:14px}button,input,textarea{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit}#app{display:flex;min-height:100vh}.sidebar{width:240px;background:#123b3b;color:#dcebea;padding:27px 16px 16px;display:flex;flex-direction:column}.brand{font-size:20px;font-weight:700;display:grid;grid-template-columns:32px 1fr;align-items:center;margin:0 10px 28px}.brand small{grid-column:2;font-size:9px;letter-spacing:.08em;font-weight:400;color:#86aaa7;margin-top:3px}.brand-mark,.welcome-mark,.message-avatar{background:var(--coral);color:#fff;display:grid;place-items:center;font-weight:800}.brand-mark{width:28px;height:28px;border-radius:7px;font-size:15px;grid-row:span 2}.new-chat{background:var(--coral);color:#fff;padding:12px 14px;text-align:left;border-radius:4px;font-weight:700;margin:0 2px 28px}.nav-label,.context-label{font-size:10px;letter-spacing:.12em;color:#8ca9a7;text-transform:uppercase}.nav-label{margin:0 10px 9px}.nav-item,.library-item{width:100%;padding:10px;border-radius:4px;text-align:left;color:#b7d1ce;margin:2px 0}.nav-item span{margin-right:9px}.nav-item.active{background:#295354;color:#fff}.library-heading{display:flex;justify-content:space-between;align-items:center;margin-top:26px}.icon-button{color:inherit;padding:5px;font-size:16px}.library-item{display:flex;align-items:center;gap:8px;font-size:13px}.library-item.selected{background:#295354;color:#fff}.library-item em{font-size:11px;color:#8ca9a7;font-style:normal;margin-left:auto}.library-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none}.sidebar-bottom{margin-top:auto;border-top:1px solid #2b5555;padding:16px 7px 0}.account{display:flex;align-items:center;gap:9px}.avatar{background:#d4b88b;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#634b2a}.account b,.account small{display:block}.account small{color:#86aaa7;font-size:11px;margin-top:2px}.account .icon-button{margin-left:auto}.main-panel{flex:1;min-width:0}.topbar{height:92px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 34px}.eyebrow{font-size:10px;letter-spacing:.14em;color:var(--teal);font-weight:700}.topbar h1{font:700 24px Georgia,serif;margin:5px 0 0}.top-actions{display:flex;align-items:center;gap:20px}.connection{font-size:12px;color:#54706d}.connection i,.state-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#45a576;margin-right:6px}.secondary-button,.primary-button{padding:9px 14px;border:1px solid var(--line);border-radius:3px;background:#fff}.primary-button{background:var(--teal);border-color:var(--teal);color:#fff}.workspace{display:flex;max-width:1500px;margin:auto;height:calc(100vh - 92px)}.chat-column{flex:1;min-width:500px;display:flex;flex-direction:column;position:relative}.chat-toolbar{height:74px;padding:18px 34px 12px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.context-label{display:block;color:#899795;margin-bottom:5px}.library-select{font-weight:700}.toolbar-actions{display:flex;gap:7px}.bordered{border:1px solid var(--line);background:#fff;border-radius:3px;color:var(--muted)}.library-menu{position:absolute;z-index:3;top:65px;left:34px;width:220px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 25px #183a3a15;padding:6px}.library-menu button{width:100%;padding:10px;text-align:left;display:flex;justify-content:space-between}.library-menu button:hover{background:#edf5f3}.library-menu span{color:var(--muted);font-size:11px}.messages{flex:1;overflow:auto;padding:34px 11%;}.welcome{text-align:center;padding:45px 0 40px}.welcome-mark{width:44px;height:44px;margin:auto;border-radius:11px;font-size:22px}.welcome h2{font:700 27px Georgia,serif;margin:16px 0 6px}.welcome p{color:var(--muted);margin:0}.suggestions{display:flex;justify-content:center;gap:8px;margin-top:26px;flex-wrap:wrap}.suggestions button{border:1px solid var(--line);background:#fff;padding:9px 12px;border-radius:3px;color:#536764;font-size:12px}.message-row{display:flex;gap:12px;margin:20px 0}.message-row.user{justify-content:flex-end}.message-row.user .message-body{max-width:75%;background:#eaf2ef;padding:11px 14px;border-radius:4px}.message-avatar{width:28px;height:28px;border-radius:7px;flex:none;font-size:12px}.message-body{max-width:85%}.message-meta{font-size:11px;color:#677976;margin-bottom:7px}.message-meta span{color:#a2aeac;margin-left:7px}.message-content{line-height:1.7}.message-content strong{font-weight:700}.sources{border-top:1px solid var(--line);margin-top:12px;padding-top:9px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.sources span{font-size:11px;color:var(--muted)}.sources button{font-size:11px;color:var(--teal);background:#edf5f3;padding:5px 7px}.typing{display:flex;gap:4px;padding:7px 0}.typing i{width:6px;height:6px;border-radius:50%;background:var(--coral);animation:blink 1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes blink{50%{opacity:.25}}.composer{padding:16px 11% 22px;background:linear-gradient(transparent,var(--paper) 18%)}.composer-box{background:#fff;border:1px solid #cfdcda;box-shadow:0 3px 12px #173d3d0b}.composer textarea{display:block;width:100%;height:62px;border:0;padding:15px;resize:none;outline:0}.composer-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:8px 10px;color:#9aa8a5;font-size:11px}.send-button{background:var(--teal);color:#fff;padding:8px 13px;border-radius:3px}.send-button:disabled{opacity:.4}.disclaimer{text-align:center;color:#a3aeac;font-size:10px;margin:9px 0 0}.inspector{width:315px;background:#fff;border-left:1px solid var(--line);padding:25px 22px;overflow:auto}.inspector-head{display:flex;justify-content:space-between}.inspector h2,.modal h2{font:700 20px Georgia,serif;margin:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);padding:20px 0;border-bottom:1px solid var(--line)}.stats div+div{border-left:1px solid var(--line);padding-left:12px}.stats b,.stats span{display:block}.stats b{font-size:18px}.stats span{font-size:10px;color:var(--muted);margin-top:5px}.search-box{display:flex;align-items:center;border:1px solid var(--line);padding:8px 9px;gap:7px;margin:18px 0;color:#91a09d}.search-box input{border:0;outline:0;min-width:0;width:100%;font-size:12px}.search-box kbd{font-size:10px;color:#aab6b3;border:1px solid var(--line);padding:1px 4px}.doc-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;margin:18px 0 10px}.text-button{color:var(--teal);font-size:11px}.doc-item{display:flex;align-items:center;width:100%;gap:9px;padding:10px 4px;border-bottom:1px solid #edf1f0;text-align:left}.doc-item>span:nth-child(2){min-width:0}.doc-item b,.doc-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-item b{font-size:12px}.doc-item small{font-size:10px;color:var(--muted);margin-top:3px}.file-icon{width:25px;height:29px;display:grid;place-items:center;background:#f6e4dc;color:#af6b51;font-size:9px;font-weight:700;flex:none}.doc-more{margin-left:auto;color:#9daaa8;letter-spacing:2px}.empty{padding:30px;text-align:center;color:var(--muted);font-size:12px}.upload-button{width:100%;border:1px dashed #b8cdca;color:var(--teal);padding:10px;margin-top:14px}.retrieval{border-top:1px solid var(--line);margin-top:23px;padding-top:4px}.status-pill{color:#3b8b68;background:#e5f3eb;padding:3px 6px;font-size:10px;font-weight:400}.retrieval label{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:14px}.retrieval strong{color:var(--ink)}.retrieval input{width:100%;accent-color:var(--teal)}.modal-backdrop{position:fixed;inset:0;background:#153c3c44;display:grid;place-items:center;padding:20px;z-index:5}.modal{background:#fff;width:min(720px,100%);max-height:85vh;overflow:auto;padding:28px;box-shadow:0 20px 60px #0b282844}.modal-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px}.modal-note{color:var(--muted);font-size:12px;line-height:1.6}.field{display:block;color:#627572;font-size:12px;margin:18px 0}.field input{display:block;width:100%;border:1px solid var(--line);padding:11px;margin-top:7px;outline:0}.field input:focus{border-color:var(--teal)}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:25px}.manager-toolbar{display:flex;gap:10px;margin:20px 0}.manager-toolbar .search-box{margin:0;flex:1}.table-row{display:grid;grid-template-columns:2fr 1fr 1fr 50px;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.table-header{font-size:10px;color:var(--muted);font-weight:700}.table-doc{display:flex;align-items:center;gap:8px;min-width:0}.table-doc b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.state-dot.green{background:#45a576}.state-dot.yellow{background:var(--gold)}.modal-foot{color:var(--muted);font-size:11px;margin-top:16px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#153c3c;color:#fff;padding:11px 18px;box-shadow:0 6px 20px #0002;font-size:12px;z-index:9}@media(max-width:900px){.sidebar{width:190px}.inspector{display:none}.messages,.composer{padding-left:8%;padding-right:8%}}@media(max-width:650px){.sidebar{display:none}.topbar{padding:0 18px}.top-actions .secondary-button{display:none}.chat-column{min-width:0}.messages,.composer{padding-left:18px;padding-right:18px}.welcome{padding-top:25px}.suggestions{justify-content:flex-start}.suggestions button{width:100%;text-align:left}.table-row{grid-template-columns:1.8fr 1fr 46px}.table-row>span:nth-child(3){display:none}}

/* 知识库列表卡片化，避免名称在窄侧栏里被操作按钮挤压成竖排 */
.library-row{display:grid;grid-template-columns:1fr;gap:7px;margin:7px 0;border-radius:10px;padding:9px;background:#173f40;border:1px solid #265959}.library-row.selected{background:#245556;border-color:#4d7a77;box-shadow:inset 3px 0 0 var(--coral)}.library-row .library-item{margin:0;min-width:0;padding:0;display:grid;grid-template-columns:10px minmax(0,1fr);align-items:center;column-gap:8px}.library-row .library-item>span:nth-child(2){min-width:0}.library-row .library-manage,.library-row .library-action{grid-column:1;grid-row:2;width:calc((100% - 12px)/3);border:1px solid #3a6665;color:#cfe2df;font-size:11px;padding:7px 0;border-radius:6px;min-height:30px;background:#143b3c}.library-row .library-manage{justify-self:start;color:#fff;border-color:#5b8c88}.library-row .library-action:not(.danger){justify-self:center}.library-row .library-action.danger{justify-self:end;color:#f2c6ba}

/* 知识库新增/编辑弹窗：替代浏览器 prompt，避免按钮点击后没有明显反馈 */
.library-editor-card{width:min(560px,100%)}
.field textarea{display:block;width:100%;min-height:92px;border:1px solid var(--line);padding:11px;margin-top:7px;outline:0;resize:vertical}
.field textarea:focus{border-color:var(--teal)}
.form-error{background:#fff0ea;border:1px solid #f1b8a5;color:#a94f36;padding:10px 12px;border-radius:4px;font-size:12px}
