*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,#0f0f23 0%,#1a1a3f 100%);color:#e0e0e0;min-height:100vh}.app{display:flex;flex-direction:column;min-height:100vh;max-width:900px;margin:0 auto;padding:20px}.app-header{text-align:center;margin-bottom:40px;padding:30px 0}.app-header h1{font-size:3rem;background:linear-gradient(135deg,#00d9ff,#0099ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:10px}.app-header p{font-size:1.2rem;color:#888}.app-main{flex:1;display:flex;flex-direction:column;gap:30px;margin-bottom:40px}.section{background:rgba(255,255,255,.05);border:1px solid rgba(0,217,255,.2);border-radius:12px;padding:25px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.section h3{font-size:.85rem;text-transform:uppercase;letter-spacing:1px;color:#00d9ff;margin-bottom:15px;font-weight:600}.voice-section{text-align:center}.record-btn{display:inline-flex;align-items:center;gap:12px;padding:18px 45px;font-size:1.1rem;font-weight:600;background:linear-gradient(135deg,#00d9ff,#0099ff);color:#000;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 0 20px #00d9ff4d}.record-btn:hover:not(.disabled){transform:translateY(-3px);box-shadow:0 0 30px #00d9ff80}.record-btn.recording{background:linear-gradient(135deg,#ff006e,#ff0066);animation:pulse-bg 1.5s infinite}.record-btn.disabled{opacity:.5;cursor:not-allowed}@keyframes pulse-bg{0%,to{opacity:1}50%{opacity:.8}}.record-btn .pulse{display:inline-block;width:8px;height:8px;background:#fff;border-radius:50%;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}}.hint{font-size:.85rem;color:#888;margin-top:10px}.transcript-section{border-left:3px solid #00d9ff}.transcript{padding:20px;background:rgba(0,217,255,.05);border-radius:8px}.transcript-text{font-size:1.1rem;font-style:italic;color:#e0e0e0;line-height:1.6;margin-bottom:10px}.transcript-label{font-size:.75rem;color:#00d9ff;text-transform:uppercase;letter-spacing:.5px}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:15px}.spinner{width:40px;height:40px;border:3px solid rgba(0,217,255,.2);border-top:3px solid #00d9ff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.response-section{border-left:3px solid #00ff88}.agent-response{padding:20px;background:rgba(0,255,136,.05);border-radius:8px}.response-text{font-size:1.1rem;color:#e0e0e0;line-height:1.6;margin-bottom:15px}.audio-player{margin:15px 0;padding:12px;background:rgba(0,217,255,.1);border-radius:6px}.audio-player audio{width:100%;margin-bottom:8px}.audio-label,.response-label{font-size:.75rem;color:#0f8;text-transform:uppercase;letter-spacing:.5px}.error{padding:15px 20px;background:rgba(255,0,110,.1);border:1px solid rgba(255,0,110,.3);border-radius:8px;color:#ff006e;font-size:.95rem}.error p{margin:0}.controls-section{text-align:center}.controls{display:flex;flex-direction:column;align-items:center;gap:10px}.btn{padding:12px 30px;font-size:.95rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease}.btn-secondary{background:rgba(255,255,255,.1);color:#00d9ff;border:1px solid rgba(0,217,255,.3)}.btn-secondary:hover:not(:disabled){background:rgba(0,217,255,.2);border-color:#00d9ff80}.btn:disabled{opacity:.5;cursor:not-allowed}.controls-hint{font-size:.85rem;color:#888}.history-section{border-left:3px solid #ff9500}.conversation-history{display:flex;flex-direction:column;gap:12px}.message{padding:12px;border-radius:6px;display:flex;gap:12px;align-items:flex-start}.message-user{background:rgba(0,217,255,.05);border-left:2px solid #00d9ff}.message-agent{background:rgba(0,255,136,.05);border-left:2px solid #00ff88}.badge{font-size:1.2rem;min-width:30px}.message p{margin:0;font-size:.95rem;line-height:1.5}.app-footer{text-align:center;padding:20px;border-top:1px solid rgba(0,217,255,.1);color:#666;font-size:.85rem}@media (max-width: 600px){.app{padding:15px}.app-header h1{font-size:2rem}.record-btn{padding:15px 30px;font-size:1rem}.section{padding:15px}.message{flex-direction:column}}
