@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";
:root{--bg-color:#050505;--bg-color-transparent:#050505b3;--text-primary:#ededed;--text-secondary:#a0a0a0;--accent-color:#fff;--border-color:#ffffff1a;--glass-bg:#19191999;--glass-border:#ffffff14;--user-msg-bg:#1a1a1a;--agent-msg-bg:transparent}*{box-sizing:border-box}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;flex-direction:column;height:100dvh;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;overflow:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#333;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#555}.dashboard-layout{background-color:#030303;background-image:radial-gradient(circle at 10% 20%,#38bdf80d 0%,#0000 40%),radial-gradient(circle at 90% 80%,#ec48990d 0%,#0000 40%),radial-gradient(#ffffff08 1px,#0000 1px);background-size:100% 100%,100% 100%,24px 24px;grid-template-columns:40% 60%;gap:1rem;width:100vw;height:100dvh;padding:1rem;display:grid;overflow:hidden}.chat-panel{height:100%;box-shadow:none;background-color:#0000;border:none;flex-direction:column;min-height:0;display:flex;position:relative;overflow:hidden}.graph-panel{border:1px solid var(--border-color);-webkit-backdrop-filter:blur(24px);background-color:#080808bf;border-radius:1.25rem;height:100%;position:relative;overflow:hidden;box-shadow:0 12px 40px #00000080,inset 0 1px #ffffff08}.chat-log{flex-direction:column;flex:1;gap:1.5rem;width:100%;max-width:100%;margin:0;padding:1.5rem 1.25rem 8rem;display:flex;overflow-y:auto}.message{opacity:0;flex-direction:column;max-width:85%;animation:.4s cubic-bezier(.16,1,.3,1) forwards slideUp;display:flex;transform:translateY(10px)}@keyframes slideUp{to{opacity:1;transform:translateY(0)}}.message.user{background:var(--user-msg-bg);border:1px solid var(--border-color);border-radius:1.25rem 1.25rem .25rem;align-self:flex-end;padding:1rem 1.25rem}.message.agent{align-self:flex-start;padding:.5rem 0}.role-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:.5rem;font-size:11px;font-weight:500;display:none}.message.agent .role-label{display:block}.message p{color:var(--text-primary);margin:0;font-size:.95rem;line-height:1.6}.message p+p{margin-top:.75rem}.form-wrapper{z-index:20;background:linear-gradient(#0000 0%,#030303 30% 100%);align-items:center;gap:.75rem;width:100%;padding:2.5rem 1rem 1.5rem;display:flex;position:absolute;bottom:0;left:0;right:0}.form{background:var(--glass-bg);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:2rem;flex:1;align-items:center;padding:.5rem .5rem .5rem 1.25rem;transition:border-color .3s,box-shadow .3s;display:flex;box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0d}.form:focus-within{border-color:#fff3;box-shadow:0 12px 40px #00000080,inset 0 1px #ffffff1a}.input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:.5rem 0;font-family:inherit;font-size:1rem}.input::placeholder{color:#666}.button{color:#000;cursor:pointer;background:#fff;border:none;border-radius:1.5rem;justify-content:center;align-items:center;padding:.6rem 1.25rem;font-size:.9rem;font-weight:600;transition:transform .2s cubic-bezier(.32,.72,0,1),background .2s;display:flex}.button:hover:not(:disabled){background:#e0e0e0;transform:scale(.97)}.button:disabled{opacity:.5;cursor:not-allowed}.empty-state{text-align:center;height:100%;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;animation:.8s cubic-bezier(.16,1,.3,1) forwards slideUp;display:flex}.empty-state h2{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:.5rem;font-size:2rem;font-weight:500}.empty-state p{max-width:400px;font-size:1rem;line-height:1.5}.loader-dots{background:var(--user-msg-bg);border:1px solid var(--border-color);border-radius:1rem;align-items:center;gap:6px;width:fit-content;padding:8px 12px;display:flex}.loader-dots span{background-color:var(--text-primary);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite both pulse;display:inline-block}.loader-dots span:first-child{animation-delay:-.32s}.loader-dots span:nth-child(2){animation-delay:-.16s}@keyframes pulse{0%,80%,to{opacity:.3;transform:scale(.6)}40%{opacity:1;transform:scale(1.1)}}.graph-container{flex-direction:column;width:100%;height:100%;display:flex}.floating-sync-btn{-webkit-backdrop-filter:blur(8px);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;z-index:20;background:#0f0f0f99;border-radius:6px;padding:.4rem .8rem;font-size:.8rem;transition:all .2s;position:absolute;top:1rem;right:1rem}.floating-sync-btn:hover{background:var(--border-color);border-color:#ffffff4d}.graph-canvas-wrapper{cursor:grab;flex:1;position:relative;overflow:hidden}.graph-canvas-wrapper:active{cursor:grabbing}.graph-svg{background:radial-gradient(circle,#0a0a0a 0%,#030303 100%);width:100%;height:100%}.graph-link{stroke:#ffffff14;stroke-width:1.5px;transition:stroke .3s}.graph-node-circle{stroke:#0009;stroke-width:1.5px;cursor:pointer;transition:r .2s cubic-bezier(.16,1,.3,1),stroke-width .2s}.graph-node-circle:hover{stroke-width:2.5px;stroke:#fffc}.graph-node-text{fill:var(--text-secondary);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:10px;font-weight:500;transition:fill .2s,font-size .2s}.node-group:hover .graph-node-text,.node-group.selected .graph-node-text{fill:var(--text-primary);font-size:11px;font-weight:600}.graph-status{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.detail-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-color);z-index:30;background:#0f0f0fd9;border-radius:8px;width:320px;padding:1.25rem;animation:.3s cubic-bezier(.16,1,.3,1) forwards slideUp;position:absolute;bottom:1.5rem;right:1.5rem;box-shadow:0 12px 40px #0009}.close-card-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:1.25rem;position:absolute;top:.75rem;right:.75rem}.close-card-btn:hover{color:var(--text-primary)}.card-tag{text-transform:uppercase;letter-spacing:.1em;border-left:3px solid;margin-bottom:.5rem;padding-left:6px;font-size:9px;font-weight:600}.detail-card h3{color:var(--text-primary);margin:0 0 .5rem;font-size:1.1rem}.detail-card p{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.5}.markdown-body{width:100%}.markdown-h3{color:var(--text-primary);margin:1.25rem 0 .5rem;font-size:1.05rem;font-weight:600}.markdown-h2{color:var(--text-primary);margin:1.5rem 0 .6rem;font-size:1.2rem;font-weight:600}.markdown-h1{color:var(--text-primary);margin:1.75rem 0 .75rem;font-size:1.4rem;font-weight:700}.markdown-ul{margin:.5rem 0;padding-left:1.25rem;list-style-type:disc}.markdown-ul li{color:var(--text-primary);font-size:.95rem;line-height:1.6}.markdown-p{color:var(--text-primary);margin:.75rem 0;font-size:.95rem;line-height:1.6}.markdown-link{color:#38bdf8;text-underline-offset:3px;font-weight:500;text-decoration:underline;transition:opacity .2s}.markdown-link:hover{opacity:.8}.file-upload-button{background:var(--glass-bg);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0d}.file-upload-button:hover:not([disabled]){color:var(--text-primary);border-color:#fff3;transform:scale(1.05)}.file-upload-button:has(input:disabled){opacity:.5;cursor:not-allowed;pointer-events:none}.ingest-sidebar{-webkit-backdrop-filter:blur(40px);border-right:1px solid var(--glass-border);z-index:100;background:#060606e6;flex-direction:column;width:340px;padding:1.5rem;transition:transform .4s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:20px 0 80px #000000e6}.ingest-sidebar.open{transform:translate(0)}.sidebar-header{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;margin-top:4.5rem;padding-bottom:1rem;display:flex}.sidebar-header h3{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:600}.sidebar-close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.25rem;transition:all .2s;display:flex}.sidebar-close-btn:hover{color:var(--text-primary);background:#ffffff0d}.sidebar-toggle-btn{z-index:110;background:var(--glass-bg);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:1.25rem;left:1.25rem;box-shadow:0 4px 12px #0006,inset 0 1px #ffffff0d}.sidebar-toggle-btn:hover{color:var(--text-primary);border-color:#fff3;transform:scale(1.05)}.sidebar-toggle-btn.active{color:#06b6d4;border-color:#06b6d44d}.chat-log{padding-top:5rem}.dropzone{text-align:center;cursor:pointer;background:#ffffff03;border:2px dashed #ffffff1a;border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;margin-top:1.25rem;margin-bottom:1.5rem;padding:2rem 1.25rem;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.dropzone:hover,.dropzone.dragging{background:#06b6d408;border-color:#06b6d480}.dropzone svg{color:#ffffff4d;transition:color .2s}.dropzone:hover svg,.dropzone.dragging svg{color:#06b6d4}.dropzone p{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.4}.dropzone span{color:#555;font-size:.75rem}.file-list-wrapper{flex-direction:column;flex:1;min-height:0;display:flex}.file-list-title{text-transform:uppercase;letter-spacing:.05em;color:#fff6;margin-bottom:.75rem;font-size:.75rem;font-weight:600}.file-list{flex-direction:column;flex:1;gap:.6rem;padding-right:.25rem;display:flex;overflow-y:auto}.file-list::-webkit-scrollbar{width:4px}.file-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.file-item{background:#ffffff05;border:1px solid #ffffff08;border-radius:.75rem;align-items:center;gap:.75rem;padding:.7rem .9rem;transition:background .2s;display:flex}.file-item:hover{background:#ffffff0a}.file-icon{color:#ffffff4d;flex-shrink:0}.file-info{flex:1;min-width:0}.file-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:500;overflow:hidden}.file-size{color:var(--text-secondary);margin-top:.1rem;font-size:.7rem}.file-status{flex-shrink:0;justify-content:center;align-items:center;display:flex}.status-spinner{border:2px solid #ffffff1a;border-top-color:#06b6d4;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.status-done{color:#10b981}.status-error{color:#ef4444}.file-upload-button-wrapper{display:inline-block;position:relative}.seed-docs-menu{z-index:200;opacity:0;pointer-events:none;background:#0d0d0d;border:1px solid #ffffff14;border-radius:1.25rem;flex-direction:column;gap:.25rem;width:240px;padding:.75rem;transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .2s;display:flex;position:absolute;bottom:calc(100% + 12px);left:0;transform:translateY(10px);box-shadow:0 16px 48px #000000e6,inset 0 1px #ffffff08}.seed-docs-menu.open{opacity:1;pointer-events:auto;transform:translateY(0)}.seed-docs-menu-title{text-transform:uppercase;letter-spacing:.05em;color:#fff6;border-bottom:1px solid #ffffff0d;margin-bottom:.25rem;padding:.25rem .75rem .5rem;font-size:.7rem;font-weight:600}.seed-docs-menu-item{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:.75rem;align-items:center;gap:.6rem;padding:.6rem .75rem;font-family:inherit;transition:all .2s;display:flex}.seed-docs-menu-item:hover{color:var(--text-primary);background:#ffffff0d}.seed-docs-menu-item svg{color:#ffffff4d;flex-shrink:0;transition:color .2s}.seed-docs-menu-item:hover svg{color:#06b6d4}
