*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#000;--bg-elevated:#0a0a0a;--bg-bubble:#141414;--bg-bubble-user:#1a1a1a;--bg-input:#0d0d0d;--bg-input-focus:#111;--bg-card:#141414b3;--text:#ededed;--text-secondary:#a1a1a1;--text-muted:#666;--text-faint:#444;--accent:#4ade80;--accent-dim:#4ade801a;--accent-glow:#4ade8026;--border:#ffffff0f;--border-subtle:#ffffff0a;--border-hover:#ffffff1f;--border-active:#fff3;--font:"Geist", system-ui, -apple-system, sans-serif;--font-mono:"Geist Mono", monospace;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--ease:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration:.25s;--safe-bottom:env(safe-area-inset-bottom,0px)}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;overflow:hidden}.app{flex-direction:column;max-width:620px;height:100%;margin:0 auto;display:flex}.header{flex-direction:column;flex-shrink:0;align-items:center;padding:20px 24px 0;display:flex}.header h1{letter-spacing:5px;text-transform:uppercase;color:var(--text-muted);margin-bottom:16px;font-size:12px;font-weight:500}.progress-container{border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;width:100%;padding-bottom:16px;display:flex}.progress-bar{background:var(--border);border-radius:1px;flex:1;height:2px;overflow:hidden}.progress-fill{background:var(--accent);height:100%;transition:width .6s var(--ease);box-shadow:0 0 8px var(--accent-glow);border-radius:1px}.progress-label{font-size:11px;font-family:var(--font-mono);color:var(--text-faint);white-space:nowrap;text-align:right;min-width:36px}.chat-thread{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:4px;padding:16px 24px 20px;display:flex;overflow-y:auto}.chat-thread::-webkit-scrollbar{display:none}.message{opacity:0;max-width:78%;animation:slideUp .3s var(--ease) forwards;margin-top:10px;transform:translateY(8px)}.message:first-child{margin-top:0}.message.agent+.message.agent,.message.user+.message.user{margin-top:2px}.message.agent{align-self:flex-start}.message.user{align-self:flex-end}.message-label{display:none}.message-bubble{border-radius:var(--radius-md);white-space:pre-wrap;word-break:break-word;padding:12px 16px;font-size:14.5px;line-height:1.6}.message.agent .message-bubble{background:var(--bg-bubble);color:var(--text);border-bottom-left-radius:4px}.message.user .message-bubble{background:var(--bg-bubble-user);color:var(--text-secondary);border-bottom-right-radius:4px}@keyframes slideUp{to{opacity:1;transform:translateY(0)}}.typing-indicator{background:var(--bg-bubble);border-radius:var(--radius-md);border-bottom-left-radius:4px;align-self:flex-start;gap:5px;width:fit-content;padding:12px 16px;display:flex}.typing-indicator span{background:var(--text-muted);border-radius:50%;width:5px;height:5px;animation:1.4s infinite typingDot}.typing-indicator span:nth-child(2){animation-delay:.15s}.typing-indicator span:nth-child(3){animation-delay:.3s}@keyframes typingDot{0%,60%,to{opacity:.25;transform:scale(.8)}30%{opacity:1;transform:scale(1.1)}}.quick-options{flex-wrap:wrap;align-self:flex-start;gap:8px;max-width:78%;margin-top:6px;display:flex}.quick-options>*{opacity:0;animation:slideUp .3s var(--ease) forwards;transform:translateY(8px)}.quick-options>:first-child{animation-delay:50ms}.quick-options>:nth-child(2){animation-delay:.1s}.quick-options>:nth-child(3){animation-delay:.15s}.quick-options>:nth-child(4){animation-delay:.2s}.quick-options>:nth-child(5){animation-delay:.25s}.quick-option{border:1px solid var(--border-hover);border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-secondary);font-family:var(--font);cursor:pointer;transition:all var(--duration) var(--ease);-webkit-tap-highlight-color:transparent;padding:10px 18px;font-size:13.5px;font-weight:450}.quick-option:hover{color:var(--text);border-color:var(--border-active);background:var(--bg-bubble);transform:translateY(-1px)}.quick-option:active{transform:translateY(0)scale(.97)}.quick-option.other{color:var(--text-faint);border-style:dashed;border-color:var(--border)}.quick-option.other:hover{color:var(--text-muted);border-style:solid;border-color:var(--border-hover)}.quick-option.other.small{margin-top:4px;padding:8px 14px;font-size:12.5px}.multi-select-container{opacity:0;width:100%;max-width:78%;animation:slideUp .35s var(--ease) forwards;align-self:flex-start;margin-top:6px;animation-delay:.1s;transform:translateY(10px)}.multi-select-count{font-size:11px;font-family:var(--font-mono);color:var(--text-faint);letter-spacing:.5px;margin-bottom:10px}.multi-select-grid{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.multi-option{border:1px solid var(--border-hover);border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-secondary);font-family:var(--font);cursor:pointer;transition:all var(--duration) var(--ease);-webkit-tap-highlight-color:transparent;align-items:center;gap:6px;padding:9px 15px;font-size:13px;font-weight:450;display:flex}.multi-option:hover:not(.disabled){border-color:var(--border-active);color:var(--text);transform:translateY(-1px)}.multi-option:active:not(.disabled){transform:scale(.97)}.multi-option.selected{border-color:var(--accent);color:var(--accent);background:var(--accent-dim);box-shadow:0 0 12px var(--accent-glow)}.multi-option.disabled{opacity:.25;cursor:not-allowed}.multi-option .check{color:var(--accent);align-items:center;display:flex}.multi-option .check svg{width:13px;height:13px}.confirm-btn{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-faint);font-family:var(--font);cursor:not-allowed;transition:all var(--duration) var(--ease);background:0 0;margin-top:6px;padding:12px;font-size:14px;font-weight:500}.confirm-btn.active{border-color:var(--accent);color:var(--accent);cursor:pointer;background:var(--accent-dim)}.confirm-btn.active:hover{box-shadow:0 0 16px var(--accent-glow);background:#4ade8026;transform:translateY(-1px)}.confirm-btn.active:active{transform:scale(.99)}.other-input-inline,.other-input-row{opacity:0;width:100%;max-width:78%;animation:slideUp .25s var(--ease) forwards;align-self:flex-start;align-items:center;gap:8px;display:flex}.other-input-row{margin-top:6px;margin-bottom:4px}.other-input{background:var(--bg-input);border:1px solid var(--border-hover);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font);transition:all var(--duration) var(--ease);outline:none;flex:1;padding:10px 14px;font-size:14px}.other-input:focus{background:var(--bg-input-focus);border-color:var(--border-active);box-shadow:0 0 0 3px #ffffff08}.other-input::placeholder{color:var(--text-faint)}.other-send-btn{background:var(--bg-elevated);border:1px solid var(--border-hover);border-radius:var(--radius-sm);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;transition:all var(--duration) var(--ease);flex-shrink:0;justify-content:center;align-items:center;display:flex}.other-send-btn:hover{background:var(--bg-bubble);border-color:var(--border-active);color:var(--text)}.other-send-btn svg{width:15px;height:15px}.other-add-btn{background:var(--bg-elevated);border:1px solid var(--border-hover);border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font);cursor:pointer;transition:all var(--duration) var(--ease);flex-shrink:0;padding:10px 16px;font-size:13px}.other-add-btn:hover{color:var(--text);border-color:var(--border-active)}.cta-options{flex-direction:column;align-self:flex-start;gap:10px;width:100%;max-width:78%;margin-top:8px;display:flex}.cta-options>*{opacity:0;animation:slideUp .4s var(--ease) forwards;transform:translateY(8px)}.cta-options>:first-child{animation-delay:.1s}.cta-options>:nth-child(2){animation-delay:.2s}.cta-btn{border-radius:var(--radius-sm);font-family:var(--font);cursor:pointer;transition:all var(--duration) var(--ease);text-align:center;-webkit-tap-highlight-color:transparent;padding:14px 20px;font-size:14px;font-weight:500;text-decoration:none;display:block}.cta-btn.primary{background:var(--accent);color:#000;border:1px solid var(--accent);box-shadow:0 0 20px var(--accent-glow), 0 2px 8px #0000004d}.cta-btn.primary:hover{background:#5be88e;transform:translateY(-2px);box-shadow:0 0 30px #4ade8040,0 4px 12px #0000004d}.cta-btn.primary:active{transform:translateY(0)scale(.98)}.cta-btn.secondary{color:var(--text-secondary);border:1px solid var(--border-hover);background:0 0}.cta-btn.secondary:hover{color:var(--text);border-color:var(--border-active);background:var(--bg-elevated)}.input-bar{padding:16px 24px;padding-bottom:calc(16px + var(--safe-bottom));background:linear-gradient(transparent, var(--bg) 30%);opacity:0;animation:slideUp .3s var(--ease) forwards;flex-shrink:0;align-items:center;gap:10px;display:flex}.input-field{background:var(--bg-input);border:1px solid var(--border-hover);border-radius:var(--radius-md);color:var(--text);font-family:var(--font);transition:all var(--duration) var(--ease);outline:none;flex:1;padding:12px 16px;font-size:14.5px}.input-field:focus{background:var(--bg-input-focus);border-color:var(--border-active);box-shadow:0 0 0 3px #ffffff08}.input-field::placeholder{color:var(--text-faint)}.input-btn{background:var(--bg-elevated);border:1px solid var(--border-hover);border-radius:var(--radius-md);width:40px;height:40px;color:var(--text-muted);cursor:pointer;transition:all var(--duration) var(--ease);flex-shrink:0;justify-content:center;align-items:center;display:flex}.input-btn:hover{color:var(--text);border-color:var(--border-active);background:var(--bg-bubble)}.input-btn.send{color:var(--accent);border-color:#4ade8033}.input-btn.send:hover{background:var(--accent-dim);border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.input-btn svg{width:16px;height:16px}.projection-card{background:var(--bg-card);border:1px solid var(--border-hover);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(20px);opacity:0;width:100%;max-width:78%;animation:slideUp .5s var(--ease) forwards;transition:all .5s var(--ease);align-self:flex-start;padding:24px;transform:translateY(12px);box-shadow:0 4px 24px #0000004d,inset 0 1px #ffffff0a}.projection-card.collapsed{opacity:.4;border-radius:var(--radius-sm);max-height:70px;padding:14px 24px;position:relative;overflow:hidden}.projection-card.collapsed:after{content:"";background:linear-gradient(transparent, var(--bg));pointer-events:none;height:40px;position:absolute;bottom:0;left:0;right:0}.projection-card h3{letter-spacing:.5px;color:var(--text-secondary);margin-bottom:20px;font-size:13px;font-weight:500}.projection-section{border-bottom:1px solid var(--border-subtle);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:2px;text-transform:uppercase;color:var(--text-faint);margin-bottom:10px;font-size:10px;font-weight:500}.projection-metrics{gap:24px;display:flex}.projection-metric{flex:1}.projection-metric .value{color:var(--text);font-size:28px;font-weight:600;line-height:1.1;font-family:var(--font)}.projection-metric.highlight .value{background:linear-gradient(135deg, var(--text), var(--text-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:36px}.projection-metric.accent .value{color:var(--accent);text-shadow:0 0 20px var(--accent-glow)}.projection-metric .label{color:var(--text-faint);margin-top:4px;font-size:11px;line-height:1.3}.projection-detail{color:var(--text-faint);border-top:1px solid var(--border-subtle);padding-top:14px;font-size:12px;line-height:1.5}.research-loading{background:var(--bg-bubble);border-radius:var(--radius-md);opacity:0;max-width:78%;animation:slideUp .35s var(--ease) forwards;border-bottom-left-radius:4px;flex-direction:column;align-self:flex-start;gap:10px;padding:16px 20px;display:flex}.research-step{color:var(--text-faint);transition:all .4s var(--ease);opacity:.3;align-items:center;gap:10px;font-size:13px;display:flex}.research-step.active{color:var(--text-secondary);opacity:1}.research-step.done{color:var(--text-faint);opacity:.6}.research-step.done .step-icon{color:var(--accent)}.research-step .step-icon{text-align:center;flex-shrink:0;width:14px;font-size:11px}.spinner{border:1.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:12px;height:12px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=480px){.header{padding:16px 20px 0}.header h1{letter-spacing:4px;margin-bottom:12px;font-size:11px}.chat-thread{gap:3px;padding:12px 16px 16px}.message,.quick-options,.multi-select-container,.other-input-inline,.cta-options{max-width:90%}.projection-card{max-width:90%;padding:18px}.quick-option{padding:10px 16px;font-size:13px}.multi-option{padding:9px 14px;font-size:12.5px}.input-bar{padding:12px 20px;padding-bottom:calc(12px + var(--safe-bottom))}.input-field{padding:11px 14px;font-size:16px}.projection-metrics{flex-direction:column;gap:14px}.projection-metric .value{font-size:24px}.projection-metric.highlight .value{font-size:30px}.cta-btn{padding:14px 18px;font-size:14.5px}}@media (width>=768px){.chat-thread{padding:24px 32px 28px}.header{padding:24px 32px 0}.input-bar{padding:20px 32px}}
