.chat-area { flex: 1; overflow-y: auto; overflow-x: hidden; background: radial-gradient(ellipse 60% 50% at 15% 20%, rgba(59,142,255,0.09) 0%, transparent 70%), radial-gradient(ellipse 50% 60% at 85% 75%, rgba(155,109,255,0.08) 0%, transparent 65%), radial-gradient(ellipse 45% 40% at 60% 10%, rgba(0,229,255,0.06) 0%, transparent 60%); } .chat-area__inner { max-width: 760px; margin: 0 auto; padding: 32px 24px 16px; display: flex; flex-direction: column; gap: 4px; min-height: 100%; } .welcome { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 48px 24px 40px; animation: fadeInUp 0.55s cubic-bezier(0.4, 0, 0.2, 1); flex: 1; } .welcome__icon { position: relative; margin-bottom: 32px; animation: float 5s ease-in-out infinite; } .welcome__icon::before { content: ''; position: absolute; inset: -20px; background: radial-gradient(circle, rgba(59,142,255,0.2) 0%, rgba(0,229,255,0.1) 40%, transparent 70%); border-radius: 50%; animation: glowPulse 3s ease-in-out infinite; } .welcome__icon svg { filter: drop-shadow(0 0 12px rgba(59,142,255,0.8)) drop-shadow(0 0 28px rgba(0,229,255,0.5)); } .welcome__title { font-size: 44px; font-weight: 700; letter-spacing: -0.05em; background: linear-gradient(135deg, #ffffff 10%, #a8d4ff 45%, #00E5FF 75%, #9B6DFF 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; margin-bottom: 12px; line-height: 1; animation: textGlow 5s ease-in-out infinite; } .welcome__tagline { font-size: 13px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent-cyan); margin-bottom: 18px; opacity: 0.85; } .welcome__desc { font-size: 14.5px; color: var(--text-secondary); line-height: 1.75; max-width: 460px; margin-bottom: 40px; } .welcome__chips { display: flex; flex-wrap: wrap; gap: 9px; justify-content: center; max-width: 620px; } .welcome__chip { padding: 10px 18px; background: var(--bg-glass); border: 1px solid var(--border-default); border-radius: 100px; color: var(--text-secondary); font-family: var(--font-sans); font-size: 13px; font-weight: 400; cursor: pointer; transition: all var(--transition-base); white-space: nowrap; position: relative; overflow: hidden; } .welcome__chip::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(59,142,255,0.1) 0%, rgba(0,229,255,0.05) 100%); opacity: 0; transition: opacity var(--transition-fast); } .welcome__chip:hover::before { opacity: 1; } .welcome__chip:hover { border-color: rgba(0,229,255,0.45); color: var(--accent-cyan); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,229,255,0.15), 0 0 0 1px rgba(0,229,255,0.12); } .typing-indicator { display: flex; align-items: flex-end; gap: 12px; padding: 10px 0; animation: fadeIn 0.22s ease; } .typing-indicator__avatar { width: 34px; height: 34px; background: linear-gradient(135deg, rgba(59,142,255,0.2), rgba(155,109,255,0.15)); border: 1px solid rgba(59,142,255,0.3); border-radius: 11px; display: flex; align-items: center; justify-content: center; font-size: 9px; font-weight: 700; color: var(--accent-cyan); font-family: var(--font-mono); flex-shrink: 0; letter-spacing: 0.04em; box-shadow: 0 0 14px rgba(59,142,255,0.2); } .typing-indicator__bubble { display: flex; align-items: center; gap: 7px; padding: 13px 18px; background: var(--bg-elevated); border: 1px solid var(--border-default); border-radius: 16px 16px 16px 4px; box-shadow: 0 0 20px rgba(59,142,255,0.08); } .typing-indicator__dot { width: 5px; height: 5px; background: var(--accent-cyan); border-radius: 50%; animation: bounceDot 1.3s ease-in-out infinite; box-shadow: 0 0 6px rgba(0,229,255,0.6); } .typing-indicator__label { font-size: 11.5px; font-family: var(--font-mono); color: var(--text-tertiary); margin-left: 5px; letter-spacing: 0.05em; }