@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #080c12;--bg-secondary: #0e1420;--bg-card: #131a26;--bg-card-hover: #1a2235;--bg-input: #0b1019;--border: rgba(255, 255, 255, .07);--border-light: rgba(255, 255, 255, .12);--accent: #7c6af7;--accent-bright: #9d8fff;--accent-glow: rgba(124, 106, 247, .3);--accent-glow-strong: rgba(124, 106, 247, .6);--red: #f25c7e;--red-glow: rgba(242, 92, 126, .4);--green: #2ed573;--green-glow: rgba(46, 213, 115, .3);--amber: #ffd32a;--text-primary: #f0f4ff;--text-secondary: rgba(240, 244, 255, .6);--text-muted: rgba(240, 244, 255, .35);--gradient-main: linear-gradient(135deg, #7c6af7 0%, #a78bfa 50%, #c084fc 100%);--gradient-red: linear-gradient(135deg, #f25c7e, #ff6b9d);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--shadow-card: 0 4px 32px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.05) inset;--shadow-glow: 0 0 40px var(--accent-glow), 0 0 80px rgba(124,106,247,.1);--transition: .2s cubic-bezier(.4, 0, .2, 1)}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden;line-height:1.6}#root{min-height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}@keyframes pulse-ring{0%{transform:scale(.8);opacity:1}to{transform:scale(2.4);opacity:0}}@keyframes pulse-core{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes float-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes wave{0%,to{height:6px}50%{height:22px}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-float-up{animation:float-up .5s ease forwards}.glass-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.gradient-text{background:var(--gradient-main);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}button{font-family:Inter,sans-serif;cursor:pointer;border:none;outline:none;transition:all var(--transition)}button:disabled{opacity:.5;cursor:not-allowed}textarea,input,select{font-family:Inter,sans-serif;outline:none;border:none;resize:none;background:transparent;color:var(--text-primary)}::selection{background:var(--accent-glow);color:var(--text-primary)}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);position:relative;overflow:hidden}.app:before{content:"";position:fixed;top:-200px;left:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(124,106,247,.12) 0%,transparent 70%);pointer-events:none;z-index:0}.app:after{content:"";position:fixed;bottom:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(242,92,126,.08) 0%,transparent 70%);pointer-events:none;z-index:0}.header{position:sticky;top:0;z-index:100;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between;background:#080c12cc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}.header-logo{display:flex;align-items:center;gap:10px;text-decoration:none}.header-logo-icon{width:34px;height:34px;border-radius:10px;background:var(--gradient-main);display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 0 20px var(--accent-glow)}.header-logo-text{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:18px;background:var(--gradient-main);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-badge{font-size:11px;font-weight:500;color:var(--text-muted);padding:3px 10px;border-radius:20px;border:1px solid var(--border);background:var(--bg-card)}.header-actions{display:flex;align-items:center;gap:12px}.header-user{font-size:12px;color:var(--text-secondary)}.header-action-btn{padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);font-size:12px;font-weight:600;transition:all .2s ease}.header-action-btn:hover{border-color:var(--accent);box-shadow:0 0 18px var(--accent-glow)}.main{flex:1;position:relative;z-index:1;padding:32px 24px 48px;max-width:1100px;margin:0 auto;width:100%}.page-title{text-align:center;margin-bottom:40px}.page-title h1{font-family:Space Grotesk,sans-serif;font-size:clamp(28px,5vw,48px);font-weight:700;line-height:1.15;margin-bottom:12px}.page-title p{font-size:16px;color:var(--text-secondary);max-width:480px;margin:0 auto}.auth-card{max-width:460px;margin:0 auto;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;box-shadow:0 24px 60px #00000040}.auth-card-header{margin-bottom:24px}.auth-card-header h2{margin:8px 0 10px;font-size:28px;font-family:Space Grotesk,sans-serif}.auth-card-header p{color:var(--text-secondary);line-height:1.6}.auth-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-bright)}.auth-form{display:grid;gap:16px}.auth-field{display:grid;gap:8px}.auth-field span{font-size:13px;font-weight:600;color:var(--text-secondary)}.auth-field input{height:48px;border-radius:var(--radius-md);border:1px solid var(--border-light);background:var(--bg-input);color:var(--text-primary);padding:0 14px;font-size:15px;transition:all .2s ease}.auth-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.auth-submit-btn{margin-top:8px;height:48px;border:none;border-radius:var(--radius-md);background:var(--gradient-main);color:#fff;font-size:15px;font-weight:700;box-shadow:0 0 24px var(--accent-glow),0 8px 24px #00000047;transition:all .2s ease}.auth-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 34px var(--accent-glow-strong),0 12px 32px #00000059}.auth-submit-btn:disabled{opacity:.7;cursor:not-allowed}.recording-zone{display:flex;flex-direction:column;align-items:center;gap:20px;margin-bottom:32px}.record-btn-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.pulse-ring{position:absolute;width:90px;height:90px;border-radius:50%;border:2px solid var(--red);animation:pulse-ring 1.5s cubic-bezier(.25,.46,.45,.94) infinite;opacity:0}.pulse-ring:nth-child(2){animation-delay:.5s}.pulse-ring:nth-child(3){animation-delay:1s}.record-btn{position:relative;width:80px;height:80px;border-radius:50%;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:transform .2s ease,box-shadow .2s ease;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:#fff;z-index:2}.record-btn.idle{background:var(--gradient-main);box-shadow:0 0 30px var(--accent-glow),0 4px 20px #0006}.record-btn.idle:hover{transform:scale(1.06);box-shadow:0 0 50px var(--accent-glow-strong),0 8px 30px #00000080}.record-btn.recording{background:var(--gradient-red);box-shadow:0 0 30px var(--red-glow),0 4px 20px #0006;animation:pulse-core 1.2s ease-in-out infinite}.record-btn.recording:hover{transform:scale(1.06)}.record-btn-icon{font-size:24px;line-height:1}.status-bar{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted);min-height:24px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);flex-shrink:0}.status-dot.listening{background:var(--red);box-shadow:0 0 8px var(--red-glow);animation:pulse-core 1s ease-in-out infinite}.status-dot.processing{background:var(--amber);box-shadow:0 0 8px #ffd32a80;animation:pulse-core .8s ease-in-out infinite}.status-dot.done{background:var(--green);box-shadow:0 0 8px var(--green-glow)}.workspace{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}@media(max-width:720px){.workspace{grid-template-columns:1fr}}.text-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;min-height:320px;overflow:hidden;transition:border-color .2s ease}.text-panel:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.text-panel.output-panel{border-color:#2ed5731f}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);gap:8px}.panel-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px}.panel-label-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.panel-label-dot.output{background:var(--green)}.panel-actions{display:flex;align-items:center;gap:6px}.icon-btn{width:30px;height:30px;border-radius:8px;background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:all .15s ease;font-size:14px;border:1px solid transparent}.icon-btn:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border)}.icon-btn.success{color:var(--green);background:#2ed5731a;border-color:#2ed57333}.panel-textarea{flex:1;padding:16px;font-size:15px;line-height:1.7;color:var(--text-primary);background:transparent;border:none;resize:none;font-family:Inter,sans-serif;min-height:240px}.panel-textarea::placeholder{color:var(--text-muted)}.panel-textarea.interim{color:var(--text-secondary);font-style:italic}.char-count{font-size:11px;color:var(--text-muted);padding:8px 16px;border-top:1px solid var(--border);text-align:right}.options-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:20px}.option-group{display:flex;align-items:center;gap:10px}.option-label{font-size:13px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.toggle-switch{position:relative;width:40px;height:22px;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-track{position:absolute;inset:0;border-radius:11px;background:var(--bg-input);border:1px solid var(--border-light);transition:all .2s ease}.toggle-switch input:checked~.toggle-track{background:var(--accent);border-color:var(--accent);box-shadow:0 0 10px var(--accent-glow)}.toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s ease;box-shadow:0 1px 4px #0000004d}.toggle-switch input:checked~.toggle-track .toggle-thumb{transform:translate(18px)}.lang-select{background:var(--bg-input);border:1px solid var(--border-light);color:var(--text-primary);font-size:13px;font-weight:500;padding:6px 28px 6px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:border-color .2s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(240,244,255,0.4)' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.lang-select:hover,.lang-select:focus{border-color:var(--accent)}.lang-select:disabled{opacity:.45;cursor:not-allowed}.replace-lang-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:var(--radius-sm);border:1px solid var(--border-light);background:var(--bg-input);color:var(--text-primary);font-size:16px;line-height:1;flex-shrink:0;transition:border-color .2s ease,color .2s ease,background .2s ease}.replace-lang-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-bright);background:var(--bg-card-hover)}.replace-lang-btn:disabled{opacity:.45;cursor:not-allowed}.divider{width:1px;height:24px;background:var(--border);flex-shrink:0}.process-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--radius-md);background:var(--gradient-main);color:#fff;font-size:14px;font-weight:600;box-shadow:0 0 24px var(--accent-glow),0 4px 16px #0000004d;transition:all .2s ease;border:none;white-space:nowrap}.process-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 40px var(--accent-glow-strong),0 8px 24px #0006}.process-btn:active:not(:disabled){transform:translateY(0)}.process-btn.processing{opacity:.8;pointer-events:none}.spin{display:inline-block;animation:spin-slow .8s linear infinite}.error-toast{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f25c7e1f;border:1px solid rgba(242,92,126,.25);border-radius:var(--radius-md);color:var(--red);font-size:13px;animation:fade-in .3s ease;margin-bottom:16px}.error-dismiss{margin-left:auto;background:transparent;color:var(--red);font-size:16px;cursor:pointer;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .15s}.error-dismiss:hover{background:#f25c7e26}.no-support-notice{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#ffd32a14;border:1px solid rgba(255,211,42,.2);border-radius:var(--radius-md);color:var(--amber);font-size:13px;margin-bottom:20px}.api-notice{padding:14px 18px;background:#7c6af714;border:1px solid rgba(124,106,247,.2);border-radius:var(--radius-md);font-size:13px;color:var(--text-secondary);margin-bottom:20px;line-height:1.6}.api-notice strong{color:var(--accent-bright)}.api-notice code{background:#7c6af726;padding:1px 6px;border-radius:4px;font-size:12px;color:var(--accent-bright)}.footer{padding:20px 24px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--text-muted);position:relative;z-index:1}.footer-heart{color:var(--red)}.wave-visualizer{display:flex;align-items:center;justify-content:center;gap:4px;height:36px;padding:0 8px}.wave-bar{width:3px;height:6px;background:var(--accent);border-radius:2px;transition:height .1s ease;animation:none}.wave-visualizer.active .wave-bar{animation:wave .8s ease-in-out infinite}.wave-visualizer.active .wave-bar:nth-child(1){animation-delay:0s}.wave-visualizer.active .wave-bar:nth-child(2){animation-delay:.08s}.wave-visualizer.active .wave-bar:nth-child(3){animation-delay:.16s}.wave-visualizer.active .wave-bar:nth-child(4){animation-delay:.24s}.wave-visualizer.active .wave-bar:nth-child(5){animation-delay:.32s}.wave-visualizer.active .wave-bar:nth-child(6){animation-delay:.4s}.wave-visualizer.active .wave-bar:nth-child(7){animation-delay:.32s}.wave-visualizer.active .wave-bar:nth-child(8){animation-delay:.24s}.wave-visualizer.active .wave-bar:nth-child(9){animation-delay:.16s}.wave-visualizer.active .wave-bar:nth-child(10){animation-delay:.08s}.wave-visualizer.active .wave-bar:nth-child(11){animation-delay:0s}.wave-visualizer.active .wave-bar:nth-child(12){animation-delay:.08s}
