@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-primary:#fff;--bg-secondary:#f9fafb;--bg-tertiary:#f1f5f9;--bg-card:#f8fafc;--bg-card-hover:#f1f5f9;--sidebar-bg:#f8fafc;--accent:#2563eb;--accent-light:#3b82f6;--accent-dark:#1d4ed8;--accent-glow:#2563eb1a;--user-bubble:linear-gradient(135deg, #2563eb, #3b82f6);--bot-bubble:#f1f5f9;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--border:#e2e8f0;--border-hover:#cbd5e1;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--shadow-glow:0 0 20px #2563eb1a;--shadow-card:0 4px 12px #0000000d;--transition:.2s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.app-container{width:100vw;height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border);width:260px;min-width:260px;transition:width var(--transition);flex-direction:column;display:flex;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--border);padding:20px 16px 16px}.logo{align-items:center;gap:10px;margin-bottom:16px;display:flex}.logo-img{border-radius:var(--radius-sm);object-fit:cover;width:34px;height:34px}.logo-text{color:var(--text-primary);letter-spacing:-.3px;font-size:15px;font-weight:700}.new-chat-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);align-items:center;gap:8px;padding:10px 14px;font-family:inherit;font-size:13px;font-weight:500;display:flex}.new-chat-btn:hover{background:var(--bg-card-hover);border-color:var(--border-hover);color:var(--text-primary);box-shadow:var(--shadow-glow)}.new-chat-btn .icon{font-size:16px}.sidebar-section-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:24px 0 8px;padding:0 16px;font-size:11px;font-weight:600}.sidebar-nav{padding:0 10px}.nav-item{border-radius:var(--radius-md);color:var(--text-secondary);transition:var(--transition);align-items:center;gap:10px;margin-bottom:4px;padding:10px 14px;font-size:13.5px;text-decoration:none;display:flex}.nav-item:hover{background:var(--bg-card-hover);color:var(--accent)}.nav-icon{font-size:16px}.chat-history-list{flex:1;padding:4px 8px;overflow-y:auto}.history-item{border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition);align-items:center;gap:10px;padding:10px;display:flex}.history-item:hover,.history-item.active{background:var(--bg-card-hover)}.history-item.active{background:var(--bg-card)}.history-icon{opacity:.5;flex-shrink:0;font-size:14px}.history-title{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.sidebar-footer{border-top:1px solid var(--border);color:var(--text-muted);text-align:center;padding:12px 16px;font-size:11px}.chat-area{background:var(--bg-primary);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.chat-area:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#6c63ff12 0%,#0000 70%);width:600px;height:600px;position:absolute;top:-40%;left:50%;transform:translate(-50%)}.chat-header{border-bottom:1px solid var(--border);z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;align-items:center;gap:12px;padding:16px 24px;display:flex}.chat-header-logo{object-fit:cover;border:1px solid var(--border);border-radius:50%;flex-shrink:0;width:36px;height:36px}.chat-header-info h2{color:var(--text-primary);font-size:15px;font-weight:600}.chat-header-status{color:#4caf50;align-items:center;gap:5px;font-size:12px;display:flex}.status-dot{background:#4caf50;border-radius:50%;width:6px;height:6px;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.messages-container{z-index:1;flex-direction:column;flex:1;gap:20px;padding:24px;display:flex;position:relative;overflow-y:auto}.welcome-state{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px 24px;animation:.5s fadeIn;display:flex}.welcome-logo{border-radius:var(--radius-xl);object-fit:cover;width:80px;height:80px;box-shadow:var(--shadow-card);margin-bottom:20px;animation:3s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.welcome-state h1{color:var(--text-primary);letter-spacing:-.5px;margin-bottom:10px;font-size:24px;font-weight:700}.welcome-state p{color:var(--text-secondary);max-width:380px;font-size:14px;line-height:1.7}.suggestion-pills{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:28px;display:flex}.pill{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);border-radius:99px;padding:9px 16px;font-family:inherit;font-size:13px}.pill:hover{background:var(--bg-card-hover);border-color:var(--accent);color:var(--accent-light);transform:translateY(-1px)}.message-wrapper{flex-direction:column;gap:6px;animation:.3s cubic-bezier(.34,1.56,.64,1) messageIn;display:flex}@keyframes messageIn{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.message-wrapper.user{align-items:flex-end}.message-wrapper.bot{align-items:flex-start}.message-row{align-items:flex-end;gap:10px;display:flex}.message-wrapper.user .message-row{flex-direction:row-reverse}.avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;margin-bottom:2px;font-size:14px;display:flex}.avatar.bot{background:var(--bg-tertiary);border:1px solid var(--border)}.avatar.user{background:var(--user-bubble)}.message-bubble{border-radius:var(--radius-lg);word-break:break-word;max-width:65%;padding:12px 16px;font-size:14px;line-height:1.65}.message-bubble.user{background:var(--user-bubble);color:#fff;border-bottom-right-radius:4px;box-shadow:0 4px 20px #6c63ff59}.message-bubble.bot{background:var(--bot-bubble);color:var(--text-primary);border:1px solid var(--border);border-bottom-left-radius:4px}.message-bubble.error{color:#ff8080;background:#ff50501a;border-color:#ff50504d}.message-time{color:var(--text-muted);margin-top:2px;padding:0 6px;font-size:10px}.typing-wrapper{align-items:flex-end;gap:10px;animation:.3s messageIn;display:flex}.typing-bubble{background:var(--bot-bubble);border:1px solid var(--border);border-radius:var(--radius-lg);border-bottom-left-radius:4px;align-items:center;gap:5px;padding:14px 20px;display:flex}.typing-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1.2s infinite bounce}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.input-area{z-index:1;padding:16px 24px 20px;position:relative}.input-container{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);transition:border-color var(--transition), box-shadow var(--transition);align-items:flex-end;gap:12px;padding:12px 14px;display:flex}.input-container:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.chat-textarea{resize:none;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;min-height:22px;max-height:160px;padding:2px 0;font-family:inherit;font-size:14px;line-height:1.6}.chat-textarea::placeholder{color:var(--text-muted)}.send-btn{background:var(--user-bubble);color:#fff;cursor:pointer;width:38px;height:38px;transition:all var(--transition);box-shadow:0 2px 12px var(--accent-glow);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;display:flex}.send-btn:hover:not(:disabled){transform:scale(1.08);box-shadow:0 4px 20px #6c63ff80}.send-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.input-hint{color:var(--text-muted);text-align:center;margin-top:10px;font-size:11px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){.sidebar{display:none}.message-bubble{max-width:85%}}
