:root{--bg: #0a0e1a;--bg-elevated: #131a2c;--bg-elevated-2: #1a2238;--border: #26304a;--text: #eef1fa;--muted: #93a0bd;--accent: #5b7fff;--accent-2: #8a6cf6;--accent-glow: rgba(91, 127, 255, .32);--danger: #fb5b6b;--success: #2fd88a;--warning: #f5b94d;--radius: 16px;--radius-sm: 10px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{margin:0;padding:0;background:radial-gradient(circle at 15% -10%,rgba(91,127,255,.16),transparent 45%),radial-gradient(circle at 100% 0%,rgba(138,108,246,.12),transparent 40%),var(--bg);color:var(--text);min-height:100vh;letter-spacing:.005em}h1,h2,h3{letter-spacing:-.01em;font-weight:700}button{cursor:pointer;font-family:inherit;border:none}button:disabled{cursor:not-allowed;opacity:.5}.btn{border-radius:999px;padding:.7rem 1.6rem;font-size:.95rem;font-weight:600;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease;box-shadow:0 8px 22px var(--accent-glow)}.btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06)}.btn:active:not(:disabled){transform:translateY(0)}.btn.btn-secondary{background:var(--bg-elevated-2);color:var(--text);border:1px solid var(--border);box-shadow:none}.btn.btn-secondary:hover:not(:disabled){border-color:var(--accent)}.btn.btn-danger{background:linear-gradient(135deg,#ff6b78,var(--danger));box-shadow:0 8px 22px #fb5b6b47}.btn.btn-ghost{background:transparent;color:var(--muted);box-shadow:none}.btn.btn-ghost:hover:not(:disabled){color:var(--text);transform:none}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:0 1px #ffffff08 inset,0 20px 40px -20px #00000080}input,textarea,select{width:100%;padding:.65rem .8rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:#0f1526;color:var(--text);font-size:.92rem;transition:border-color .14s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent)}.muted{color:var(--muted)}.avatar{position:relative;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#7d9aff,var(--accent-2) 70%,#2d3d9a);display:flex;align-items:center;justify-content:center;margin:0 auto;box-shadow:0 0 0 1px #ffffff14,0 20px 45px -18px #5b7fff8c}.avatar-ring{position:absolute;inset:-14px;border-radius:50%;border:2px solid var(--accent);opacity:0}.avatar.speaking .avatar-ring{animation:pulse-ring 1.6s ease-out infinite}.avatar.speaking .avatar-ring:nth-child(2){animation-delay:.5s}.avatar.speaking .avatar-ring:nth-child(3){animation-delay:1s}@keyframes pulse-ring{0%{transform:scale(.85);opacity:.55}to{transform:scale(1.5);opacity:0}}.avatar-core{width:46px;height:46px;border-radius:50%;background:#fff;opacity:.92}.avatar.thinking .avatar-core{animation:pulse-core 1.1s ease-in-out infinite}@keyframes pulse-core{0%,to{transform:scale(1);opacity:.92}50%{transform:scale(.8);opacity:.6}}.waveform{display:flex;align-items:center;justify-content:center;gap:4px;height:28px}.waveform span{display:inline-block;width:4px;border-radius:2px;background:var(--accent);animation:wave 1s ease-in-out infinite}.waveform span:nth-child(1){height:8px;animation-delay:0s}.waveform span:nth-child(2){height:18px;animation-delay:.1s}.waveform span:nth-child(3){height:26px;animation-delay:.2s}.waveform span:nth-child(4){height:16px;animation-delay:.3s}.waveform span:nth-child(5){height:10px;animation-delay:.4s}@keyframes wave{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}.buffering-dots span{display:inline-block;width:7px;height:7px;margin:0 3px;border-radius:50%;background:var(--muted);animation:dot-bounce 1.2s ease-in-out infinite}.buffering-dots span:nth-child(2){animation-delay:.15s}.buffering-dots span:nth-child(3){animation-delay:.3s}@keyframes dot-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-6px);opacity:1}}.error-text{color:var(--danger);font-size:.88rem}
