@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@400;500;600;700&display=swap";:root{--primary:#6366f1;--primary-end:#a855f7;--primary-gradient:linear-gradient(135deg, #6366f1 0%, #a855f7 100%);--bg:#0f172a;--card-bg:#1e293bd9;--text:#f8fafc;--text-muted:#94a3b8;--border:#ffffff1a;--success:#22c55e;--error:#ef4444;--accent:#6366f1}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;overflow:hidden}body{background:var(--bg);color:var(--text);height:100%;font-family:Inter,sans-serif;line-height:1.6;overflow:hidden}h1,h2,h3{font-family:Outfit,sans-serif}.app-container{flex-direction:column;gap:.75rem;max-width:1400px;height:100vh;margin:0 auto;padding:.75rem 1.5rem;display:flex;overflow:hidden}.header{text-align:center;flex-shrink:0}.header h1{background:var(--primary-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.1rem;font-weight:700;line-height:1.2}.header p{color:var(--text-muted);margin-top:.15rem;font-size:.9rem}.main-content{flex:1;grid-template-columns:320px 1fr;gap:1.25rem;min-height:0;display:grid;overflow:hidden}.card{background:var(--card-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:1.25rem;flex-direction:column;min-height:0;padding:1.25rem;display:flex;overflow:hidden}.card h2{flex-shrink:0;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:1.2rem;display:flex}.sidebar-card{overflow:hidden}.upload-area{border:2px dashed var(--border);text-align:center;cursor:pointer;border-radius:.875rem;flex-shrink:0;padding:1.5rem 1rem;transition:all .25s;position:relative}.upload-area:hover,.upload-area.dragging{border-color:var(--accent);background:#6366f10f}.upload-area input{opacity:0;cursor:pointer;position:absolute;inset:0}.upload-icon{width:2.5rem;height:2.5rem;color:var(--accent);margin-bottom:.5rem}.status{border-radius:.5rem;flex-shrink:0;align-items:center;gap:.5rem;margin-top:.75rem;padding:.6rem .75rem;font-size:.85rem;display:flex}.status.success{color:var(--success);background:#22c55e1a;border:1px solid #22c55e40}.status.error{color:var(--error);background:#ef44441a;border:1px solid #ef444440}.btn-clear{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:auto;padding:.65rem 1rem;font-size:.9rem;font-weight:500;transition:all .25s;display:flex}.btn-clear:hover{color:var(--error);background:#ef44441a;border-color:#ef444466}.chat-messages{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;flex-direction:column;flex:1;gap:1rem;min-height:0;padding:.5rem .25rem;display:flex;overflow-y:auto}.chat-messages::-webkit-scrollbar{width:5px}.chat-messages::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:10px}.message-row{gap:.6rem;max-width:85%;display:flex}.message-row.ai{align-self:flex-start}.message-row.user{flex-direction:row-reverse;align-self:flex-end}.bubble-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-top:2px;display:flex}.message-row.ai .bubble-icon{color:var(--primary);background:#6366f133}.message-row.user .bubble-icon{color:#a855f7;background:#a855f733}.bubble{border-radius:1rem;padding:.75rem 1rem;font-size:.925rem;line-height:1.55}.message-row.ai .bubble{border:1px solid var(--border);background:#ffffff12;border-bottom-left-radius:.2rem}.message-row.user .bubble{background:var(--primary-gradient);color:#fff;border-bottom-right-radius:.2rem}.typing-indicator{color:var(--text-muted);flex-shrink:0;align-items:center;gap:.5rem;padding:.25rem 0;font-size:.85rem;font-style:italic;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}.chat-input-area{border-top:1px solid var(--border);flex-shrink:0;gap:.75rem;margin-top:.5rem;padding-top:.75rem;display:flex}.chat-input{border:1px solid var(--border);color:#fff;background:#ffffff0f;border-radius:.75rem;outline:none;flex:1;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:border-color .2s,background .2s}.chat-input:focus{border-color:var(--accent);background:#ffffff1a}.chat-input::placeholder{color:var(--text-muted)}.btn-ask{background:var(--primary-gradient);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:.75rem;flex-shrink:0;align-items:center;gap:.4rem;padding:0 1.25rem;font-size:.925rem;font-weight:600;transition:opacity .2s,transform .15s;display:flex}.btn-ask:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.btn-ask:disabled{opacity:.35;cursor:not-allowed}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-row{animation:.25s ease-out both fadeUp}.footer{text-align:center;color:var(--text-muted);flex-shrink:0;padding-bottom:.25rem;font-size:.78rem}
