:root{--bg-primary: #09090b;--bg-secondary: rgba(24, 24, 27, .65);--bg-tertiary: rgba(39, 39, 42, .65);--bg-hover: rgba(255, 255, 255, .05);--bg-active: rgba(255, 255, 255, .1);--bg-glass: rgba(9, 9, 11, .8);--bg-message-user: rgba(255, 255, 255, .03);--bg-message-ai: transparent;--bg-input: rgba(255, 255, 255, .03);--border: rgba(255, 255, 255, .08);--border-focus: #a855f7;--text-primary: #e8e8f0;--text-secondary: #9898b0;--text-muted: #68688a;--accent: #a855f7;--accent-light: #c084fc;--accent-gradient: linear-gradient(135deg, #a855f7, #3b82f6);--accent-glow: 0 0 24px rgba(168, 85, 247, .35);--danger: #ef4444;--success: #22c55e;--warning: #f59e0b;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0,0,0,.3);--shadow-md: 0 4px 16px rgba(0,0,0,.4);--shadow-lg: 0 8px 32px rgba(0,0,0,.5);--transition: .2s cubic-bezier(.4, 0, .2, 1);--font: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--sidebar-width: 280px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:var(--font);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary);padding:20px;position:relative;overflow:hidden}.auth-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 40%,rgba(108,43,217,.08) 0%,transparent 50%),radial-gradient(circle at 70% 60%,rgba(37,99,235,.06) 0%,transparent 50%);animation:auraPulse 8s ease-in-out infinite alternate}@keyframes auraPulse{0%{transform:scale(1) rotate(0)}to{transform:scale(1.05) rotate(3deg)}}.auth-card{position:relative;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);padding:48px 40px;width:100%;max-width:420px;backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);box-shadow:0 24px 48px #0006,inset 0 1px #ffffff0d}.auth-logo{text-align:center;margin-bottom:36px}.auth-logo-icon{width:64px;height:64px;margin:0 auto 16px;border-radius:var(--radius-lg);background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;font-size:28px;color:#fff;box-shadow:var(--accent-glow);animation:logoFloat 3s ease-in-out infinite}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.auth-logo h1{font-size:28px;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:4px}.auth-logo p{color:var(--text-muted);font-size:13px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.form-group input{width:100%;padding:12px 16px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font);font-size:14px;outline:none;transition:var(--transition)}.form-group input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6c2bd926}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border:none;border-radius:var(--radius-md);font-family:var(--font);font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition);text-decoration:none}.btn-primary{width:100%;background:var(--accent-gradient);color:#fff;box-shadow:var(--accent-glow)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 0 30px #6c2bd966}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-ghost{background:transparent;color:var(--text-secondary);padding:8px 12px}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-danger{background:transparent;color:var(--danger)}.btn-danger:hover{background:#ef44441a}.auth-footer{text-align:center;margin-top:28px;padding-top:20px;border-top:1px solid var(--border);font-size:11px;color:var(--text-muted)}.btn-loading{display:flex;align-items:center;justify-content:center;gap:8px}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--danger);padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:16px}.chat-layout{display:flex;height:100vh;width:100vw}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);height:100vh;background:var(--bg-secondary);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease;z-index:100;box-shadow:4px 0 24px #0003}.sidebar.collapsed{transform:translate(-100%);position:absolute;opacity:0;pointer-events:none}.sidebar-header{padding:20px 16px 12px;display:flex;flex-direction:column;gap:12px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:4px 0}.sidebar-brand h2{font-size:18px;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-brand span{font-size:10px;color:var(--text-muted);font-weight:400}.new-chat-btn{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;background:var(--accent-gradient);border:none;border-radius:var(--radius-md);color:#fff;font-family:var(--font);font-size:13px;font-weight:600;cursor:pointer;transition:var(--transition);box-shadow:var(--accent-glow)}.new-chat-btn:hover{transform:translateY(-1px);box-shadow:0 0 28px #6c2bd973}.incognito-btn{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-muted);font-family:var(--font);font-size:12px;cursor:pointer;transition:var(--transition)}.incognito-btn:hover{background:var(--bg-hover);color:var(--warning);border-color:#f59e0b33}.incognito-btn.active{background:#f59e0b14;color:var(--warning);border-color:#f59e0b4d}.sidebar-chats{flex:1;overflow-y:auto;padding:8px}.chat-list-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:12px 8px 6px}.chat-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);border:1px solid transparent;margin-bottom:2px}.chat-item:hover{background:var(--bg-hover)}.chat-item.active{background:var(--bg-active);border-color:var(--border)}.chat-item-content{flex:1;min-width:0}.chat-item-title{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-item-preview{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.chat-item-delete{opacity:0;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;transition:var(--transition);display:flex}.chat-item:hover .chat-item-delete{opacity:1}.chat-item-delete:hover{color:var(--danger);background:#ef44441a}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--border)}.user-info{display:flex;align-items:center;gap:10px;padding:8px 0}.user-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff;flex-shrink:0}.user-details{flex:1;min-width:0}.user-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:6px;display:flex;transition:var(--transition)}.logout-btn:hover{color:var(--danger);background:#ef44441a}.chat-main{flex:1;display:flex;flex-direction:column;height:100vh;min-width:0;position:relative}.chat-header{display:flex;align-items:center;gap:12px;padding:12px 20px;background:var(--bg-glass);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);min-height:56px;border-bottom:1px solid var(--border);box-shadow:0 4px 12px #0000001a;z-index:50}.sidebar-toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:6px;display:flex;transition:var(--transition)}.sidebar-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.chat-header-title{flex:1;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.incognito-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.25);border-radius:var(--radius-full);font-size:11px;color:var(--warning);font-weight:500}.messages-container{flex:1;overflow-y:auto;padding:20px 0;scroll-behavior:smooth}.messages-inner{max-width:780px;margin:0 auto;padding:0 24px}.message{display:flex;gap:14px;padding:16px 0;animation:messageIn .3s ease}@keyframes messageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-avatar{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px;margin-top:2px}.message-avatar.user{background:var(--accent-gradient);color:#fff;font-size:13px;font-weight:600}.message-avatar.assistant{background:linear-gradient(135deg,#1e1e3a,#2a2a48);border:1px solid var(--border)}.message-body{flex:1;min-width:0}.message-role{font-size:13px;font-weight:600;margin-bottom:4px;color:var(--text-secondary)}.message-content{font-size:14px;line-height:1.75;color:var(--text-primary);word-wrap:break-word;overflow-wrap:break-word}.message-content p{margin-bottom:12px}.message-content p:last-child{margin-bottom:0}.message-content strong{font-weight:600}.message-content em{font-style:italic}.message-content code{background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;font-size:13px;font-family:JetBrains Mono,Fira Code,monospace}.message-content pre{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;overflow-x:auto;margin:12px 0}.message-content pre code{background:transparent;padding:0}.message-content blockquote{border-left:3px solid var(--accent);padding:8px 16px;margin:12px 0;background:#6c2bd90d;border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-secondary)}.message-content ul,.message-content ol{padding-left:24px;margin:8px 0}.message-content li{margin-bottom:4px}.message-content img{max-width:100%;border-radius:var(--radius-md);margin:12px 0;border:1px solid var(--border)}.message-content h1,.message-content h2,.message-content h3{margin:16px 0 8px;font-weight:600}.message-content a{color:var(--accent-light);text-decoration:none}.message-content a:hover{text-decoration:underline}.message-actions{display:flex;gap:4px;margin-top:8px;opacity:0;transition:var(--transition)}.message:hover .message-actions{opacity:1}.message-action-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px 8px;border-radius:4px;font-size:12px;display:flex;align-items:center;gap:4px;transition:var(--transition)}.message-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.download-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--accent-gradient);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font);font-size:13px;font-weight:500;cursor:pointer;margin-top:12px;transition:var(--transition)}.download-btn:hover{transform:translateY(-1px);box-shadow:var(--accent-glow)}.welcome-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center}.welcome-icon{width:72px;height:72px;border-radius:var(--radius-lg);background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;font-size:32px;margin-bottom:24px;box-shadow:var(--accent-glow)}.welcome-screen h2{font-size:24px;font-weight:700;margin-bottom:8px;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-screen p{color:var(--text-secondary);font-size:14px;max-width:400px;margin-bottom:32px}.welcome-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;width:100%;max-width:600px}.feature-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px;text-align:left;transition:var(--transition);cursor:pointer}.feature-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--accent-glow)}.feature-card-icon{font-size:24px;margin-bottom:10px}.feature-card h4{font-size:13px;font-weight:600;margin-bottom:4px}.feature-card p{font-size:12px;color:var(--text-muted);margin-bottom:0}.input-area{padding:16px 24px 24px;background:linear-gradient(to top,var(--bg-primary) 60%,transparent)}.input-wrapper{max-width:780px;margin:0 auto;position:relative}.input-box{display:flex;align-items:flex-end;gap:8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px 16px;transition:var(--transition);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 32px #0003}.input-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #6c2bd91a}.input-box textarea{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-family:var(--font);font-size:14px;line-height:1.5;resize:none;max-height:150px;min-height:24px}.input-box textarea::placeholder{color:var(--text-muted)}.send-btn{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--accent-gradient);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--transition)}.send-btn:hover{transform:scale(1.05);box-shadow:var(--accent-glow)}.send-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.input-hint{text-align:center;font-size:11px;color:var(--text-muted);margin-top:8px}.typing-indicator{display:flex;align-items:center;gap:4px;padding:8px 0}.typing-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-light);animation:typingBounce 1.4s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-8px);opacity:1}}.empty-chats{padding:24px 16px;text-align:center;color:var(--text-muted);font-size:12px}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:90;opacity:0;transition:opacity .3s ease}@media (max-width: 768px){.sidebar{position:absolute;left:0;top:0;height:100vh;box-shadow:var(--shadow-lg)}.sidebar.collapsed{transform:translate(-100%)}.sidebar-overlay.active{display:block;opacity:1}.welcome-features{grid-template-columns:1fr}.welcome-screen{padding:20px}.chat-header{padding:10px 16px;min-height:50px}.messages-inner{padding:0 16px}.message{gap:10px;padding:12px 0}.input-area{padding:12px 16px 16px}.input-box{padding:10px 14px}.input-box textarea{font-size:16px}.message-content{font-size:14px;line-height:1.6}}.tool-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:#6c2bd91a;border:1px solid rgba(108,43,217,.25);border-radius:var(--radius-full);font-size:11px;color:var(--accent-light);font-weight:500;margin-bottom:8px}.copy-toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%) translateY(20px);background:var(--bg-tertiary);border:1px solid var(--border);padding:8px 20px;border-radius:var(--radius-full);font-size:13px;color:var(--success);opacity:0;transition:all .3s ease;pointer-events:none;z-index:1000}.copy-toast.visible{opacity:1;transform:translate(-50%) translateY(0)}.stream-cursor{display:inline-block;width:2px;height:1em;background:var(--accent-light);border-radius:1px;margin-left:2px;vertical-align:text-bottom;animation:cursorBlink .8s ease-in-out infinite}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.tool-status-indicator{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:#a855f714;border:1px solid rgba(168,85,247,.2);border-radius:var(--radius-full);font-size:13px;color:var(--accent-light);margin-bottom:10px;animation:toolPulse 2s ease-in-out infinite}.tool-status-spinner{animation:spin 1s linear infinite;flex-shrink:0}@keyframes toolPulse{0%,to{opacity:1;border-color:#a855f733}50%{opacity:.75;border-color:#a855f773}}
