*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#000;--bg-input:#0a0a0a;--bg-input-focus:#111;--text:#e5e5e5;--text-dim:#888;--text-muted:#555;--accent:#e5e5e5;--accent-dim:#e5e5e51f;--border:#ffffff14;--font:"Inter", system-ui, -apple-system, sans-serif;--ease:.2s cubic-bezier(.4, 0, .2, 1);--radius:6px}html,body,#root{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.6}.app{flex-direction:column;max-width:640px;height:100%;margin:0 auto;padding:0 20px;display:flex}.header{flex-shrink:0;justify-content:center;align-items:center;padding:24px 0 16px;display:flex}.header h1{letter-spacing:4px;text-transform:uppercase;color:var(--text-dim);font-size:13px;font-weight:500}.chat-thread{scrollbar-width:none;flex-direction:column;flex:1;gap:20px;padding:16px 0 24px;display:flex;overflow-y:auto}.chat-thread::-webkit-scrollbar{display:none}.message{opacity:0;max-width:85%;animation:fadeIn .3s var(--ease) forwards;transform:translateY(8px)}.message.agent{align-self:flex-start}.message.user{text-align:right;align-self:flex-end}.message-label{color:var(--text-muted);letter-spacing:.5px;margin-bottom:4px;font-size:11px}.message-text{color:var(--text);white-space:pre-wrap;font-size:15px;line-height:1.6}.message.user .message-text{color:var(--text-dim)}@keyframes fadeIn{to{opacity:1;transform:translateY(0)}}.typing-indicator{align-self:flex-start;gap:4px;padding:4px 0;display:flex}.typing-indicator span{background:var(--text-muted);border-radius:50%;width:4px;height:4px;animation:1.2s infinite blink}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,60%,to{opacity:.3}30%{opacity:1}}.quick-options{opacity:0;animation:fadeIn .3s var(--ease) forwards;flex-wrap:wrap;align-self:flex-start;gap:8px;animation-delay:.1s;display:flex;transform:translateY(8px)}.quick-option{border:1px solid var(--border);color:var(--text-dim);font-family:var(--font);cursor:pointer;transition:all var(--ease);background:0 0;border-radius:20px;padding:7px 14px;font-size:13px}.quick-option:hover{color:var(--text);background:var(--accent-dim);border-color:#fff3}.input-bar{border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:16px 0 24px;display:flex}.input-field{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font);transition:all var(--ease);outline:none;flex:1;padding:10px 14px;font-size:14px}.input-field:focus{background:var(--bg-input-focus);border-color:#ffffff26}.input-field::placeholder{color:var(--text-muted)}.input-btn{border:1px solid var(--border);border-radius:var(--radius);width:36px;height:36px;color:var(--text-muted);cursor:pointer;transition:all var(--ease);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.input-btn:hover{color:var(--text);border-color:#fff3}.input-btn.recording{color:#ef4444;border-color:#ef444466;animation:1.5s infinite pulse}.input-btn.send{color:var(--text)}.input-btn.send:hover{background:var(--accent-dim)}.input-btn svg{width:16px;height:16px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.file-drop-zone{border:1px dashed var(--border);border-radius:var(--radius);text-align:center;width:100%;max-width:85%;color:var(--text-muted);cursor:pointer;transition:all var(--ease);opacity:0;animation:fadeIn .3s var(--ease) forwards;align-self:flex-start;padding:24px;font-size:13px;transform:translateY(8px)}.file-drop-zone:hover,.file-drop-zone.dragging{color:var(--text-dim);background:var(--accent-dim);border-color:#fff3}.file-drop-zone .upload-icon{margin-bottom:6px;font-size:20px}.uploaded-file{background:var(--accent-dim);border-radius:var(--radius);color:var(--text-dim);opacity:0;animation:fadeIn .3s var(--ease) forwards;align-self:flex-start;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;font-size:13px;display:flex}.uploaded-file .file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.projection-card{border:1px solid var(--border);border-radius:var(--radius);opacity:0;width:100%;max-width:85%;animation:fadeIn .5s var(--ease) forwards;align-self:flex-start;padding:24px;transform:translateY(8px)}.projection-card h3{letter-spacing:.5px;color:var(--text);margin-bottom:20px;font-size:14px;font-weight:500}.projection-section{border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:16px}.projection-section:last-of-type{border-bottom:none;margin-bottom:16px;padding-bottom:0}.projection-section-title{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;font-size:11px;font-weight:500}.projection-metrics{gap:24px;display:flex}.projection-metric{flex:1}.projection-metric .value{color:var(--text);font-size:24px;font-weight:500;line-height:1.2}.projection-metric.highlight .value{background:linear-gradient(135deg,#e5e5e5,#a3a3a3);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:32px;font-weight:600}.projection-metric.accent .value{color:#4ade80}.projection-metric .label{color:var(--text-muted);margin-top:4px;font-size:11px;line-height:1.3}.projection-detail{color:var(--text-muted);border-top:1px solid var(--border);padding-top:12px;font-size:12px;line-height:1.5}.research-loading{opacity:0;animation:fadeIn .3s var(--ease) forwards;flex-direction:column;align-self:flex-start;gap:12px;padding:8px 0;display:flex}.research-step{color:var(--text-muted);opacity:.3;align-items:center;gap:10px;font-size:13px;transition:all .4s;display:flex}.research-step.active{color:var(--text-dim);opacity:1}.research-step.done{color:var(--text-muted);opacity:.7}.research-step.done .step-icon{color:#4ade80}.research-step .step-icon{text-align:center;flex-shrink:0;width:14px;font-size:12px}.spinner{border:1.5px solid var(--border);border-top-color:var(--text-dim);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.quick-option.cta{color:var(--text);border-color:#ffffff26;font-weight:500}.quick-option.cta:hover{background:#ffffff14;border-color:#ffffff40}@media (width<=480px){.app{padding:0 16px}.message{max-width:90%}.projection-metrics{flex-direction:column;gap:16px}}
