@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-primary: #0f0f14;--bg-secondary: #16161f;--bg-tertiary: #1e1e2d;--bg-glass: rgba(30, 30, 50, .6);--bg-glass-hover: rgba(40, 40, 65, .7);--surface: #1a1a2e;--surface-hover: #252540;--border: rgba(255, 255, 255, .06);--border-active: rgba(139, 92, 246, .4);--text-primary: #f0f0f5;--text-secondary: #8b8ba3;--text-muted: #5a5a72;--accent: #8b5cf6;--accent-hover: #7c3aed;--accent-glow: rgba(139, 92, 246, .15);--accent-soft: rgba(139, 92, 246, .08);--green: #22c55e;--green-soft: rgba(34, 197, 94, .1);--red: #ef4444;--pink: #ec4899;--blue: #3b82f6;--user-bubble: rgba(139, 92, 246, .12);--user-border: rgba(139, 92, 246, .2);--assistant-bubble: rgba(255, 255, 255, .03);--assistant-border: rgba(255, 255, 255, .06);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 4px 24px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .4);--shadow-glow: 0 0 30px rgba(139, 92, 246, .08);--transition: .2s cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--bg-primary: #f5f5f7;--bg-secondary: #ffffff;--bg-tertiary: #f0f0f3;--bg-glass: rgba(255, 255, 255, .75);--bg-glass-hover: rgba(245, 245, 250, .8);--surface: #f8f8fb;--surface-hover: #eeeef2;--border: rgba(0, 0, 0, .08);--border-active: rgba(139, 92, 246, .35);--text-primary: #1a1a2e;--text-secondary: #5a5a72;--text-muted: #9ca3af;--accent: #7c3aed;--accent-hover: #6d28d9;--accent-glow: rgba(124, 58, 237, .1);--accent-soft: rgba(124, 58, 237, .06);--green-soft: rgba(34, 197, 94, .08);--user-bubble: rgba(124, 58, 237, .08);--user-border: rgba(124, 58, 237, .15);--assistant-bubble: rgba(0, 0, 0, .02);--assistant-border: rgba(0, 0, 0, .06);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .05);--shadow-md: 0 4px 24px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .1);--shadow-glow: 0 0 30px rgba(124, 58, 237, .04)}body,.chat-container,.chat-header,.chat-footer,.chat-body,.message-content,.input-wrapper,.source-type-chip,.avatar{transition:background-color .4s ease,color .4s ease,border-color .4s ease,box-shadow .4s ease}.theme-toggle{width:36px;height:36px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);flex-shrink:0;font-size:16px}.theme-toggle:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--border-active)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);height:100vh;width:100vw;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-container{display:flex;align-items:center;justify-content:center;height:100vh;width:100vw;padding:20px;background:radial-gradient(ellipse at 20% 20%,rgba(139,92,246,.06) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(59,130,246,.04) 0%,transparent 50%),var(--bg-primary)}.chat-container{width:100%;max-width:820px;height:95vh;display:flex;flex-direction:column;background:var(--bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow-lg),var(--shadow-glow);overflow:hidden;position:relative}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);flex-shrink:0}.header-info{display:flex;align-items:center;gap:12px}.header-logo{width:36px;height:36px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent),var(--blue));display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 0 20px #8b5cf633}.header-text h1{font-size:.95rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.header-text p{font-size:.72rem;color:var(--text-muted);margin-top:1px}.header-right{display:flex;align-items:center;gap:8px}.uploaded-badges{display:flex;gap:6px}.source-badge{font-size:.68rem;padding:3px 10px;border-radius:var(--radius-full);font-weight:500;white-space:nowrap;letter-spacing:.02em}.file-badge{background:var(--accent-soft);color:var(--accent);border:1px solid rgba(139,92,246,.15)}.image-badge{background:#ec489914;color:var(--pink);border:1px solid rgba(236,72,153,.15)}.web-badge{background:var(--green-soft);color:var(--green);border:1px solid rgba(34,197,94,.15)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 8px #22c55e66;animation:pulse-soft 2s ease-in-out infinite}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.5}}.chat-body{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:4px;scroll-behavior:smooth}.chat-body::-webkit-scrollbar{width:5px}.chat-body::-webkit-scrollbar-track{background:transparent}.chat-body::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:10px}.chat-body::-webkit-scrollbar-thumb:hover{background:#ffffff26}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;animation:fadeUp .6s ease-out}.empty-logo{width:64px;height:64px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--accent),var(--blue));display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:8px;box-shadow:0 0 40px #8b5cf626}.empty-state h2{font-size:1.3rem;font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.empty-hint{font-size:.85rem;color:var(--text-muted);max-width:300px;line-height:1.5}.source-types{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap;justify-content:center}.source-type-chip{font-size:.75rem;padding:7px 14px;border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border);transition:var(--transition);cursor:default}.source-type-chip:hover{border-color:var(--border-active);color:var(--accent);background:var(--accent-soft)}.message-wrapper{display:flex;gap:12px;max-width:100%;animation:fadeUp .3s ease-out;padding:12px 0}.message-wrapper.user{flex-direction:row-reverse}.avatar{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;margin-top:2px}.message-wrapper.assistant .avatar{background:linear-gradient(135deg,var(--accent),var(--blue));box-shadow:0 0 12px #8b5cf626}.message-wrapper.user .avatar{background:var(--bg-tertiary);border:1px solid var(--border)}.message-content{padding:12px 16px;border-radius:var(--radius-lg);font-size:.88rem;line-height:1.65;white-space:pre-wrap;word-break:break-word;max-width:75%}.message-wrapper.assistant .message-content{background:var(--assistant-bubble);border:1px solid var(--assistant-border);color:var(--text-primary);border-top-left-radius:4px}.message-wrapper.user .message-content{background:var(--user-bubble);border:1px solid var(--user-border);color:var(--text-primary);border-top-right-radius:4px}.message-content.streaming{border-color:#8b5cf64d}.cursor{display:inline-block;color:var(--accent);animation:blink .8s step-end infinite;font-weight:300}@keyframes blink{50%{opacity:0}}.message-content code{background:#8b5cf61a;padding:2px 6px;border-radius:4px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.82em;color:var(--accent)}.chat-footer{padding:16px 24px 20px;background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px;flex-shrink:0}.stop-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 20px;border-radius:var(--radius-full);border:1px solid rgba(239,68,68,.3);background:#ef444414;color:var(--red);font-size:.8rem;font-weight:500;cursor:pointer;transition:var(--transition);align-self:center}.stop-btn:hover{background:#ef444426;border-color:#ef444480}.url-input-bar{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--green-soft);border:1px solid rgba(34,197,94,.2);border-radius:var(--radius-lg);animation:fadeUp .2s ease-out}.url-icon{font-size:1rem;flex-shrink:0}.url-input-bar input{flex:1;border:none;outline:none;background:transparent;font-family:Inter,sans-serif;font-size:.85rem;color:var(--text-primary);padding:4px 0}.url-input-bar input::placeholder{color:var(--text-muted)}.url-submit-btn{padding:5px 14px;border-radius:var(--radius-sm);border:none;background:var(--green);color:#fff;font-size:.78rem;font-weight:600;cursor:pointer;transition:var(--transition);flex-shrink:0}.url-submit-btn:hover:not(:disabled){filter:brightness(1.1)}.url-submit-btn:disabled{opacity:.4;cursor:not-allowed}.url-cancel-btn{width:26px;height:26px;border-radius:50%;border:none;background:transparent;color:var(--text-muted);font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0}.url-cancel-btn:hover{background:#ef44441a;color:var(--red)}.upload-progress{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 16px;background:var(--accent-soft);border:1px solid rgba(139,92,246,.15);border-radius:var(--radius-md);font-size:.8rem;color:var(--accent);font-weight:500;animation:fadeUp .3s ease-out}.upload-spinner{width:16px;height:16px;border:2px solid rgba(139,92,246,.2);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.input-wrapper{display:flex;align-items:center;gap:6px;padding:6px 6px 6px 8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-lg);transition:var(--transition)}.input-wrapper:focus-within{border-color:var(--border-active);box-shadow:0 0 0 3px var(--accent-glow)}.input-wrapper input{flex:1;border:none;outline:none;background:transparent;font-family:Inter,sans-serif;font-size:.88rem;color:var(--text-primary);padding:8px 4px}.input-wrapper input::placeholder{color:var(--text-muted)}.input-wrapper input:disabled{color:var(--text-muted)}.attach-btn,.url-btn{width:36px;height:36px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);flex-shrink:0}.attach-btn:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.url-btn:hover:not(:disabled){background:var(--green-soft);color:var(--green)}.attach-btn:disabled,.url-btn:disabled{opacity:.3;cursor:not-allowed}.send-btn{width:38px;height:38px;border-radius:var(--radius-sm);border:none;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);flex-shrink:0}.send-btn:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 0 16px #8b5cf64d;transform:translateY(-1px)}.send-btn:disabled{background:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed;box-shadow:none;transform:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:640px){.app-container{padding:0}.chat-container{height:100vh;border-radius:0;border:none}.chat-header{padding:14px 16px}.chat-body{padding:16px}.chat-footer{padding:12px 16px 16px}.message-content{max-width:85%;font-size:.85rem}.header-text h1{font-size:.88rem}.source-types{gap:6px}}
