*{margin:0;padding:0;box-sizing:border-box}body{background:#0f172a;color:#e2e8f0;font-family:Inter,system-ui,-apple-system,sans-serif}.app{display:flex;flex-direction:column;height:100vh}.header{display:flex;align-items:center;gap:12px;padding:16px 24px;background:#1e293b;border-bottom:1px solid #334155}.logo{font-size:1.5rem;font-weight:700;color:#3b82f6}.subtitle{font-size:.85rem;color:#94a3b8}.ws-status{margin-left:auto;font-size:.75rem;padding:4px 10px;border-radius:12px}.ws-status.online{background:#10b98126;color:#10b981}.ws-status.offline{background:#ef444426;color:#ef4444}.chat-area{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:12px}.empty-state{margin:auto;text-align:center}.empty-state h2{font-size:1.5rem;margin-bottom:8px;color:#cbd5e1}.empty-state p{color:#64748b}.message{max-width:70%;padding:10px 16px;border-radius:12px;line-height:1.5;white-space:pre-wrap}.message.user{align-self:flex-end;background:#3b82f6;color:#fff}.message.assistant{align-self:flex-start;background:#1e293b;border:1px solid #334155}.message.typing{color:#94a3b8;font-style:italic}.voice-section{display:flex;justify-content:center;padding:12px 0;background:#0f172a}.voice-container{display:flex;flex-direction:column;align-items:center;gap:8px}.voice-bubble{max-width:300px;padding:8px 14px;border-radius:10px;font-size:.85rem;text-align:center}.voice-user{background:#3b82f626;color:#93c5fd}.voice-assistant{background:#10b98126;color:#6ee7b7}.voice-btn{width:64px;height:64px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s}.voice-btn:disabled{opacity:.6;cursor:not-allowed}.voice-btn.voice-idle{background:#334155;box-shadow:none}.voice-btn.voice-listening{background:#10b981;animation:pulse-ring-green 1.5s ease-out infinite}.voice-btn.voice-processing{background:#f59e0b;box-shadow:0 0 20px #f59e0b66}.voice-btn.voice-speaking{background:#3b82f6;box-shadow:0 0 20px #3b82f666}@keyframes pulse-ring-green{0%{box-shadow:0 0 #10b98180}70%{box-shadow:0 0 0 18px #10b98100}to{box-shadow:0 0 #10b98100}}.voice-label{font-size:.75rem;color:#64748b}.sound-wave{display:flex;align-items:center;gap:3px;height:28px}.wave-bar{display:block;width:4px;border-radius:2px;background:#fff}.sound-wave.fast .wave-bar{animation:wave-fast .6s ease-in-out infinite alternate}.sound-wave.fast .wave-bar:nth-child(1){height:8px;animation-delay:0s;opacity:.7}.sound-wave.fast .wave-bar:nth-child(2){height:16px;animation-delay:.1s;opacity:.85}.sound-wave.fast .wave-bar:nth-child(3){height:24px;animation-delay:.2s;opacity:1}.sound-wave.fast .wave-bar:nth-child(4){height:16px;animation-delay:.3s;opacity:.85}.sound-wave.fast .wave-bar:nth-child(5){height:8px;animation-delay:.4s;opacity:.7}@keyframes wave-fast{0%{transform:scaleY(.4)}to{transform:scaleY(1)}}.sound-wave.slow .wave-bar{animation:wave-slow 1.4s ease-in-out infinite alternate;background:#fff}.sound-wave.slow .wave-bar:nth-child(1){height:10px;animation-delay:0s;opacity:.5}.sound-wave.slow .wave-bar:nth-child(2){height:14px;animation-delay:.15s;opacity:.6}.sound-wave.slow .wave-bar:nth-child(3){height:18px;animation-delay:.3s;opacity:.7}.sound-wave.slow .wave-bar:nth-child(4){height:14px;animation-delay:.45s;opacity:.6}.sound-wave.slow .wave-bar:nth-child(5){height:10px;animation-delay:.6s;opacity:.5}@keyframes wave-slow{0%{transform:scaleY(.5);opacity:.4}50%{transform:scaleY(1);opacity:1}to{transform:scaleY(.5);opacity:.4}}.input-bar{display:flex;gap:8px;padding:16px 24px;background:#1e293b;border-top:1px solid #334155}.chat-input{flex:1;padding:10px 16px;border-radius:8px;border:1px solid #334155;background:#0f172a;color:#e2e8f0;font-size:.95rem;outline:none;transition:border-color .2s}.chat-input:focus{border-color:#3b82f6}.chat-input:disabled{opacity:.5}.send-btn{padding:10px 20px;border-radius:8px;border:none;background:#3b82f6;color:#fff;font-weight:600;cursor:pointer;transition:background .2s}.send-btn:hover{background:#2563eb}.send-btn:disabled{opacity:.5;cursor:not-allowed}
