@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";:root{--font-primary:"Plus Jakarta Sans", sans-serif;--font-display:"Outfit", sans-serif;--bg-dark:#0a0c10;--bg-panel:#141821bf;--bg-panel-solid:#141821;--bg-input:#0d1017cc;--primary:#6366f1;--primary-glow:#6366f126;--primary-hover:#4f46e5;--secondary:#06b6d4;--secondary-glow:#06b6d426;--text-main:#f3f4f6;--text-muted:#9ca3af;--text-dark:#6b7280;--border-light:#ffffff0f;--border-glow:#6366f14d;--success:#10b981;--success-glow:#10b98126;--danger:#ef4444;--shadow-sm:0 2px 8px #0003;--shadow-lg:0 10px 30px -10px #00000080;--transition-fast:.15s ease;--transition-normal:.25s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-primary);background-color:var(--bg-dark);color:var(--text-main);background-image:radial-gradient(circle at 10% 20%,#6366f114 0%,#0000 40%),radial-gradient(circle at 90% 80%,#06b6d40f 0%,#0000 40%);height:100vh;display:flex;overflow:hidden}#app{width:100%;height:100%}.app-container{grid-template-columns:320px 1fr;width:100vw;height:100vh;display:grid;overflow:hidden}.sidebar{background:var(--bg-panel);border-right:1px solid var(--border-light);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:10;flex-direction:column;height:100%;display:flex;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--border-light);padding:24px}.logo-section{align-items:center;gap:12px;display:flex}.logo-icon{object-fit:cover;width:38px;height:38px;box-shadow:0 4px 12px var(--primary-glow);border-radius:10px}.logo-text h1{font-family:var(--font-display);letter-spacing:-.5px;background:linear-gradient(90deg,#fff,#d1d5db);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.25rem;font-weight:700}.system-status{color:var(--text-muted);align-items:center;gap:6px;margin-top:6px;font-size:.75rem;display:flex}.status-indicator{background-color:var(--text-dark);border-radius:50%;width:7px;height:7px}.status-indicator.connected{background-color:var(--success);box-shadow:0 0 8px var(--success)}.status-indicator.offline{background-color:var(--danger);box-shadow:0 0 8px var(--danger)}.sidebar-body{flex-direction:column;flex:1;gap:24px;padding:20px;display:flex;overflow-y:auto}.sidebar-body::-webkit-scrollbar{width:5px}.sidebar-body::-webkit-scrollbar-thumb{background:#ffffff0d;border-radius:10px}.sidebar-section-title{font-family:var(--font-display);letter-spacing:.5px;color:var(--text-muted);text-transform:uppercase;margin-bottom:12px;font-size:.85rem;font-weight:600}.upload-zone{text-align:center;cursor:pointer;transition:var(--transition-normal);background:#ffffff05;border:2px dashed #ffffff1a;border-radius:12px;padding:20px}.upload-zone:hover,.upload-zone.dragging{border-color:var(--primary);background:#6366f10a}.upload-icon{color:var(--primary);margin-bottom:8px;font-size:1.75rem}.upload-zone p{color:var(--text-muted);font-size:.8rem}.upload-hint{margin-top:4px;color:var(--text-dark)!important;font-size:.7rem!important}.file-list{flex-direction:column;gap:8px;display:flex}.file-item{border:1px solid var(--border-light);transition:var(--transition-fast);background:#ffffff08;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.file-item:hover{background:#ffffff0f;border-color:#ffffff1a}.file-info{align-items:center;gap:10px;display:flex;overflow:hidden}.file-doc-icon{color:var(--secondary);font-size:1.1rem}.file-name{white-space:nowrap;text-overflow:ellipsis;max-width:170px;font-size:.8rem;font-weight:500;overflow:hidden}.file-size{color:var(--text-dark);font-size:.7rem}.delete-btn{color:var(--text-dark);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.delete-btn:hover{color:var(--danger);background:#ef44441a}.sidebar-footer{border-top:1px solid var(--border-light);padding:20px}.config-card{background:#06b6d40d;border:1px solid #06b6d426;border-radius:12px;flex-direction:column;gap:8px;padding:14px;display:flex}.config-title{font-family:var(--font-display);color:var(--secondary);align-items:center;gap:8px;font-size:.8rem;font-weight:600;display:flex}.config-desc{color:var(--text-muted);font-size:.72rem;line-height:1.4}.config-action-btn{color:var(--secondary);cursor:pointer;transition:var(--transition-fast);text-align:center;background:#06b6d41a;border:1px solid #06b6d44d;border-radius:6px;padding:6px 12px;font-size:.75rem;font-weight:600}.config-action-btn:hover{background:var(--secondary);color:#fff}.chat-main{flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.chat-header{border-bottom:1px solid var(--border-light);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:5;background:#0a0c1080;justify-content:space-between;align-items:center;height:70px;padding:0 32px;display:flex}.header-title h2{font-family:var(--font-display);font-size:1.1rem;font-weight:600}.header-status{color:var(--text-muted);align-items:center;gap:8px;font-size:.75rem;display:flex}.provider-badge{background:var(--primary-glow);color:var(--primary);border:1px solid #6366f14d;border-radius:12px;padding:2px 8px;font-size:.7rem;font-weight:600}.chat-messages{flex-direction:column;flex:1;gap:24px;padding:32px;display:flex;overflow-y:auto}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-thumb{background:#ffffff0d;border-radius:10px}.message-row{flex-direction:column;width:100%;display:flex}.message-row.user{align-items:flex-end}.message-row.agent{align-items:flex-start}.message-bubble{word-wrap:break-word;border-radius:16px;max-width:70%;padding:16px 20px;font-size:.92rem;line-height:1.6;position:relative}.user .message-bubble{background:linear-gradient(135deg, var(--primary), var(--primary-hover));color:#fff;border-bottom-right-radius:4px;box-shadow:0 4px 15px #6366f133}.agent .message-bubble{border:1px solid var(--border-light);color:var(--text-main);background:#ffffff08;border-bottom-left-radius:4px}.thought-log-container{background:#0d101780;border:1px dashed #ffffff14;border-radius:10px;width:100%;max-width:70%;margin-top:10px;font-family:Courier New,Courier,monospace;overflow:hidden}.thought-log-header{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border-light);background:#ffffff05;justify-content:space-between;align-items:center;padding:8px 14px;font-size:.72rem;font-weight:600;display:flex}.thought-log-header:hover{background:#ffffff0a}.thought-log-body{color:#a7f3d0;flex-direction:column;gap:8px;max-height:220px;padding:12px 14px;font-size:.75rem;display:flex;overflow-y:auto}.log-entry{white-space:pre-wrap;line-height:1.4}.log-entry.status{color:var(--text-muted)}.log-entry.tool_call{color:#fef08a}.log-entry.tool_response{color:#6ee7b7;border-left:2px solid #6ee7b74d;margin-left:4px;padding-left:8px}.log-entry.error{color:#fca5a5}.chat-input-area{background:linear-gradient(to top, var(--bg-dark) 80%, transparent);padding:24px 32px 32px}.input-wrapper{background:var(--bg-input);border:1px solid var(--border-light);box-shadow:var(--shadow-lg);transition:var(--transition-normal);border-radius:16px;align-items:flex-end;gap:12px;padding:10px 14px;display:flex}.input-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 16px #6366f11a}.chat-textarea{color:var(--text-main);font-family:var(--font-primary);resize:none;background:0 0;border:none;outline:none;flex:1;min-height:28px;max-height:150px;padding:4px 0;font-size:.92rem;line-height:1.5}.chat-textarea::placeholder{color:var(--text-dark)}.send-btn{background:var(--primary);color:#fff;cursor:pointer;width:38px;height:38px;transition:var(--transition-fast);border:none;border-radius:10px;justify-content:center;align-items:center;display:flex}.send-btn:hover{background:var(--primary-hover);transform:translateY(-1px)}.send-btn:disabled{color:var(--text-dark);cursor:not-allowed;background:#ffffff0d;transform:none}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#000000b3;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.modal-content{background:var(--bg-panel-solid);border:1px solid var(--border-light);width:90%;max-width:600px;box-shadow:var(--shadow-lg);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.modal-header h3{font-family:var(--font-display);font-size:1.1rem;font-weight:600}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.25rem}.modal-close:hover{color:#fff}.modal-body{flex-direction:column;gap:16px;max-height:70vh;padding:24px;display:flex;overflow-y:auto}.modal-body p{color:var(--text-muted);font-size:.85rem;line-height:1.5}.code-block-container{border:1px solid var(--border-light);background:#0000004d;border-radius:8px;padding:14px;position:relative}.code-block{color:#6ee7b7;white-space:pre-wrap;font-family:Courier New,Courier,monospace;font-size:.8rem;overflow-x:auto}.copy-btn{border:1px solid var(--border-light);color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:#ffffff0d;border-radius:4px;padding:4px 8px;font-size:.72rem;position:absolute;top:10px;right:10px}.copy-btn:hover{color:#fff;background:#ffffff1a}.typing-loader{align-items:center;gap:4px;padding:8px 12px;display:flex}.typing-loader span{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.4s infinite both typingBounce}.typing-loader span:nth-child(2){animation-delay:.2s}.typing-loader span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1.1)}}.message-bubble h1,.message-bubble h2,.message-bubble h3{margin-top:8px;margin-bottom:4px;font-size:1.05rem}.message-bubble ul,.message-bubble ol{margin-bottom:8px;margin-left:20px}.message-bubble pre{background:#0003;border-radius:6px;margin:8px 0;padding:10px;overflow-x:auto}.message-bubble code{font-family:Courier New,Courier,monospace;font-size:.85rem}.provider-selector-wrapper{align-items:center;gap:8px;margin-right:16px;display:flex}.status-label{color:var(--text-muted);font-size:.75rem}.provider-select{background:var(--bg-input);border:1px solid var(--border-light);color:var(--text-main);cursor:pointer;transition:var(--transition-fast);border-radius:8px;outline:none;padding:4px 10px;font-size:.75rem}.provider-select:hover{border-color:var(--primary);background:#ffffff0d}.provider-select:focus{border-color:var(--primary);box-shadow:0 0 8px var(--primary-glow)}.provider-select option{background-color:var(--bg-panel-solid);color:var(--text-main)}.model-custom-input{background:var(--bg-input);border:1px solid var(--border-light);color:var(--text-main);transition:var(--transition-fast);border-radius:8px;outline:none;width:120px;padding:4px 10px;font-size:.75rem}.model-custom-input:hover{border-color:var(--primary);background:#ffffff0d}.model-custom-input:focus{border-color:var(--primary);box-shadow:0 0 8px var(--primary-glow)}
