@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=JetBrains+Mono:wght@400;500&display=swap";.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border);height:100vh;transition:width var(--transition-slow), min-width var(--transition-slow), transform var(--transition-slow);z-index:100;flex-direction:column;flex-shrink:0;display:flex;position:relative;overflow:hidden}.sidebar.closed{width:0;min-width:0}.sidebar-overlay{display:none}.sidebar-header{border-bottom:1px solid var(--border-light);flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 16px 14px;display:flex}.sidebar-logo{align-items:center;gap:9px;display:flex}.logo-icon{color:var(--accent);flex-shrink:0}.logo-text{color:var(--text-primary);white-space:nowrap;letter-spacing:-.01em;font-size:14px;font-weight:600}.collapse-btn{opacity:.6;transition:opacity var(--transition)}.collapse-btn:hover{opacity:1}.sidebar-actions{flex-shrink:0;padding:12px 12px 8px}.new-chat-btn{background:var(--accent);color:#fff;cursor:pointer;width:100%;transition:background var(--transition), transform var(--transition);font-size:13.5px;font-weight:500;font-family:var(--font-sans);border:none;border-radius:8px;align-items:center;gap:8px;padding:9px 14px;display:flex}.new-chat-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.new-chat-btn:active{transform:translateY(0)}.search-wrapper{flex-shrink:0;margin:0 12px 10px;position:relative}.search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-input{background:var(--bg-tertiary);border:1px solid var(--border);width:100%;color:var(--text-primary);font-size:13px;font-family:var(--font-sans);transition:border-color var(--transition);border-radius:7px;outline:none;padding:8px 32px}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{border-color:var(--accent)}.search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.search-clear:hover{color:var(--text-primary)}.chat-list{flex:1;padding:0 8px 8px;overflow-y:auto}.chat-group{margin-bottom:4px}.group-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:8px 8px 4px;font-size:11px;font-weight:600}.chat-item{cursor:pointer;transition:background var(--transition);border-radius:8px;align-items:center;gap:9px;min-height:38px;margin-bottom:2px;padding:8px 10px;display:flex;position:relative}.chat-item:hover{background:var(--bg-hover)}.chat-item.active{background:var(--bg-active)}.chat-icon{color:var(--text-muted);flex-shrink:0}.chat-item.active .chat-icon{color:var(--accent-hover)}.chat-title{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;overflow:hidden}.chat-item.active .chat-title{color:var(--text-primary)}.chat-menu-btn{color:var(--text-muted);cursor:pointer;transition:color var(--transition), background var(--transition);background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;padding:3px;display:none}.chat-item:hover .chat-menu-btn,.chat-item.active .chat-menu-btn{display:flex}.chat-menu-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.rename-input{background:var(--bg-primary);border:1px solid var(--accent);color:var(--text-primary);font-size:13px;font-family:var(--font-sans);border-radius:4px;outline:none;flex:1;min-width:0;padding:2px 6px}.chat-dropdown{background:var(--bg-tertiary);border:1px solid var(--border);z-index:200;border-radius:8px;min-width:130px;padding:4px;animation:.15s dropIn;position:absolute;top:calc(100% + 2px);right:4px;box-shadow:0 8px 24px #0006}@keyframes dropIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{width:100%;color:var(--text-secondary);font-size:13px;font-family:var(--font-sans);cursor:pointer;transition:background var(--transition), color var(--transition);text-align:left;background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;padding:7px 10px;display:flex}.dropdown-item:hover{background:var(--bg-hover);color:var(--text-primary)}.dropdown-item.danger:hover{color:var(--red);background:#f851491f}.empty-state{text-align:center;color:var(--text-muted);padding:24px 12px;font-size:13px}.sidebar-footer{border-top:1px solid var(--border-light);flex-direction:column;flex-shrink:0;gap:8px;padding:12px 16px;display:flex}.footer-info{align-items:center;gap:8px;display:flex}.footer-badge{background:var(--accent-light);color:var(--accent-hover);letter-spacing:.04em;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.footer-text{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.theme-toggle-btn{background:var(--bg-tertiary);border:1px solid var(--border);width:100%;color:var(--text-secondary);font-size:13px;font-family:var(--font-sans);cursor:pointer;transition:background var(--transition), color var(--transition), border-color var(--transition);text-align:left;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;display:flex}.theme-toggle-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent)}[data-theme=dark] .theme-toggle-btn svg{color:#f6c90e}[data-theme=light] .theme-toggle-btn svg{color:#6366f1}@media (width<=768px){.sidebar{z-index:300;position:fixed;top:0;left:0;transform:translate(0)}.sidebar.closed{width:var(--sidebar-width);min-width:var(--sidebar-width);transform:translate(-100%)}.sidebar-overlay{z-index:290;background:#00000080;display:block;position:fixed;inset:0}}.chat-window{background:var(--bg-primary);flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;overflow:hidden}.chat-header{border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.chat-header-left{align-items:center;gap:10px;display:flex}.chat-header-info{align-items:center;gap:8px;display:flex}.header-icon{color:var(--accent)}.header-title{color:var(--text-primary);letter-spacing:-.01em;font-size:15px;font-weight:600}.header-badge{background:var(--accent-light);color:var(--accent-hover);border:1px solid #1a7fe84d;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:500}.chat-header-right{align-items:center;gap:6px;display:flex}.status-dot{background:var(--green);border-radius:50%;width:7px;height:7px;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-text{color:var(--green);font-size:12px;font-weight:500}.icon-btn{color:var(--text-secondary);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;display:flex}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.messages-area{flex-direction:column;flex:1;gap:2px;padding:24px 0 16px;display:flex;overflow-y:auto}.welcome-hero{text-align:center;flex-direction:column;align-items:center;padding:48px 24px 36px;animation:.4s both fadeUp;display:flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.welcome-icon-wrap{background:var(--accent-light);width:64px;height:64px;color:var(--accent);box-shadow:0 0 40px var(--accent-glow);border:1px solid #1a7fe84d;border-radius:18px;justify-content:center;align-items:center;margin-bottom:20px;display:flex}.welcome-title{color:var(--text-primary);letter-spacing:-.03em;margin-bottom:8px;font-size:24px;font-weight:700}.welcome-subtitle{color:var(--text-secondary);max-width:420px;margin-bottom:28px;font-size:14px}.suggestion-chips{flex-wrap:wrap;justify-content:center;gap:8px;max-width:640px;display:flex}.chip{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);font-size:13px;font-family:var(--font-sans);cursor:pointer;transition:border-color var(--transition), color var(--transition), background var(--transition);text-align:left;border-radius:20px;padding:8px 14px}.chip:hover{border-color:var(--accent);color:var(--text-primary);background:var(--accent-light)}.message-row{align-items:flex-end;gap:10px;padding:4px 20px;animation:.25s both fadeUp;display:flex}.message-row.user{flex-direction:row-reverse}.avatar{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;margin-bottom:18px;font-size:12px;font-weight:600;display:flex}.assistant-avatar{background:var(--accent-light);color:var(--accent);border:1px solid #1a7fe84d}.user-avatar{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border)}.bubble-wrap{flex-direction:column;gap:4px;max-width:min(680px,72%);display:flex}.bubble{word-break:break-word;border-radius:12px;padding:11px 15px;font-size:14.5px;line-height:1.65}.user-bubble{background:var(--user-bubble);border:1px solid var(--user-bubble-border);color:var(--text-primary);border-bottom-right-radius:4px}[data-theme=light] .user-bubble{color:#1a3a6e}.assistant-bubble{background:var(--assistant-bubble);border:1px solid var(--border);color:var(--text-primary);border-bottom-left-radius:4px}[data-theme=light] .assistant-bubble{box-shadow:var(--shadow-sm)}.assistant-bubble strong{color:var(--accent-hover);font-weight:600}.msg-meta{align-items:center;gap:6px;display:flex}.meta-right{justify-content:flex-end}.meta-left{justify-content:flex-start}.msg-time{color:var(--text-muted);font-size:11px}.copy-btn{color:var(--text-muted);cursor:pointer;transition:color var(--transition);background:0 0;border:none;align-items:center;padding:2px;display:flex}.copy-btn:hover{color:var(--text-primary)}.copy-check{color:var(--green)}.typing-bubble{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px 12px 12px 4px;align-items:center;gap:5px;padding:12px 16px;display:flex}.dot{background:var(--text-muted);border-radius:50%;width:7px;height:7px;animation:1.2s infinite bounce}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-6px)}}.input-area{border-top:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;padding:12px 20px 16px}.input-box{background:var(--bg-tertiary);border:1px solid var(--border);transition:border-color var(--transition);border-radius:12px;align-items:flex-end;gap:10px;padding:8px 8px 8px 16px;display:flex}.input-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.message-input{color:var(--text-primary);font-size:14.5px;font-family:var(--font-sans);resize:none;background:0 0;border:none;outline:none;flex:1;max-height:180px;padding:4px 0;line-height:1.6}.message-input::placeholder{color:var(--text-muted)}.message-input:disabled{opacity:.6;cursor:not-allowed}.send-btn{background:var(--bg-hover);border:1px solid var(--border);width:36px;height:36px;color:var(--text-muted);cursor:not-allowed;transition:background var(--transition), color var(--transition), border-color var(--transition);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.send-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;cursor:pointer}.send-btn.active:hover{background:var(--accent-hover)}.spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.input-disclaimer{color:var(--text-muted);text-align:center;max-width:560px;margin-top:9px;margin-left:auto;margin-right:auto;font-size:11.5px;line-height:1.5}@media (width<=768px){.messages-area{padding:16px 0 10px}.message-row{padding:3px 12px}.welcome-hero{padding:32px 16px 24px}.welcome-title{font-size:20px}.input-area{padding:10px 12px 14px}.bubble-wrap{max-width:85%}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=dark]{--bg-primary:#0d1117;--bg-secondary:#161b22;--bg-tertiary:#21262d;--bg-hover:#30363d;--bg-active:#1c3a5e;--border:#30363d;--border-light:#21262d;--text-primary:#e6edf3;--text-secondary:#8b949e;--text-muted:#6e7681;--accent:#1a7fe8;--accent-hover:#388bfd;--accent-light:#1a7fe826;--accent-glow:#1a7fe840;--green:#3fb950;--red:#f85149;--user-bubble:#1a4a7a;--user-bubble-border:#1a7fe8;--assistant-bubble:#161b22;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 8px 32px #0009;--sidebar-width:280px;--font-sans:"DM Sans", "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--transition:.2s ease;--transition-slow:.35s cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--bg-primary:#f6f8fa;--bg-secondary:#fff;--bg-tertiary:#f0f2f5;--bg-hover:#e8ecf0;--bg-active:#dbeafe;--border:#d0d7de;--border-light:#e8ecf0;--text-primary:#1a1f2e;--text-secondary:#57606a;--text-muted:#8c959f;--accent:#1a7fe8;--accent-hover:#1464c0;--accent-light:#1a7fe81a;--accent-glow:#1a7fe82e;--green:#1a7f37;--red:#cf222e;--user-bubble:#dbeafe;--user-bubble-border:#93c5fd;--assistant-bubble:#fff;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 16px #0000001a;--shadow-lg:0 8px 32px #0000001f}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.6;transition:background .3s,color .3s}.app-root,.sidebar,.chat-window,.chat-header,.input-area,.input-box,.bubble,.sidebar-footer,.sidebar-header,.chat-item,.new-chat-btn{transition-property:background,border-color,color,box-shadow;transition-duration:.3s;transition-timing-function:ease}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-root{background:var(--bg-primary);width:100vw;height:100vh;display:flex;overflow:hidden}
