*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f0f1a;--surface: #1a1a2e;--surface2: #252542;--accent: #7c3aed;--accent2: #06b6d4;--accent-glow: #7c3aed66;--text: #f0f0ff;--text-dim: #8888aa;--danger: #ef4444;--success: #22c55e;--human: #f59e0b;--radius: 12px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif}html,body,#root{height:100%;width:100%;overflow:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;overscroll-behavior:none}button{cursor:pointer;font-family:var(--font);border:none;outline:none}input,textarea,select{font-family:var(--font);outline:none}.screen{display:flex;flex-direction:column;height:100%;padding:16px;max-width:480px;margin:0 auto;overflow:hidden}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:var(--radius);font-size:16px;font-weight:600;transition:opacity .15s,transform .1s;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.97);opacity:.9}.btn-primary{background:var(--accent);color:#fff;width:100%}.btn-secondary{background:var(--surface2);color:var(--text);width:100%}.btn-outline{background:transparent;border:2px solid var(--accent);color:var(--accent);width:100%}.btn:disabled{opacity:.4;pointer-events:none}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.field input,.field textarea,.field select{background:var(--surface2);border:1px solid #333366;border-radius:8px;padding:12px;color:var(--text);font-size:16px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent)}.field textarea{resize:none;min-height:80px}.field select option{background:var(--surface2)}.card{background:var(--surface);border-radius:var(--radius);padding:16px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.flex-col{display:flex;flex-direction:column}.flex-1{flex:1}.mt-auto{margin-top:auto}.text-center{text-align:center}.text-dim{color:var(--text-dim)}.text-sm{font-size:14px}.text-xs{font-size:12px}.transcript-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}@keyframes pulse-ring{0%{transform:scale(.8);opacity:1}to{transform:scale(1.6);opacity:0}}@keyframes pulse-dot{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}
