:root{--bg: #0a0a0a;--surface: #141414;--surface-hover: #1a1a1a;--border: #262626;--text: #e5e5e5;--text-muted: #737373;--accent: #3b82f6;--accent-hover: #2563eb;--user-bg: #1e3a5f;--assistant-bg: #1a1a1a;--green: #22c55e;--red: #ef4444;--radius: 8px;--font: "SF Mono", "Fira Code", "JetBrains Mono", Menlo, Monaco, monospace}html,body,#root{height:100%;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;margin:0;padding:0}.app{display:flex;flex-direction:column;height:100vh;max-width:860px;margin:0 auto}.workspace{display:flex;flex:1;overflow:hidden}.chat-pane{display:flex;flex-direction:column;overflow:hidden;flex:1}.header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.header-left{display:flex;align-items:baseline;gap:8px}.header h1{font-size:16px;font-weight:600;letter-spacing:-.02em;margin:0}.subtitle{font-size:12px;color:var(--text-muted)}.header-right{display:flex;align-items:center;gap:8px;font-size:12px}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.connected{background:var(--green)}.status-dot.disconnected{background:var(--red)}.status-text{color:var(--text-muted)}.msg-count{color:var(--text-muted);padding:2px 6px;background:var(--surface);border-radius:4px}.transport-badge{color:var(--green);padding:2px 6px;background:#22c55e1a;border:1px solid rgba(34,197,94,.2);border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.clear-btn{padding:4px 10px;background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:12px}.clear-btn:hover{background:var(--surface-hover);color:var(--text)}.messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:8px;color:var(--text-muted)}.empty-title{font-size:16px;font-weight:500;color:var(--text)}.empty-hint{font-size:13px;text-align:center;max-width:400px}.message{padding:10px 14px;border-radius:var(--radius);max-width:85%;word-wrap:break-word}.message.user{background:var(--user-bg);align-self:flex-end;border-bottom-right-radius:2px}.message.assistant{background:var(--assistant-bg);border:1px solid var(--border);align-self:flex-start;border-bottom-left-radius:2px}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;gap:12px}.message-role{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.message.user .message-role{color:#60a5fa}.message.assistant .message-role{color:var(--green)}.message-time{font-size:11px;color:var(--text-muted)}.message-content{white-space:pre-wrap;font-size:14px;line-height:1.6}.typing{color:var(--text-muted);font-style:italic}.input-area{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--surface);flex-shrink:0}.input{flex:1;padding:10px 14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:inherit;font-size:14px;resize:none;outline:none;min-height:42px;max-height:200px}.input:focus{border-color:var(--accent)}.input:disabled{opacity:.5}.input::placeholder{color:var(--text-muted)}.send-btn{padding:10px 20px;background:var(--accent);border:none;border-radius:var(--radius);color:#fff;font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;flex-shrink:0;align-self:flex-end}.send-btn:hover:not(:disabled){background:var(--accent-hover)}.send-btn:disabled{opacity:.4;cursor:not-allowed}.mic-btn{width:42px;height:42px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease;align-self:flex-end}.mic-btn:hover:not(:disabled){border-color:var(--text-muted);color:var(--text)}.mic-btn:disabled{opacity:.4;cursor:not-allowed}.mic-btn.active{background:var(--red);border-color:var(--red);color:#fff;animation:pulse-mic 2s ease-in-out infinite}.mic-btn.connecting{border-color:var(--accent);color:var(--accent)}@keyframes pulse-mic{0%,to{opacity:1}50%{opacity:.7}}.voice-transcript{padding:8px 16px;background:var(--surface);border-top:1px solid var(--border);color:var(--text-muted);font-size:13px;font-style:italic;min-height:32px;display:flex;align-items:center}.voice-transcript-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messages::-webkit-scrollbar{width:6px}.messages::-webkit-scrollbar-track{background:transparent}.messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.messages::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.intake-overlay{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px}.intake-card{width:100%;max-width:480px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:32px}.intake-header{margin-bottom:28px}.intake-header h1{font-size:20px;font-weight:600;letter-spacing:-.02em;margin:0 0 4px}.intake-subtitle{font-size:12px;color:var(--text-muted);margin:0 0 12px}.intake-desc{font-size:13px;color:var(--text-muted);margin:0;line-height:1.5}.intake-form{display:flex;flex-direction:column;gap:14px}.intake-row{display:flex;gap:12px}.intake-row .intake-field{flex:1}.intake-field--year{max-width:90px}.intake-field{display:flex;flex-direction:column;gap:5px}.intake-field label{font-size:12px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.intake-field input{padding:9px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:inherit;font-size:14px;outline:none;width:100%;box-sizing:border-box}.intake-field input:focus,.intake-field select:focus{border-color:var(--accent)}.intake-field input::placeholder{color:var(--text-muted);opacity:.6}.intake-field select{padding:9px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:inherit;font-size:14px;outline:none;width:100%;box-sizing:border-box;cursor:pointer}.intake-field select:disabled{opacity:.5;cursor:not-allowed}.req{color:var(--accent)}.opt{color:var(--text-muted);font-weight:400;text-transform:none;letter-spacing:0}.intake-divider{height:1px;background:var(--border);margin:4px 0}.intake-section-label{font-size:12px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0}.intake-error{font-size:13px;color:var(--red);margin:0}.intake-submit{padding:11px 20px;background:var(--accent);border:none;border-radius:var(--radius);color:#fff;font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;margin-top:4px}.intake-submit:hover:not(:disabled){background:var(--accent-hover)}.intake-submit:disabled{opacity:.5;cursor:not-allowed}
