@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--font-family:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--bg-dark:224 25% 4%;--bg-card:224 20% 8%;--bg-card-hover:224 20% 12%;--primary:190 95% 50%;--primary-glow:190 95% 50% / .15;--secondary:270 95% 60%;--secondary-glow:270 95% 60% / .15;--success:142 70% 45%;--error:350 80% 55%;--warning:38 90% 55%;--text-primary:0 0% 98%;--text-secondary:220 10% 65%;--text-muted:220 10% 45%;--border-color:220 15% 16%;--border-focus:190 95% 50% / .5;--glass-bg:224 20% 8% / .6;--glass-border:220 15% 16% / .6;--radius-sm:8px;--radius-md:14px;--radius-lg:24px;--radius-round:9999px;--transition-fast:.15s ease;--transition-normal:.3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:hsl(var(--bg-dark));color:hsl(var(--text-primary));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;margin:0;position:relative;overflow-x:hidden}body:before{content:"";background:radial-gradient(circle, hsl(var(--primary) / .08) 0%, transparent 70%);z-index:-1;pointer-events:none;width:50%;height:50%;position:fixed;top:-10%;left:-10%}body:after{content:"";background:radial-gradient(circle, hsl(var(--secondary) / .08) 0%, transparent 70%);z-index:-1;pointer-events:none;width:50%;height:50%;position:fixed;bottom:-10%;right:-10%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:hsl(var(--bg-dark))}::-webkit-scrollbar-thumb{background:hsl(var(--border-color));border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:hsl(var(--text-muted))}#root{flex-direction:column;min-height:100vh;display:flex}.glass-panel{background:hsl(var(--glass-bg));-webkit-backdrop-filter:blur(16px);border:1px solid hsl(var(--glass-border));border-radius:var(--radius-md);box-shadow:0 8px 32px #0000005e}.app-container{flex-direction:column;flex-grow:1;width:100%;max-width:1280px;margin:0 auto;padding:1.5rem;display:flex}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-weight:700;line-height:1.2}h1{background:linear-gradient(135deg, hsl(var(--text-primary)) 30%, hsl(var(--text-muted)) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:2.5rem}h2{color:hsl(var(--text-primary));font-size:1.75rem}p{color:hsl(var(--text-secondary));line-height:1.6}.btn{font-family:var(--font-family);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-normal);color:hsl(var(--text-primary));border:1px solid #0000;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:linear-gradient(135deg, hsl(var(--primary)), hsl(var(--primary) / .8));color:hsl(var(--bg-dark));box-shadow:0 4px 20px hsl(var(--primary) / .25)}.btn-primary:hover:not(:disabled){box-shadow:0 6px 24px hsl(var(--primary) / .35);background:linear-gradient(135deg, hsl(var(--primary)), hsl(var(--primary)));transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:hsl(var(--bg-card));border-color:hsl(var(--border-color));box-shadow:0 4px 12px #00000026}.btn-secondary:hover:not(:disabled){background:hsl(var(--bg-card-hover));border-color:hsl(var(--text-muted));transform:translateY(-1px)}.btn-danger{background:hsl(var(--error) / .15);border-color:hsl(var(--error) / .3);color:hsl(var(--error))}.btn-danger:hover:not(:disabled){background:hsl(var(--error));color:hsl(var(--bg-dark));box-shadow:0 4px 20px hsl(var(--error) / .25)}.btn:disabled{opacity:.5;cursor:not-allowed}.form-group{flex-direction:column;gap:.5rem;margin-bottom:1.25rem;display:flex}.form-group label{color:hsl(var(--text-secondary));text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.input-field{background:hsl(var(--bg-dark) / .5);border:1px solid hsl(var(--border-color));border-radius:var(--radius-sm);color:hsl(var(--text-primary));font-family:var(--font-family);transition:var(--transition-fast);outline:none;width:100%;padding:.75rem 1rem;font-size:.95rem}.input-field:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary-glow))}.input-field::placeholder{color:hsl(var(--text-muted))}.app-header{border-bottom:1px solid hsl(var(--border-color));justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem 0;display:flex}.logo-container{align-items:center;gap:.75rem;display:flex}.logo-icon{background:linear-gradient(135deg, hsl(var(--primary)), hsl(var(--secondary)));border-radius:var(--radius-sm);width:36px;height:36px;color:hsl(var(--bg-dark));box-shadow:0 0 20px hsl(var(--primary) / .3);justify-content:center;align-items:center;font-size:1.25rem;font-weight:800;display:flex}.user-profile{align-items:center;gap:1rem;display:flex}.user-avatar{border-radius:var(--radius-round);background:hsl(var(--bg-card-hover));border:1px solid hsl(var(--border-color));width:36px;height:36px;color:hsl(var(--primary));justify-content:center;align-items:center;font-weight:600;display:flex}.user-email{color:hsl(var(--text-secondary));font-size:.9rem}.card{border-radius:var(--radius-md);margin-bottom:1.5rem;padding:2rem}.auth-wrapper{justify-content:center;align-items:center;min-height:calc(100vh - 10rem);padding:1rem;display:flex}.auth-card{width:100%;max-width:440px;overflow:hidden;box-shadow:0 20px 40px #00000080}.auth-tabs{border-bottom:1px solid hsl(var(--border-color));background:hsl(var(--bg-dark) / .3);display:flex}.auth-tab{text-align:center;color:hsl(var(--text-secondary));cursor:pointer;transition:var(--transition-fast);border-bottom:2px solid #0000;flex:1;padding:1rem;font-size:.95rem;font-weight:600}.auth-tab:hover{color:hsl(var(--text-primary));background:hsl(var(--bg-card-hover) / .3)}.auth-tab.active{color:hsl(var(--primary));border-bottom-color:hsl(var(--primary));background:0 0}.auth-content{padding:2rem}.auth-header{text-align:center;margin-bottom:1.5rem}.auth-header h2{margin-bottom:.5rem;font-size:1.5rem}.auth-header p{font-size:.875rem}.alert{border-radius:var(--radius-sm);align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;padding:.85rem 1rem;font-size:.9rem;line-height:1.4;display:flex}.alert-error{background:hsl(var(--error) / .1);border:1px solid hsl(var(--error) / .25);color:hsl(var(--error))}.alert-success{background:hsl(var(--success) / .1);border:1px solid hsl(var(--success) / .25);color:hsl(var(--success))}.alert-warning{background:hsl(var(--warning) / .1);border:1px solid hsl(var(--warning) / .25);color:hsl(var(--warning))}.dashboard-grid{flex-grow:1;grid-template-columns:320px 1fr;gap:1.5rem;display:grid}@media (width<=900px){.dashboard-grid{grid-template-columns:1fr}}.settings-panel{flex-direction:column;gap:1.5rem;display:flex}.settings-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;color:hsl(var(--text-secondary));text-transform:uppercase;letter-spacing:.05em;border-bottom:1px dashed hsl(var(--border-color));justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.5rem 0;font-size:.85rem;font-weight:700;display:flex}.console-panel{flex-direction:column;gap:1.5rem;display:flex}.console-header{justify-content:space-between;align-items:center;display:flex}.record-trigger-container{background:hsl(var(--bg-dark) / .3);border-radius:var(--radius-md);border:1px dashed hsl(var(--border-color));flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2.5rem;display:flex}.record-btn{border-radius:var(--radius-round);cursor:pointer;width:80px;height:80px;transition:var(--transition-normal);background:hsl(var(--bg-card));color:hsl(var(--text-secondary));border:none;border:2px solid hsl(var(--border-color));outline:none;justify-content:center;align-items:center;display:flex;position:relative}.record-btn:hover{color:hsl(var(--text-primary));border-color:hsl(var(--text-muted));transform:scale(1.05)}.record-btn.recording{background:hsl(var(--error));color:hsl(var(--bg-dark));box-shadow:0 0 30px hsl(var(--error) / .4);border-color:#0000}.record-btn.recording:after{content:"";border-radius:var(--radius-round);border:2px solid hsl(var(--error) / .4);animation:1.5s cubic-bezier(.215,.61,.355,1) infinite pulse-ring;position:absolute;inset:-6px}@keyframes pulse-ring{0%{opacity:1;transform:scale(.95)}to{opacity:0;transform:scale(1.3)}}.status-badge{border-radius:var(--radius-round);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.8rem;font-weight:700;display:inline-flex}.status-badge.idle{background:hsl(var(--border-color));color:hsl(var(--text-secondary))}.status-badge.connecting{background:hsl(var(--warning) / .15);color:hsl(var(--warning));animation:1s ease-in-out infinite alternate pulse-opacity}.status-badge.listening{background:hsl(var(--error) / .15);color:hsl(var(--error))}@keyframes pulse-opacity{0%{opacity:.5}to{opacity:1}}.transcript-box{border-radius:var(--radius-md);border:1px solid hsl(var(--border-color));background:hsl(var(--bg-dark) / .4);flex-direction:column;flex-grow:1;min-height:350px;display:flex;overflow:hidden}.transcript-toolbar{border-bottom:1px solid hsl(var(--border-color));background:hsl(var(--bg-card) / .5);justify-content:space-between;align-items:center;padding:.75rem 1.25rem;display:flex}.transcript-body{flex-direction:column;flex-grow:1;gap:1rem;max-height:400px;padding:1.5rem;display:flex;overflow-y:auto}.transcript-placeholder{height:100%;color:hsl(var(--text-muted));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex}.transcript-text{white-space:pre-wrap;word-break:break-word;font-size:1.05rem;line-height:1.7}.transcript-final{color:hsl(var(--text-primary));font-weight:500}.transcript-interim{color:hsl(var(--text-muted));margin-left:.25rem;font-style:italic}.dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.stat-card{background:hsl(var(--bg-card));border:1px solid hsl(var(--border-color));border-radius:var(--radius-sm);flex-direction:column;gap:.25rem;padding:1.25rem;display:flex}.stat-label{color:hsl(var(--text-muted));text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.stat-value{color:hsl(var(--primary));font-size:1.75rem;font-weight:800}.text-center{text-align:center}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.flex-row{align-items:center;gap:.75rem;display:flex}.flex-spacer{flex-grow:1}.spinner{border:2px solid hsl(var(--text-muted));border-top-color:hsl(var(--primary));border-radius:var(--radius-round);width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.waveform-canvas-container{background:hsl(var(--bg-dark) / .5);border-radius:var(--radius-sm);border:1px solid hsl(var(--border-color));justify-content:center;align-items:center;width:100%;height:40px;display:flex;overflow:hidden}.waveform-bar-container{justify-content:center;align-items:center;gap:4px;width:100%;height:100%;display:flex}.waveform-bar{background-color:hsl(var(--primary));border-radius:var(--radius-round);width:4px;height:8px;transition:height .1s}.waveform-bar.active{background:linear-gradient(to top, hsl(var(--primary)), hsl(var(--secondary)))}
