.voice-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:rgba(0,0,0,.5);justify-content:center;align-items:center;animation:.2s overlay-in;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.voice-modal-card{background:#fff;border-radius:24px;flex-direction:column;align-items:center;gap:20px;width:min(440px,92vw);padding:40px 36px 32px;animation:.3s cubic-bezier(.34,1.56,.64,1) card-in;display:flex;position:relative;box-shadow:0 24px 64px rgba(0,0,0,.18)}@keyframes card-in{0%{opacity:0;transform:scale(.88)translateY(16px)}to{opacity:1;transform:scale(1)translateY(0)}}.voice-modal-close{color:#666;cursor:pointer;background:#f0f0f0;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;transition:background .15s;display:flex;position:absolute;top:14px;right:14px}.voice-modal-close:hover{color:#333;background:#e0e0e0}.voice-modal-header{text-align:center}.voice-modal-header .voice-modal-title{color:#1a1a2e;letter-spacing:-.3px;margin:0 0 6px;font-size:22px;font-weight:700}.voice-modal-header .voice-modal-subtitle{color:#777;margin:0;font-size:14px;line-height:1.5}.voice-modal-visual{flex-direction:column;justify-content:center;align-items:center;gap:24px;width:100%;min-height:156px;display:flex}.voice-mic-wrap{justify-content:center;align-items:center;width:110px;height:110px;display:flex;position:relative}.voice-mic-icon{z-index:2;color:#fff;background:linear-gradient(135deg,#e53935,#b71c1c);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;display:flex;position:relative;box-shadow:0 6px 20px rgba(229,57,53,.4)}.voice-mic-icon.is-listening{animation:1.6s ease-in-out infinite mic-breathe}@keyframes mic-breathe{0%,to{transform:scale(1);box-shadow:0 6px 20px rgba(229,57,53,.4)}50%{transform:scale(1.07);box-shadow:0 8px 28px rgba(229,57,53,.6)}}.voice-ring{background:rgba(229,57,53,.12);border-radius:50%;animation:2.2s ease-out infinite ring-pulse;position:absolute}.voice-ring-1{width:96px;height:96px;animation-delay:0s}.voice-ring-2{width:124px;height:124px;animation-delay:.55s}.voice-ring-3{width:152px;height:152px;animation-delay:1.1s}@keyframes ring-pulse{0%{opacity:.7;transform:scale(.7)}to{opacity:0;transform:scale(1.15)}}.voice-wave{align-items:center;gap:5px;height:40px;display:flex}.voice-wave-bar{background:linear-gradient(#82b4f8,#1a73e8);border-radius:3px;width:4px;animation:1s ease-in-out infinite bar-bounce;display:inline-block}.voice-wave-bar.bar-1{height:10px;animation-delay:0s}.voice-wave-bar.bar-2{height:20px;animation-delay:.1s}.voice-wave-bar.bar-3{height:32px;animation-delay:.2s}.voice-wave-bar.bar-4{height:40px;animation-delay:.3s}.voice-wave-bar.bar-5{height:32px;animation-delay:.4s}.voice-wave-bar.bar-6{height:20px;animation-delay:.5s}.voice-wave-bar.bar-7{height:10px;animation-delay:.6s}@keyframes bar-bounce{0%,to{opacity:.5;transform:scaleY(.35)}50%{opacity:1;transform:scaleY(1)}}.voice-spinner-wrap{justify-content:center;align-items:center;height:100px;display:flex}.voice-spinner{border:5px solid #e8eef7;border-top-color:#1a73e8;border-radius:50%;width:62px;height:62px;animation:.75s linear infinite spin}.voice-spinner.is-done{border-top-color:#2e7d32;animation-duration:.4s}@keyframes spin{to{transform:rotate(360deg)}}.voice-error-wrap{flex-direction:column;align-items:center;gap:10px;width:100%;display:flex}.voice-error-wrap .voice-error-icon{font-size:32px}.voice-error-wrap .voice-modal-error{color:#c62828;text-align:center;background:#ffebee;border-radius:8px;width:100%;margin:0;padding:10px 16px;font-size:13px}.voice-retry-btn{color:#fff;cursor:pointer;background:#1a73e8;border:none;border-radius:10px;padding:10px 28px;font-size:14px;font-weight:600;transition:background .15s}.voice-retry-btn:hover{background:#1558c0}.voice-modal-hint{color:#aaa;text-align:center;margin:0;padding:0 8px;font-size:13px;font-style:italic}.voice-modal-cancel{color:#777;cursor:pointer;background:0 0;border:1px solid #ddd;border-radius:10px;width:100%;padding:10px 28px;font-size:14px;transition:all .15s}.voice-modal-cancel:hover{color:#333;background:#f5f5f5;border-color:#bbb}
