:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.chat-container{display:flex;width:100vw;height:100vh;background:linear-gradient(315deg,#0a0316,#180830 30%,#3b176c 55%,#b39ddb 75%,#06030c 90%,#000);color:#f3f4f6;font-family:Outfit,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden;box-sizing:border-box}.sidebar{width:320px;background:#0a0a0fa6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;padding:1.5rem;box-sizing:border-box;flex-shrink:0}.brand-section{display:flex;align-items:center;gap:.75rem;margin-bottom:2.5rem}.brand-logo{width:36px;height:36px;background:linear-gradient(135deg,#a78bfa,#8b5cf6);border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.25rem;color:#fff;box-shadow:0 4px 14px #a78bfa4d}.brand-title{font-size:1.25rem;font-weight:700;background:linear-gradient(to right,#fff,#d8b4fe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0}.upload-section{flex-grow:1;display:flex;flex-direction:column;gap:1.25rem}.upload-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.upload-title{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#a78bfa}.file-count-tag{font-size:.75rem;background:#a78bfa26;border:1px solid rgba(167,139,250,.3);color:#c084fc;padding:.15rem .5rem;border-radius:9999px;font-weight:600}.file-selection-list{display:flex;flex-direction:column;gap:.4rem;max-height:180px;overflow-y:auto;padding-right:.25rem}.file-chip{display:flex;align-items:center;gap:.5rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);padding:.4rem .6rem;border-radius:8px;font-size:.8rem;color:#e5e7eb}.file-chip-name{flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-chip-remove{background:none;border:none;color:#9ca3af;font-size:1.1rem;line-height:1;cursor:pointer;padding:0 .2rem;transition:color .15s}.file-chip-remove:hover{color:#ef4444}.active-files-list{display:flex;flex-direction:column;gap:.4rem;max-height:200px;overflow-y:auto;padding-right:.25rem}.dropzone{border:2px dashed rgba(167,139,250,.35);border-radius:12px;padding:1.5rem 1rem;text-align:center;background:#ffffff04;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem}.dropzone:hover,.dropzone.active{border-color:#c084fc;background:#a78bfa0f;box-shadow:0 0 20px #a78bfa26}.dropzone-icon{font-size:2rem;color:#c084fc}.dropzone-text{font-size:.875rem;color:#e5e7eb;line-height:1.4}.dropzone-subtext{font-size:.75rem;color:#9ca3af}.file-input{display:none}.session-info{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.session-header{font-size:.75rem;font-weight:700;text-transform:uppercase;color:#c084fc}.file-details{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#e5e7eb;background:#ffffff05;padding:.35rem .5rem;border-radius:6px}.file-details-icon{color:#ef4444;flex-shrink:0}.file-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-badge{font-family:monospace;font-size:.75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);padding:.25rem .5rem;border-radius:6px;color:#d1d5db;word-break:break-all}.reset-button{width:100%;padding:.75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.25);border-radius:10px;color:#fca5a5;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.reset-button:hover{background:#ef444433;border-color:#ef4444;color:#fff}.sidebar-footer{font-size:.75rem;color:#6b7280;text-align:center;margin-top:auto}.chat-area{flex-grow:1;display:flex;flex-direction:column;height:100%;position:relative;background:#0a0a1073;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.chat-header{height:70px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;padding:0 2rem;background:#0a0a0f73;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:10}.header-status{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.status-indicator{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 8px #10b981}.status-indicator.offline{background:#ef4444;box-shadow:0 0 8px #ef4444}.status-text{font-weight:600;color:#e5e7eb}.messages-log{flex-grow:1;overflow-y:auto;padding:2rem;display:flex;flex-direction:column;gap:1.5rem;scroll-behavior:smooth}.messages-log::-webkit-scrollbar{width:6px}.messages-log::-webkit-scrollbar-track{background:transparent}.messages-log::-webkit-scrollbar-thumb{background:#ffffff0f;border-radius:10px}.messages-log::-webkit-scrollbar-thumb:hover{background:#ffffff1f}.welcome-screen{margin:auto;max-width:480px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem;animation:fadeIn .6s cubic-bezier(.16,1,.3,1) forwards}.welcome-icon{font-size:3rem;color:#c084fc;background:#a78bfa1a;padding:1.5rem;border-radius:20px;margin-bottom:.5rem}.welcome-title{font-size:1.5rem;font-weight:700;color:#fff;margin:0}.welcome-desc{font-size:.95rem;color:#9ca3af;line-height:1.6;margin:0}.message-bubble{display:flex;gap:1rem;max-width:75%;animation:messageSlideIn .35s cubic-bezier(.16,1,.3,1) forwards}.message-bubble.user{align-self:flex-end;flex-direction:row-reverse}.message-bubble.ai{align-self:flex-start}.avatar{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0}.message-bubble.user .avatar{background:linear-gradient(135deg,#a78bfa,#8b5cf6);color:#fff}.message-bubble.ai .avatar{background:#ffffff14;border:1px solid rgba(255,255,255,.1);color:#a78bfa}.message-content{padding:1rem 1.25rem;border-radius:14px;line-height:1.6;font-size:.9375rem;word-break:break-word}.message-bubble.user .message-content{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border-top-right-radius:2px;box-shadow:0 4px 12px #6366f133}.message-bubble.ai .message-content{background:#14141ed9;border:1px solid rgba(255,255,255,.1);color:#f3f4f6;border-top-left-radius:2px;box-shadow:0 4px 15px #00000040;width:100%}.formatted-markdown{display:flex;flex-direction:column;gap:.5rem}.formatted-markdown .chat-h1{font-size:1.2rem;font-weight:700;color:#fff;background:linear-gradient(to right,#fff,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:.25rem 0 .5rem;line-height:1.3}.formatted-markdown .chat-h2{font-size:1.05rem;font-weight:600;color:#c084fc;margin:.75rem 0 .35rem;padding-bottom:.25rem;border-bottom:1px solid rgba(192,132,252,.2);display:flex;align-items:center;gap:.4rem}.formatted-markdown .chat-h3{font-size:.95rem;font-weight:600;color:#a78bfa;margin:.5rem 0 .2rem}.formatted-markdown .chat-p{margin:0;color:#e5e7eb;line-height:1.6}.formatted-markdown .chat-bullet-list{margin:.25rem 0 .6rem;padding-left:1.25rem;display:flex;flex-direction:column;gap:.35rem}.formatted-markdown .chat-bullet-list li{color:#e5e7eb;line-height:1.5}.formatted-markdown .chat-bullet-list li::marker{color:#a78bfa}.formatted-markdown .chat-quote{margin:.5rem 0;padding:.5rem .85rem;background:#a78bfa14;border-left:3px solid #a78bfa;border-radius:0 8px 8px 0;color:#ddd6fe;font-size:.88rem;line-height:1.5}.highlight-text{color:#fff;font-weight:600}.user-message-text{line-height:1.5;white-space:pre-wrap}.typing-bubble{display:flex;align-items:center;gap:.3rem;padding:.875rem 1.25rem;background:#14141ed9;border:1px solid rgba(255,255,255,.1);border-radius:2px 14px 14px;box-shadow:0 4px 15px #00000040}.typing-dot{width:6px;height:6px;background:#a78bfa;border-radius:50%;animation:typingBounce 1.4s infinite ease-in-out both}.typing-dot:nth-child(1){animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}.input-panel{padding:1.5rem 2rem 2rem;background:linear-gradient(to top,#020205 80%,transparent);border-top:1px solid rgba(255,255,255,.05);z-index:10}.input-form{position:relative;display:flex;align-items:center}.chat-input{width:100%;background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:1.125rem 4rem 1.125rem 1.25rem;font-size:.9375rem;color:#fff;outline:none;transition:all .3s;box-sizing:border-box;font-family:inherit}.chat-input::placeholder{color:#9ca3af;opacity:.4}.chat-input:focus{border-color:#8b5cf6;background:#ffffff0a;box-shadow:0 0 25px #8b5cf61a}.chat-input:disabled{opacity:.5;cursor:not-allowed}.send-button{position:absolute;right:8px;background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;border-radius:12px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 4px 10px #6366f14d}.send-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 14px #6366f173}.send-button:active:not(:disabled){transform:translateY(0)}.send-button:disabled{background:#ffffff0d;color:#6b7280;cursor:not-allowed;box-shadow:none}.error-bar{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#fca5a5;padding:.75rem 1rem;border-radius:10px;font-size:.85rem;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.error-close{background:none;border:none;color:#fca5a5;cursor:pointer;padding:.25rem;font-size:1rem;line-height:1}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes typingBounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.load-pdf-button{width:100%;padding:.75rem;background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;border-radius:10px;color:#fff;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s;box-shadow:0 4px 10px #6366f14d;text-align:center}.load-pdf-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 14px #6366f173}.load-pdf-button:active:not(:disabled){transform:translateY(0)}.load-pdf-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}#root{width:100%;height:100%;margin:0;padding:0;display:block}body{margin:0;padding:0;display:block;min-width:100vw;min-height:100vh;overflow:hidden;background-color:#0f0f13}
