@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&family=Montserrat:wght@700&display=swap");:root{color-scheme:dark;--bg:#000000;--bg-glow:#0f0f0f;--bg-soft:#111111;--bg-panel:#0a0a0a;--sidebar-bg:rgba(0,0,0,0.85);--line:#2f2f2f;--line-strong:#3c3c3c;--text:#ececec;--text-soft:rgba(255,255,255,0.5);--accent:#ffffff;--brand-glow:rgba(255,255,255,0.28);--user-bubble:#1e2a45;--user-bubble-border:#2e3f63;--assistant-bubble:transparent;--thinking-dot:rgba(242,243,246,0.7);--caret-color:rgba(242,243,246,0.6);--send-bg:#ffffff;--send-color:#000000;--send-bg-disabled:rgba(255,255,255,0.12);--composer-bg:#111111;--composer-border:#333333;--composer-border-focus:rgba(255,255,255,0.5);--composer-shadow-focus:0 0 0 3px rgba(255,255,255,0.08);--avatar-bg:#1a1a1a;--avatar-border:#333333;--chip-bg:transparent;--chip-border:#2e2e2e;--chip-border-hover:#555555;--focus-ring-border:rgba(255,255,255,0.85);--focus-ring-shadow:0 0 0 3px rgba(255,255,255,0.18);--placeholder-color:rgba(255,255,255,0.35)}@media (prefers-color-scheme:light){:root{color-scheme:light;--bg:#ffffff;--bg-glow:#f5f5f5;--bg-soft:#fafafa;--bg-panel:#ffffff;--sidebar-bg:rgba(248,248,248,0.95);--line:#e8e8e8;--line-strong:#d4d4d4;--text:#111111;--text-soft:rgba(0,0,0,0.45);--accent:#111111;--brand-glow:rgba(0,0,0,0.15);--user-bubble:#eef2ff;--user-bubble-border:#d4dcf7;--assistant-bubble:transparent;--thinking-dot:rgba(16,18,26,0.45);--caret-color:rgba(16,18,26,0.45);--send-bg:#111111;--send-color:#ffffff;--send-bg-disabled:rgba(0,0,0,0.1);--composer-bg:#ffffff;--composer-border:#e0e0e0;--composer-border-focus:rgba(0,0,0,0.4);--composer-shadow-focus:0 0 0 3px rgba(0,0,0,0.06);--avatar-bg:#f0f0f0;--avatar-border:#e0e0e0;--chip-bg:transparent;--chip-border:#e0e0e0;--chip-border-hover:#aaaaaa;--focus-ring-border:rgba(0,0,0,0.65);--focus-ring-shadow:0 0 0 3px rgba(0,0,0,0.08);--placeholder-color:rgba(0,0,0,0.35)}}html[data-theme=dark]{color-scheme:dark;--bg:#000000;--bg-glow:#0f0f0f;--bg-soft:#111111;--bg-panel:#0a0a0a;--sidebar-bg:rgba(0,0,0,0.85);--line:#2f2f2f;--line-strong:#3c3c3c;--text:#ececec;--text-soft:rgba(255,255,255,0.5);--accent:#ffffff;--brand-glow:rgba(255,255,255,0.28);--user-bubble:#1e2a45;--user-bubble-border:#2e3f63;--thinking-dot:rgba(242,243,246,0.7);--caret-color:rgba(242,243,246,0.6);--send-bg:#ffffff;--send-color:#000000;--send-bg-disabled:rgba(255,255,255,0.12);--composer-bg:#111111;--composer-border:#333333;--composer-border-focus:rgba(255,255,255,0.5);--composer-shadow-focus:0 0 0 3px rgba(255,255,255,0.08);--avatar-bg:#1a1a1a;--avatar-border:#333333;--chip-bg:transparent;--chip-border:#2e2e2e;--chip-border-hover:#555555;--focus-ring-border:rgba(255,255,255,0.85);--focus-ring-shadow:0 0 0 3px rgba(255,255,255,0.18);--placeholder-color:rgba(255,255,255,0.35)}html[data-theme=light]{color-scheme:light;--bg:#ffffff;--bg-glow:#f5f5f5;--bg-soft:#fafafa;--bg-panel:#ffffff;--sidebar-bg:rgba(248,248,248,0.95);--line:#e8e8e8;--line-strong:#d4d4d4;--text:#111111;--text-soft:rgba(0,0,0,0.45);--accent:#111111;--brand-glow:rgba(0,0,0,0.15);--user-bubble:#eef2ff;--user-bubble-border:#d4dcf7;--thinking-dot:rgba(16,18,26,0.45);--caret-color:rgba(16,18,26,0.45);--send-bg:#111111;--send-color:#ffffff;--send-bg-disabled:rgba(0,0,0,0.1);--composer-bg:#ffffff;--composer-border:#e0e0e0;--composer-border-focus:rgba(0,0,0,0.4);--composer-shadow-focus:0 0 0 3px rgba(0,0,0,0.06);--avatar-bg:#f0f0f0;--avatar-border:#e0e0e0;--chip-bg:transparent;--chip-border:#e0e0e0;--chip-border-hover:#aaaaaa;--focus-ring-border:rgba(0,0,0,0.65);--focus-ring-shadow:0 0 0 3px rgba(0,0,0,0.08);--placeholder-color:rgba(0,0,0,0.35)}html[data-theme=light] .navItem.active{color:#000000;border-color:rgba(0,0,0,.25);background:rgba(0,0,0,.04)}html[data-theme=light] .navItem.active .navMeta{color:rgba(0,0,0,.55)}*{box-sizing:border-box}body{margin:0;font-family:SF Pro Text,Inter,Segoe UI,Helvetica Neue,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.workspace{height:100vh;display:grid;grid-template-columns:72px 1fr;overflow:hidden}.sidebar{border-right:1px solid var(--line);background:var(--sidebar-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:1rem .5rem;gap:0;overflow-y:auto}.brand,.sidebar{display:flex;flex-direction:column}.brand{align-items:center;gap:.4rem;margin-bottom:1.2rem}.brandSubtitle,.brandTitle{display:none}.brandDot{width:10px;height:10px;border-radius:999px;background:var(--accent);box-shadow:0 0 16px var(--brand-glow)}.nav{flex-direction:column;gap:.4rem}.nav,.navItem{display:flex;align-items:center}.navItem{text-align:center;border:1px solid transparent;border-radius:10px;padding:0;width:42px;height:42px;background:transparent;color:var(--text);cursor:pointer;font-size:.95rem;font-weight:600;transition:opacity .12s ease,background .12s ease,border-color .12s ease;justify-content:center;opacity:.55;position:relative}.navItem:hover{opacity:.9;background:rgba(128,128,128,.1)}.navItem.active{opacity:1;background:rgba(128,128,128,.12);border-color:var(--line-strong)}.navMeta{display:none}.navIcon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}.navText{display:none}.navTitle{font-weight:700;line-height:1.1}.themeBox{margin-top:auto;padding-top:1rem;border-top:1px solid var(--line);flex-direction:column;gap:.4rem}.themeBox,.themeIconButton{display:flex;align-items:center}.themeIconButton{width:38px;height:38px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text);justify-content:center;cursor:pointer;opacity:.45;transition:opacity .12s ease,background .12s ease,border-color .12s ease}.themeIconButton:hover{opacity:.9;background:rgba(128,128,128,.1)}.themeIconButton.active{opacity:1;background:rgba(128,128,128,.12);border-color:var(--line-strong)}.langBox{padding-top:.6rem;border-top:1px solid var(--line);flex-direction:column;gap:.3rem}.langBox,.langButton{display:flex;align-items:center}.langButton{width:38px;height:28px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text);justify-content:center;cursor:pointer;opacity:.4;font-size:11px;font-weight:700;letter-spacing:.3px;font-family:Poppins,sans-serif;transition:opacity .12s ease,background .12s ease,border-color .12s ease}.langButton:hover{opacity:.85;background:rgba(128,128,128,.1)}.langButton.active{opacity:1;background:rgba(128,128,128,.12);border-color:var(--line-strong)}.chatPanel,.mainPane{display:flex;flex-direction:column;min-height:0;overflow:hidden}.chatPanel{flex:1 1}.messages{flex:1 1;overflow-y:auto;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.messages::-webkit-scrollbar{width:5px}.messages::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}.emptyState{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem 1rem;text-align:center;gap:.75rem}.emptyStateIcon{font-size:2rem;opacity:.7;margin-bottom:.25rem;line-height:1}.emptyStateTitle{font-size:1.65rem;font-weight:600;margin:0;letter-spacing:-.025em;color:var(--text)}.emptyStateSubtitle{color:var(--text-soft);margin:0;font-size:.95rem;line-height:1.5}.suggestionChips{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.75rem;max-width:560px}.suggestionChip{background:var(--chip-bg);border:1px solid var(--chip-border);border-radius:999px;padding:.45rem .9rem;font-size:.82rem;color:var(--text-soft);cursor:pointer;transition:border-color .12s ease,color .12s ease,transform .12s ease,background .12s ease;font-weight:500;font-family:inherit;line-height:1.4}.suggestionChip:hover{border-color:var(--chip-border-hover);color:var(--text);transform:translateY(-1px);background:rgba(128,128,128,.06)}.messagesList{padding:2rem 1.5rem 1.5rem;max-width:800px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:1.75rem}@keyframes messageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.messageRow{display:flex;gap:.75rem;align-items:flex-start;animation:messageIn .2s ease forwards}.messageRow.user{justify-content:flex-end}.messageRow.assistant{justify-content:flex-start}.avatar{width:28px;height:28px;border-radius:50%;border:1px solid var(--avatar-border);background:var(--avatar-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:3px;font-size:.78rem;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.assistantAvatar{color:var(--text);opacity:.85}.bubble{max-width:min(640px,calc(100% - 42px));line-height:1.65;font-size:.94rem;white-space:pre-wrap;color:var(--text);word-break:break-word}.bubble.user{background:var(--user-bubble);border:1px solid var(--user-bubble-border);padding:.6rem .95rem;border-radius:18px 18px 4px 18px}.bubble.assistant{background:transparent;border:none;padding:.1rem 0}.thinkingDots{display:inline-flex;gap:5px;align-items:center;padding:.2rem 0}.thinkingDot{width:6px;height:6px;border-radius:999px;background:var(--thinking-dot);animation:dotPulse 1.1s ease-in-out infinite}.thinkingDot:nth-child(2){animation-delay:.15s}.thinkingDot:nth-child(3){animation-delay:.3s}@keyframes dotPulse{0%,to{opacity:.25;transform:translateY(0)}45%{opacity:.9;transform:translateY(-3px)}}.caret{display:inline-block;margin-left:1px;color:var(--caret-color);animation:caretBlink 1s steps(1) infinite}@keyframes caretBlink{0%,49%{opacity:1}50%,to{opacity:0}}.composerArea{padding:.75rem 1.5rem 1.25rem;max-width:800px;width:100%;margin:0 auto}.composerBar{display:flex;align-items:flex-end;gap:.5rem;padding:.6rem .6rem .6rem 1rem;border-radius:16px;border:1px solid var(--composer-border);background:var(--composer-bg);transition:border-color .14s ease,box-shadow .14s ease}.composerBar:focus-within{border-color:var(--composer-border-focus);box-shadow:var(--composer-shadow-focus)}.composerInput{flex:1 1;background:transparent;border:none;outline:none;color:var(--text);font-size:.95rem;line-height:1.55;resize:none;min-height:24px;max-height:200px;overflow-y:auto;font-family:inherit;padding:0;display:block;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.composerInput::placeholder{color:var(--placeholder-color)}.composerInput:disabled{opacity:.6;cursor:not-allowed}.composerHint{font-size:.7rem;color:var(--text-soft);opacity:.45;text-align:center;margin:.45rem 0 0;letter-spacing:.01em}.sendIconButton{width:34px;height:34px;border-radius:10px;border:none;background:var(--send-bg);color:var(--send-color);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;flex-shrink:0;transition:opacity .12s ease,transform .12s ease}.sendIconButton:disabled{background:var(--send-bg-disabled);color:var(--text-soft);cursor:not-allowed;transform:none}.sendIconButton:hover:not(:disabled){opacity:.88;transform:scale(1.04)}.addIconButton{width:34px;height:34px;border-radius:8px;border:1px solid var(--composer-border);background:transparent;color:var(--text-soft);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:border-color .12s ease,color .12s ease,transform .12s ease;padding:0}.addIconButton:hover:not(:disabled){border-color:var(--composer-border-focus);color:var(--text);transform:scale(1.04)}.addIconButton:disabled{opacity:.4;cursor:not-allowed}.modelSelector{display:flex;align-items:center;gap:.5rem;margin-bottom:.45rem;flex-wrap:wrap}.modelPills{display:flex;background:var(--bg-soft,#111111);border:1px solid var(--line,#2f2f2f);padding:3px}.modelPill,.modelPills{gap:.3rem;border-radius:999px}.modelPill{display:inline-flex;align-items:center;padding:4px 11px;border:none;background:transparent;color:var(--text-soft);font-size:.78rem;font-weight:500;cursor:pointer;font-family:inherit;transition:background .14s ease,color .14s ease;white-space:nowrap}.modelPill:hover:not(.active){color:var(--text);background:rgba(128,128,128,.1)}.modelPill.active{background:var(--accent);color:var(--bg);font-weight:600}html[data-theme=light] .modelPill.active{background:#111111;color:#ffffff}.noKeyHint{background:none;border:none;padding:0;font-size:.75rem;color:rgba(239,68,68,.75);cursor:pointer;font-family:inherit;transition:color .12s;white-space:nowrap}.noKeyHint:hover{color:rgb(239,68,68)}.apiKeyRow{display:flex;align-items:center;gap:.5rem;margin-bottom:.45rem}.apiKeyInput{flex:1 1;background:var(--composer-bg);border:1px solid var(--composer-border);border-radius:8px;padding:6px 10px;color:var(--text);font-size:.82rem;font-family:monospace;outline:none;transition:border-color .14s}.apiKeyInput:focus{border-color:var(--composer-border-focus)}.apiKeyInput::placeholder{color:var(--placeholder-color)}.apiKeyDone{padding:5px 12px;border-radius:7px;border:1px solid var(--line-strong);background:transparent;color:var(--text);font-size:.78rem;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .12s,border-color .12s}.apiKeyDone:hover{background:rgba(128,128,128,.1);border-color:var(--composer-border-focus)}.uploadInlineStatus{margin:0 0 .5rem;font-size:.8rem;color:var(--text-soft);text-align:right}.kbPanel{display:flex;flex-direction:column;flex:1 1;min-height:0;overflow:hidden;padding:2rem 2rem 1.5rem;max-width:800px;width:100%;margin:0 auto}.kbHeader{justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.kbHeader,.kbHeaderTitle{display:flex;align-items:center}.kbHeaderTitle{gap:.6rem}.kbTitle{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin:0;color:var(--text)}.kbBadge{background:var(--line-strong);color:var(--text-soft);font-size:.72rem;font-weight:600;padding:.15rem .5rem;border-radius:999px;line-height:1.5}.kbActions{display:flex;gap:.5rem}.kbActions,.kbBtn{align-items:center}.kbBtn{display:inline-flex;gap:.35rem;padding:.45rem .85rem;border-radius:8px;border:1px solid var(--line-strong);background:transparent;color:var(--text);font-size:.82rem;font-weight:600;cursor:pointer;transition:border-color .12s ease,background .12s ease,opacity .12s ease;font-family:inherit}.kbBtn:hover:not(:disabled){border-color:var(--composer-border-focus);background:rgba(128,128,128,.08)}.kbBtn:disabled{opacity:.45;cursor:not-allowed}.kbBtnDanger{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .85rem;border-radius:8px;border:1px solid rgba(220,60,60,.35);background:transparent;color:rgba(220,80,80,.9);font-size:.82rem;font-weight:600;cursor:pointer;transition:border-color .12s ease,background .12s ease,opacity .12s ease;font-family:inherit}.kbBtnDanger:hover:not(:disabled){border-color:rgba(220,60,60,.7);background:rgba(220,60,60,.07)}.kbBtnDanger:disabled{opacity:.35;cursor:not-allowed}.kbUploadStatus{margin:0 0 1rem;font-size:.8rem;color:var(--text-soft)}.kbDocList{flex:1 1;overflow-y:auto;display:flex;flex-direction:column;gap:.4rem;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.kbDocList::-webkit-scrollbar{width:5px}.kbDocList::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}.kbDocItem{display:flex;align-items:center;gap:.65rem;padding:.65rem .9rem;border-radius:10px;border:1px solid var(--line);background:var(--bg-soft);color:var(--text);font-size:.88rem;transition:border-color .12s ease,background .12s ease;animation:messageIn .18s ease forwards}.kbDocItem:hover{border-color:var(--line-strong);background:rgba(128,128,128,.06)}.kbDocIcon{flex-shrink:0;opacity:.5}.kbDocName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1}.kbEmptyState{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:3rem 2rem;text-align:center;color:var(--text-soft)}.kbEmptyText{font-size:.95rem;font-weight:500}.kbEmptyHint,.kbEmptyText{margin:0;color:var(--text-soft)}.kbEmptyHint{font-size:.82rem;opacity:.7}.workspace.mode-bot .mainPane{overflow:hidden}button{font-family:inherit}button:disabled{cursor:not-allowed}@media (max-width:860px){.workspace{grid-template-columns:60px 1fr}.composerArea,.messagesList{max-width:100%;padding-left:1rem;padding-right:1rem}}@media (max-width:600px){.workspace{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:100dvh}.sidebar{border-right:none;border-bottom:1px solid var(--line);padding:.6rem 1rem;gap:.75rem;overflow-x:auto;overflow-y:hidden}.brand,.sidebar{flex-direction:row}.brand{margin-bottom:0;gap:.5rem}.nav{flex-direction:row;gap:.4rem}.themeBox{margin-top:0;gap:.4rem;margin-left:auto}.langBox,.themeBox{padding-top:0;border-top:none;border-left:1px solid var(--line);padding-left:.75rem;flex-direction:row}.langBox{gap:.3rem}.emptyStateTitle{font-size:1.35rem}.suggestionChips{gap:.4rem}}.loginCard{display:flex;width:min(1050px,96vw);border-radius:6px;overflow:hidden;box-shadow:0 4px 40px rgba(64,64,64,.13)}.loginFormPanel{flex:0 0 54%;background:#ffffff;padding:52px 64px 48px;display:flex;flex-direction:column}.loginDecoPanel{flex:0 0 46%;background:linear-gradient(145deg,#2563eb,#1d4ed8 40%,#1e3a8a);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 40px;position:relative;overflow:hidden}@media (max-width:640px){.loginCard{flex-direction:column}.loginFormPanel{flex:0 0 100%;padding:40px 28px 36px}.loginDecoPanel{display:none}}.adminHeader{background:#fff;border-bottom:1px solid #e2e8f0;padding:0 32px;height:58px;display:flex;align-items:center;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:20;box-shadow:0 1px 4px rgba(0,0,0,.05)}.adminMain{max-width:1200px;margin:0 auto;padding:32px 24px}.adminStatsGrid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:14px;gap:14px;margin-bottom:28px}.adminToolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.adminSearchWrap{position:relative;flex:0 0 280px}.adminCreateGrid{grid-template-columns:1fr 1fr 140px;grid-gap:12px}.adminCreateGrid,.adminEditGrid{display:grid;gap:12px;align-items:end}.adminEditGrid{grid-template-columns:1fr 1fr 140px 140px;grid-gap:12px}.adminTableWrap{background:#fff;border-radius:14px;border:1px solid #e2e8f0;overflow-x:auto;box-shadow:0 1px 6px rgba(0,0,0,.05)}@media (max-width:900px){.adminStatsGrid{grid-template-columns:repeat(3,1fr)}}@media (max-width:640px){.adminHeader{padding:0 16px}.adminMain{padding:20px 16px}.adminStatsGrid{grid-template-columns:repeat(2,1fr)}.adminToolbar{flex-direction:column;align-items:stretch}.adminSearchWrap{flex:1 1 auto}.adminCreateGrid{grid-template-columns:1fr}.adminEditGrid{grid-template-columns:1fr 1fr}}@media (max-width:400px){.adminEditGrid{grid-template-columns:1fr}}@media (min-width:1200px){.workspace{grid-template-columns:210px 1fr}.sidebar{padding:1.25rem .75rem}.brand{flex-direction:row;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:0 .25rem}.brandDot{flex-shrink:0}.brandTitle{display:block;font-size:.95rem;font-weight:700;color:var(--text);line-height:1.2;letter-spacing:-.01em;font-family:Montserrat,sans-serif;margin:0}.brandSubtitle{display:block;font-size:.68rem;color:var(--text-soft);margin:0;line-height:1.3}.nav{align-items:stretch}.navItem{width:100%;height:auto;padding:.55rem .75rem;gap:.65rem;justify-content:flex-start;text-align:left;border-radius:8px}.navText{display:block;font-size:.85rem;font-weight:500}.langBox,.themeBox{flex-direction:row;justify-content:flex-start;padding-left:.25rem;gap:.35rem}.composerArea,.kbPanel,.messagesList{max-width:860px}.suggestionChips{max-width:660px}}@media (min-width:1600px){.workspace{grid-template-columns:230px 1fr}.composerArea,.kbPanel,.messagesList{max-width:960px}.suggestionChips{max-width:740px}}