.message-list{gap:var(--spacing-lg);flex-direction:column;display:flex}.message{gap:var(--spacing-md);animation:.3s slideIn;display:flex}.message.user{flex-direction:row-reverse}.message.interim{opacity:.7}.message-avatar{border:2px solid var(--border-color);width:40px;height:40px;transition:all var(--transition-base);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.message.user .message-avatar{background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);border-color:#0000}.message.assistant .message-avatar{background:var(--bg-tertiary);border-color:var(--accent-primary)}.message-avatar svg{width:20px;height:20px;color:var(--text-primary)}.message-content{gap:var(--spacing-xs);flex-direction:column;flex:1;max-width:70%;display:flex}.message.user .message-content{align-items:flex-end}.message-header{align-items:center;gap:var(--spacing-sm);font-size:.875rem;display:flex}.message.user .message-header{flex-direction:row-reverse}.message-role{color:var(--text-primary);font-weight:600}.message-time{color:var(--text-muted);font-size:.75rem}.message-text{padding:var(--spacing-md)var(--spacing-lg);border-radius:var(--radius-lg);background:var(--bg-tertiary);border:1px solid var(--border-color);transition:all var(--transition-base)}.message.user .message-text{background:var(--accent-gradient);border-color:#0000}.message.error .message-text{color:var(--error);background:#ef44441a;border-color:#ef44444d}.message-text p{color:var(--text-primary);word-wrap:break-word;margin:0;line-height:1.6}.message.user .message-text p{color:#fff}.interim-text{opacity:.8;font-style:italic}.loading-dots{gap:6px;padding:8px 0;display:flex}.loading-dots span{background:var(--accent-primary);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite pulse}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}.listening-indicator{align-items:center;gap:var(--spacing-xs);color:var(--accent-primary);font-size:.75rem;font-weight:500;display:flex}.pulse-dot{background:var(--accent-primary);border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite pulse}.scraped-card{margin-top:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--radius-md);gap:var(--spacing-md);transition:all var(--transition-base);background:#6366f10d;border:1px solid #6366f133;display:flex}.scraped-card:hover{background:#6366f114;border-color:#6366f14d}.scraped-card-icon{border-radius:var(--radius-sm);background:#6366f11a;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.scraped-card-icon svg{width:20px;height:20px;color:var(--accent-primary)}.scraped-card-content{gap:var(--spacing-xs);flex-direction:column;flex:1;display:flex}.scraped-card-content h4{color:var(--text-primary);margin:0;font-size:.9375rem;font-weight:600}.scraped-card-content p{color:var(--text-secondary);margin:0;font-size:.875rem;line-height:1.5}.scraped-card-content a{color:var(--accent-primary);transition:all var(--transition-fast);word-break:break-all;font-size:.8125rem;text-decoration:none}.scraped-card-content a:hover{color:var(--accent-secondary);text-decoration:underline}@media (max-width:768px){.message-content{max-width:80%}.message-text{padding:var(--spacing-sm)var(--spacing-md)}.scraped-card{flex-direction:column}}@media (max-width:480px){.message-content{max-width:85%}.message-avatar{width:32px;height:32px}.message-avatar svg{width:16px;height:16px}}
.voice-controls{justify-content:center;align-items:center;gap:var(--spacing-xl);width:100%;display:flex;position:relative}.mic-button-wrapper{justify-content:center;align-items:center;display:flex;position:relative}.mic-button{background:var(--accent-primary);cursor:pointer;width:80px;height:80px;transition:all var(--transition-base);z-index:10;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative;box-shadow:0 0 20px #ccff004d}.mic-button svg{width:32px;height:32px;color:var(--text-dark)}.mic-button:hover{transform:scale(1.1);box-shadow:0 0 30px #ccff0080}.mic-button.listening{background:var(--accent-primary);animation:2s infinite pulse-ring}.mic-ring{border:1px solid var(--accent-primary);opacity:0;pointer-events:none;border-radius:50%;width:100%;height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mic-button.listening .mic-ring:first-child{animation:2s linear infinite ripple}.mic-button.listening .mic-ring:nth-child(2){animation:2s linear .6s infinite ripple}.mic-button.listening .mic-ring:nth-child(3){animation:2s linear 1.2s infinite ripple}.control-button{background:var(--bg-tertiary);border:1px solid var(--border-color);width:48px;height:48px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);border-radius:50%;justify-content:center;align-items:center;display:flex}.control-button:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--text-secondary)}.control-button svg{width:20px;height:20px}@keyframes ripple{0%{opacity:.8;border-width:2px;width:80px;height:80px}to{opacity:0;border-width:0;width:160px;height:160px}}@keyframes pulse-ring{0%{box-shadow:0 0 #ccff00b3}70%{box-shadow:0 0 0 20px #cf00}to{box-shadow:0 0 #cf00}}
.voice-chatbot{width:100vw;max-width:none;height:100vh;max-height:none;box-shadow:none;z-index:1;background:0 0;border:none;border-radius:0;flex-direction:column;margin:0;display:flex;position:relative;overflow:hidden}.chatbot-header{padding:var(--spacing-lg);z-index:20;pointer-events:none;background:linear-gradient(#000c 0%,#0000 100%);justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:0;left:0;right:0}.header-top{align-items:center;gap:var(--spacing-lg);pointer-events:auto;display:flex}.language-selector{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);outline:none;padding:6px 12px;font-size:.875rem}.language-selector:hover,.language-selector:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #ccff001a}.ai-badge{color:var(--neon-green);letter-spacing:2px;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ccff001a;border:1px solid #ccff004d;border-radius:9999px;padding:8px 20px;font-size:1rem;font-weight:600;box-shadow:0 0 20px #cf03}.status-indicator{color:var(--text-secondary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0006;border:1px solid #ffffff1a;border-radius:9999px;align-items:center;gap:8px;padding:6px 16px;font-size:.875rem;display:flex}.status-dot{background:var(--text-muted);border-radius:50%;width:8px;height:8px;transition:all .3s}.status-dot.connected{background:var(--neon-green);box-shadow:0 0 10px var(--neon-green)}.visualizer-container{z-index:0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.chatbot-body{width:400px;padding:var(--spacing-lg);gap:var(--spacing-md);z-index:10;border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0003;border:1px solid #ffffff0d;flex-direction:column;display:flex;position:absolute;top:100px;bottom:120px;right:40px;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 5% 95%,#0000);mask-image:linear-gradient(#0000,#000 5% 95%,#0000)}.chatbot-body::-webkit-scrollbar{width:6px;display:block}.chatbot-body::-webkit-scrollbar-track{background:#ffffff05}.chatbot-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.chatbot-body::-webkit-scrollbar-thumb:hover{background:#fff3}.orb{filter:blur(1px);background:radial-gradient(circle at 30% 30%,#fffc 0%,#4cc9f099 20%,#9d4edd99 50%,#14141400 80%);border-radius:50%;width:200px;height:200px;animation:6s ease-in-out infinite float,4s ease-in-out infinite breathe;position:relative;box-shadow:inset -20px -20px 50px #00000080,0 0 50px #4cc9f04d,0 0 100px #9d4edd33}.orb:after{content:"";mix-blend-mode:overlay;background:radial-gradient(circle at 70% 70%,#cf03 0%,#0000 50%);border-radius:50%;animation:10s linear infinite spin;position:absolute;inset:0}.orb.listening{animation:6s ease-in-out infinite float,1.5s ease-in-out infinite pulse-listen;box-shadow:inset -20px -20px 50px #00000080,0 0 60px #cf06,0 0 120px #4cc9f04d}.orb.speaking{animation:6s ease-in-out infinite float,.5s ease-in-out infinite pulse-speak}.transcript-overlay{text-align:center;width:80%;max-width:800px;color:var(--text-primary);text-shadow:0 4px 20px #000c;opacity:.9;z-index:15;pointer-events:none;font-size:1.5rem;font-weight:500;line-height:1.6;position:absolute;bottom:140px;left:50%;transform:translate(-50%)}.chatbot-footer{width:auto;padding:var(--spacing-md)var(--spacing-xl);gap:var(--spacing-xl);z-index:20;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#14141499;border:1px solid #ffffff1a;border-radius:9999px;flex-direction:row;align-items:center;display:flex;position:absolute;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #00000080}.error-banner{color:#f55;border-radius:var(--radius-lg);z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ff333326;border:1px solid #f336;align-items:center;gap:12px;padding:12px 24px;font-size:1rem;display:flex;position:absolute;top:100px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0006}.error-close{color:currentColor;cursor:pointer;opacity:.7;background:0 0;border:none;font-size:1.2rem;transition:opacity .2s}.error-close:hover{opacity:1}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-listen{0%,to{transform:scale(1);box-shadow:0 0 50px #ccff004d}50%{transform:scale(1.1);box-shadow:0 0 80px #cf09}}@keyframes pulse-speak{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.voice-chatbot{background:var(--bg-secondary);height:100vh}.chatbot-body{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;flex:1;width:100%;position:relative;top:auto;bottom:auto;right:auto}.chatbot-footer{background:linear-gradient(to top,var(--bg-primary)0%,transparent 100%);width:100%;box-shadow:none;border:none;border-radius:0;position:relative;bottom:auto;left:auto;transform:none}.transcript-overlay{font-size:1.1rem;bottom:20px}}
