.chat-header{background:var(--secondary-bg);border-bottom:1px solid var(--border-color);padding:12px 24px;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-left{display:flex;align-items:center;gap:16px}.back-btn{padding:8px;border-radius:var(--radius-sm);color:var(--text-secondary);transition:var(--transition);background:var(--surface-bg);border:1px solid var(--border-color)}.back-btn:hover{color:var(--text-primary);background:var(--border-color)}.ai-info{display:flex;align-items:center;gap:12px}.ai-avatar{position:relative;width:40px;height:40px}.ai-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid var(--border-color)}.status-indicator{position:absolute;bottom:0;right:0;width:12px;height:12px;background:var(--success-color);border:2px solid var(--secondary-bg);border-radius:50%}[data-theme=neon] .status-indicator{box-shadow:0 0 8px var(--success-color)}.ai-details{display:flex;flex-direction:column}.ai-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0;line-height:1.2}.ai-status{font-size:.875rem;color:var(--success-color);font-weight:500}.header-controls{display:flex;align-items:center;gap:12px}.style-toggle{display:flex;background:var(--surface-bg);border-radius:var(--radius-sm);padding:2px;border:1px solid var(--border-color)}.style-btn{padding:6px 12px;border-radius:var(--radius-sm);font-size:.8rem;font-weight:500;color:var(--text-secondary);transition:var(--transition);display:flex;align-items:center;gap:4px}.control-btn{padding:8px;border-radius:var(--radius-sm);color:var(--text-secondary);transition:var(--transition);background:var(--surface-bg);border:1px solid var(--border-color)}.control-btn:hover{color:var(--text-primary);background:var(--border-color)}.control-btn.active{color:var(--accent-color);background:var(--border-color)}@media (max-width: 768px){.chat-header{padding:10px 16px}.header-left{gap:12px}.ai-name{font-size:.9rem}.ai-status{font-size:.8rem}.header-controls{gap:8px}.style-toggle{display:none}.ai-avatar{width:36px;height:36px}.status-indicator{width:10px;height:10px}}@media (max-width: 480px){.ai-details{display:none}.header-controls{gap:6px}.control-btn{padding:6px}}.message{display:flex;gap:16px;margin-bottom:24px;padding:16px;border-radius:var(--radius-lg);transition:var(--transition);animation:fadeIn .3s ease-out}.message.user{background:var(--surface-bg);border:1px solid var(--border-color);margin-left:60px}.message.ai{background:var(--secondary-bg);border:1px solid var(--border-color);margin-right:60px}.message.error{background:rgba(217,48,37,.1);border:1px solid var(--error-color);margin-right:60px}.message-avatar{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent-color);color:#fff}.message.user .message-avatar{background:var(--text-secondary)}.message.ai .message-avatar{background:transparent;border:2px solid var(--border-color)}.message.error .message-avatar{background:var(--error-color)}.ai-avatar-small{width:24px;height:24px;border-radius:50%;object-fit:cover}.message-content{flex:1;min-width:0}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.message-sender{font-weight:600;font-size:.875rem;color:var(--text-primary)}.message-time{font-size:.75rem;color:var(--text-muted)}.message-body{color:var(--text-primary);line-height:1.6}.text-content{margin-bottom:12px}.text-content:last-child{margin-bottom:0}.code-block-container{margin:16px 0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-color)}.code-header{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--surface-bg);border-bottom:1px solid var(--border-color)}.language-label{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.copy-button{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;color:var(--text-secondary);background:transparent;transition:var(--transition)}.copy-button:hover{color:var(--text-primary);background:var(--border-color)}.copy-button.copied{color:var(--success-color)}.code-block{margin:0;padding:16px;background:#0d1117;color:#f0f6fc;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Consolas,monospace;font-size:.875rem;line-height:1.5;overflow-x:auto}.code-block code{background:none;padding:0;border-radius:0;font-size:inherit;color:inherit}[data-theme=neon] .message.ai{box-shadow:0 0 20px #00e6ff1a}[data-theme=neon] .message.user{box-shadow:0 0 15px #00e6ff0d}[data-theme=neon] .code-block-container{box-shadow:0 0 10px #00e6ff1a}@media (max-width: 768px){.message{gap:12px;padding:12px;margin-bottom:16px}.message.user{margin-left:40px}.message.ai,.message.error{margin-right:40px}.message-avatar{width:28px;height:28px}.ai-avatar-small{width:20px;height:20px}.message-sender{font-size:.8rem}.message-time{font-size:.7rem}.code-block{padding:12px;font-size:.8rem}.code-header{padding:6px 12px}.language-label{font-size:.7rem}.copy-button{padding:3px 6px;font-size:.7rem}}@media (max-width: 480px){.message.user{margin-left:20px}.message.ai,.message.error{margin-right:20px}.message-header{flex-direction:column;align-items:flex-start;gap:4px}}.message-list{flex:1;overflow-y:auto;padding:24px 0;background:var(--primary-bg)}.messages-container{max-width:800px;margin:0 auto;padding:0 24px}.welcome-message{text-align:center;padding:60px 20px;margin-bottom:40px}.welcome-content h3{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 12px;background:linear-gradient(135deg,var(--accent-color),var(--accent-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-content p{font-size:1rem;color:var(--text-secondary);margin:0;line-height:1.6}.loading-message{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px;padding:16px;border-radius:var(--radius-lg);background:var(--secondary-bg);border:1px solid var(--border-color)}.loading-message .ai-avatar{width:32px;height:32px;flex-shrink:0}.loading-message .ai-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.loading-content{flex:1;padding-top:4px}.typing-indicator{display:flex;gap:4px;align-items:center}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:var(--text-muted);animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}@media (max-width: 768px){.message-list{padding:16px 0}.messages-container{padding:0 16px}.welcome-message{padding:40px 16px}.welcome-content h3{font-size:1.25rem}.welcome-content p{font-size:.9rem}.loading-message{padding:12px;gap:12px}}.input-area{background:var(--secondary-bg);border-top:1px solid var(--border-color);padding:20px 24px;position:sticky;bottom:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.input-container{max-width:800px;margin:0 auto}.input-form{margin-bottom:12px}.input-wrapper{display:flex;align-items:flex-end;gap:12px;padding:12px 16px;background:var(--surface-bg);border:2px solid var(--border-color);border-radius:var(--radius-xl);transition:var(--transition);box-shadow:var(--shadow-light)}.input-wrapper:focus-within{border-color:var(--accent-color);box-shadow:0 0 0 3px #1a73e81a}[data-theme=neon] .input-wrapper:focus-within{border-color:var(--accent-color);box-shadow:0 0 20px #00e6ff4d}.message-input{flex:1;resize:none;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:1rem;line-height:1.5;font-family:inherit;min-height:24px;max-height:120px;overflow-y:auto}.message-input::placeholder{color:var(--text-muted)}.message-input:disabled{opacity:.6;cursor:not-allowed}.send-button{width:40px;height:40px;border-radius:50%;background:var(--surface-bg);color:var(--text-muted);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0}.send-button:hover:not(:disabled){background:var(--border-color);color:var(--text-primary)}.send-button.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.send-button.active:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.send-button:disabled{opacity:.5;cursor:not-allowed}[data-theme=neon] .send-button.active{box-shadow:0 0 15px #00e6ff66}.input-footer{text-align:center}.disclaimer{font-size:.75rem;color:var(--text-muted);margin:0;line-height:1.4}@media (max-width: 768px){.input-area{padding:16px}.input-wrapper{padding:10px 12px;gap:10px}.message-input{font-size:.9rem}.send-button{width:36px;height:36px}.disclaimer{font-size:.7rem}}@media (max-width: 480px){.input-area{padding:12px}.input-wrapper{padding:8px 10px}.send-button{width:32px;height:32px}}.chat-interface{min-height:100vh;display:flex;flex-direction:column;background:var(--primary-bg)}@media (max-width: 768px){.chat-interface{max-width:768px;margin:0 auto}}.welcome-container{min-height:100vh;display:flex;flex-direction:column;background:var(--primary-bg)}.welcome-header{padding:16px 24px;border-bottom:1px solid var(--border-color);background:var(--secondary-bg);position:sticky;top:0;z-index:10}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto}.brand-section{display:flex;align-items:center;gap:12px}.brand-icon{width:40px;height:40px;background:var(--accent-color);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff}.brand-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.header-controls{display:flex;align-items:center;gap:16px}.style-toggle{display:flex;background:var(--surface-bg);border-radius:var(--radius-sm);padding:4px;border:1px solid var(--border-color)}.style-btn{padding:8px 16px;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;color:var(--text-secondary);transition:var(--transition);display:flex;align-items:center;gap:6px}.style-btn:hover{color:var(--text-primary);background:var(--border-color)}.style-btn.active{background:var(--accent-color);color:#fff}.theme-btn{padding:10px;border-radius:var(--radius-sm);color:var(--text-secondary);transition:var(--transition);background:var(--surface-bg);border:1px solid var(--border-color)}.theme-btn:hover{color:var(--text-primary);background:var(--border-color)}.menu-container{position:relative}.menu-btn{padding:10px;border-radius:var(--radius-sm);color:var(--text-secondary);transition:var(--transition);background:var(--surface-bg);border:1px solid var(--border-color)}.menu-btn:hover{color:var(--text-primary);background:var(--border-color)}.menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--secondary-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-heavy);min-width:200px;z-index:20;overflow:hidden}.menu-dropdown a{display:flex;align-items:center;gap:12px;padding:12px 16px;color:var(--text-primary);transition:var(--transition)}.menu-dropdown a:hover{background:var(--border-color)}.welcome-main{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 24px}.welcome-content{text-align:center;max-width:600px;width:100%}.avatar-section{margin-bottom:32px}.avatar-container{position:relative;display:inline-block}.avatar-image{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid var(--border-color);transition:var(--transition)}.avatar-glow{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;background:linear-gradient(45deg,var(--accent-color),var(--accent-hover));opacity:0;transition:var(--transition);z-index:-1}[data-theme=neon] .avatar-glow{opacity:.3;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.05)}}.text-section{margin-bottom:40px}.welcome-title{font-size:2.5rem;font-weight:600;color:var(--text-primary);margin:0 0 16px;background:linear-gradient(135deg,var(--accent-color),var(--accent-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-subtitle{font-size:1.125rem;color:var(--text-secondary);line-height:1.6;margin:0}.continue-btn{background:var(--accent-color);color:#fff;padding:16px 32px;border-radius:var(--radius-xl);font-size:1rem;font-weight:600;display:inline-flex;align-items:center;gap:12px;transition:var(--transition);box-shadow:var(--shadow-medium)}.continue-btn:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:var(--shadow-heavy)}.continue-btn:active{transform:translateY(0)}[data-theme=neon] .continue-btn{box-shadow:0 0 20px #00e6ff4d}[data-theme=neon] .continue-btn:hover{box-shadow:0 0 30px #00e6ff80}@media (max-width: 768px){.welcome-header{padding:12px 16px}.header-content{flex-direction:column;gap:16px;align-items:stretch}.brand-section{justify-content:center}.header-controls{justify-content:center;flex-wrap:wrap}.brand-title{font-size:1.125rem}.welcome-main{padding:24px 16px}.avatar-image{width:100px;height:100px}.welcome-title{font-size:2rem}.welcome-subtitle{font-size:1rem}.continue-btn{padding:14px 28px;font-size:.9rem}.style-toggle{order:1}.theme-btn{order:2}.menu-container{order:3}}@media (max-width: 480px){.header-controls{gap:8px}.style-btn{padding:6px 12px;font-size:.8rem}.welcome-title{font-size:1.75rem}}.app-container{min-height:100vh;display:flex;flex-direction:column;background-color:var(--primary-bg);transition:var(--transition)}@media (max-width: 768px){.app-container{max-width:768px;margin:0 auto}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-bg: #f8f9fa;--secondary-bg: #ffffff;--surface-bg: #ffffff;--text-primary: #1f1f1f;--text-secondary: #5f6368;--text-muted: #9aa0a6;--border-color: #e8eaed;--accent-color: #1a73e8;--accent-hover: #1557b0;--success-color: #137333;--warning-color: #ea8600;--error-color: #d93025;--shadow-light: 0 1px 3px rgba(0,0,0,.1);--shadow-medium: 0 4px 6px rgba(0,0,0,.1);--shadow-heavy: 0 8px 25px rgba(0,0,0,.15);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--transition: all .2s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--primary-bg: #0d1117;--secondary-bg: #161b22;--surface-bg: #21262d;--text-primary: #f0f6fc;--text-secondary: #8b949e;--text-muted: #656d76;--border-color: #30363d;--accent-color: #58a6ff;--accent-hover: #388bfd;--success-color: #3fb950;--warning-color: #d29922;--error-color: #f85149;--shadow-light: 0 1px 3px rgba(0,0,0,.3);--shadow-medium: 0 4px 6px rgba(0,0,0,.3);--shadow-heavy: 0 8px 25px rgba(0,0,0,.4)}[data-theme=neon]{--primary-bg: #020617;--secondary-bg: #0f172a;--surface-bg: #1e293b;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--border-color: #334155;--accent-color: #00e6ff;--accent-hover: #00d4e6;--success-color: #10b981;--warning-color: #f59e0b;--error-color: #ef4444;--shadow-light: 0 1px 3px rgba(0,230,255,.2);--shadow-medium: 0 4px 6px rgba(0,230,255,.2);--shadow-heavy: 0 8px 25px rgba(0,230,255,.3)}body{font-family:Google Sans,Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:var(--primary-bg);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:var(--transition)}#root{min-height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}::selection{background:var(--accent-color);color:#fff}*:focus{outline:2px solid var(--accent-color);outline-offset:2px}button{border:none;background:none;cursor:pointer;font-family:inherit}input,textarea{border:none;background:none;font-family:inherit;color:inherit}input:focus,textarea:focus{outline:none}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loading-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-in{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 768px){body{font-size:14px}}@media (min-width: 769px){body{font-size:16px}}
