*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f1efe9;--bg-elevated:#fff;--bg-bubble:#fff;--bg-bubble-user:#ddeff8;--bg-input:#fff;--bg-input-focus:#fff;--bg-card:#ffffffe0;--text:#1c1c1c;--text-secondary:#3d3d3d;--text-muted:#777;--text-faint:#9a958a;--accent:#3a8fb7;--accent-fill:#7ec8e3;--accent-hover:#5bb8da;--accent-dim:#7ec8e329;--accent-glow:#7ec8e359;--accent-ring:#7ec8e340;--accent-hover-bg:#7ec8e33d;--accent-border-soft:#7ec8e399;--shadow-soft:#1c1c1c14;--shadow-soft-lg:#1c1c1c1a;--border:#e0ddd6;--border-subtle:#e8e5de;--border-hover:#cfc9bc;--border-active:#b4ad9e;--font:"Inter", system-ui, -apple-system, sans-serif;--font-display:"Manrope", "Inter", system-ui, sans-serif;--font-mono:"Fragment 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{font-family:var(--font-display);letter-spacing:5px;text-transform:uppercase;color:var(--text-secondary);margin-bottom:16px;font-size:12px;font-weight:700}.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-fill);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{background:var(--accent-hover-bg);box-shadow:0 0 16px var(--accent-glow);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(--accent-fill);box-shadow:0 0 0 3px var(--accent-ring)}.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-fill);color:#1c1c1c;border:1px solid var(--accent-fill);box-shadow:0 0 20px var(--accent-glow), 0 2px 8px var(--shadow-soft)}.cta-btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 0 30px var(--accent-glow), 0 4px 12px var(--shadow-soft-lg);transform:translateY(-2px)}.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(--accent-fill);box-shadow:0 0 0 3px var(--accent-ring)}.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:var(--accent-border-soft)}.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);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(20px);width:100%;max-width:78%;box-shadow:0 8px 32px var(--shadow-soft);opacity:0;animation:slideUp .5s var(--ease) forwards;transition:all .5s var(--ease);align-self:flex-start;padding:24px;transform:translateY(12px)}.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:700;line-height:1.1;font-family:var(--font-display)}.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)}.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}.projection-subline{color:var(--text-secondary);margin-top:10px;font-size:12.5px}.projection-subline strong{color:var(--accent);font-weight:600}.breakdown-group{margin-top:14px}.breakdown-group:first-of-type{margin-top:0}.breakdown-group-label{letter-spacing:1px;text-transform:uppercase;color:var(--text-faint);margin-bottom:8px;font-size:10px}.breakdown-row{align-items:center;gap:10px;margin-bottom:7px;display:flex}.breakdown-label{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:0 0 38%;font-size:12px;overflow:hidden}.breakdown-track{background:var(--border-subtle);border-radius:3px;flex:1;height:6px;overflow:hidden}.breakdown-fill{background:var(--accent-fill);border-radius:3px;height:100%}.breakdown-count{text-align:right;font-variant-numeric:tabular-nums;min-width:48px;color:var(--text);flex:none;font-size:12px}.sample-chips{flex-wrap:wrap;gap:8px;display:flex}.sample-chip{background:var(--bg);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);flex-direction:column;gap:1px;max-width:100%;padding:7px 11px;display:flex}.sample-company{color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-size:12.5px;font-weight:500;overflow:hidden}.sample-title{color:var(--text-faint);font-size:10.5px}.funnel{align-items:stretch;gap:8px;margin-bottom:16px;display:flex}.funnel-step{text-align:center;background:var(--bg);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);flex:1;padding:10px 6px}.funnel-step.highlight{border-color:var(--accent-fill);box-shadow:inset 0 0 0 1px var(--accent-fill), 0 0 18px var(--accent-glow);background:var(--accent-dim)}.funnel-num{font-family:var(--font-display);color:var(--text);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700;line-height:1.1}.funnel-step.highlight .funnel-num{color:var(--accent)}.funnel-lbl{color:var(--text-faint);margin-top:3px;font-size:10px}.funnel-arrow{color:var(--text-faint);align-self:center;font-size:14px}.sliders{background:var(--bg);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin-top:16px;padding:14px}.slider-row{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.slider-row label{color:var(--text-secondary);justify-content:space-between;font-size:12px;display:flex}.slider-row label strong{color:var(--accent)}.slider-row input[type=range]{appearance:none;background:var(--border-hover);border-radius:2px;outline:none;width:100%;height:4px}.slider-row input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent-fill);cursor:pointer;width:16px;height:16px;box-shadow:0 0 10px var(--accent-glow);border-radius:50%}.slider-row input[type=range]::-moz-range-thumb{background:var(--accent-fill);cursor:pointer;border:none;border-radius:50%;width:16px;height:16px}.slider-hint{color:var(--text-faint);margin-top:2px;font-size:11px}.signal-list{flex-direction:column;gap:8px;display:flex}.signal-item{background:var(--bg);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:border-color .2s var(--ease);justify-content:space-between;align-items:baseline;gap:10px;padding:9px 11px;text-decoration:none;display:flex}.signal-item:hover{border-color:var(--border-hover)}.signal-title{color:var(--text);font-size:12.5px;line-height:1.35}.signal-date{color:var(--text-faint);font-variant-numeric:tabular-nums;flex:none;font-size:10.5px}.signal-hint{color:var(--text-faint);margin-top:8px;font-size:11px}.math-toggle{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-left:6px;padding:0;font-family:inherit;font-size:12px;text-decoration:underline;display:inline-block}.math-box{background:var(--bg);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums;margin-top:10px;padding:12px;font-size:11.5px;line-height:1.7}.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}}.ob-shell{flex-direction:column;max-width:640px;height:100%;margin:0 auto;display:flex}.ob-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:8px 24px 64px;overflow-y:auto}.ob-center{text-align:center;color:var(--text-secondary);padding:80px 24px}.ob-kicker{letter-spacing:2px;text-transform:uppercase;color:var(--text-faint);margin-top:12px;font-size:10px}.ob-title{font-family:var(--font-display);color:var(--text);margin:4px 0 6px;font-size:22px;font-weight:700}.ob-intro{color:var(--text-muted);margin-bottom:20px;font-size:13.5px;line-height:1.5}.ob-field{margin-bottom:20px}.ob-subfield{margin-bottom:10px}.ob-label{color:var(--text-secondary);margin-bottom:5px;font-size:13px;font-weight:600;display:block}.ob-req{color:var(--accent)}.ob-tag{color:var(--accent);background:var(--accent-dim);border-radius:var(--radius-pill);vertical-align:middle;margin-left:8px;padding:2px 8px;font-size:10px;font-weight:500}.ob-help{color:var(--text-faint);margin:-2px 0 6px;font-size:11.5px;line-height:1.4}.ob-input{background:var(--bg-input);border:1px solid var(--border-hover);border-radius:var(--radius-sm);width:100%;color:var(--text);font-family:var(--font);transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);outline:none;padding:10px 12px;font-size:14px}.ob-input:focus{border-color:var(--accent-fill);box-shadow:0 0 0 3px var(--accent-ring)}.ob-textarea{resize:vertical;min-height:72px}.ob-select{appearance:auto}.ob-chips{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.ob-chips:empty{display:none}.ob-chip{background:var(--accent-dim);border:1px solid var(--accent-fill);border-radius:var(--radius-pill);color:var(--text);align-items:center;gap:6px;padding:5px 10px;font-size:12.5px;display:inline-flex}.ob-chip button{cursor:pointer;color:var(--accent);background:0 0;border:none;padding:0;font-size:14px;line-height:1}.ob-chip-add{background:var(--bg-elevated);border:1px dashed var(--border-hover);color:var(--text-muted);cursor:pointer}.ob-chiprow{gap:8px;display:flex}.ob-addbtn{width:auto;padding:8px 14px;font-size:13px}.ob-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:10px;padding:14px}.ob-cardhead{color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12px;font-weight:600;display:flex}.ob-remove{cursor:pointer;color:var(--text-faint);background:0 0;border:none;font-size:12px;text-decoration:underline}.ob-file{color:var(--text-secondary);font-size:13px}.ob-filedone{color:var(--accent);margin-top:4px;font-size:12.5px}.ob-status{gap:8px;display:flex}.ob-statusbtn{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;padding:8px 14px;font-size:13px}.ob-statusbtn.active{border-color:var(--accent-fill);background:var(--accent-dim);color:var(--accent);font-weight:600}.ob-confirm{background:var(--bg-elevated);border:1px solid var(--accent-fill);border-radius:var(--radius-md);padding:14px}.ob-confirmtext{color:var(--text);margin-bottom:12px;font-size:13px;line-height:1.6}.ob-checkline{color:var(--text);cursor:pointer;align-items:flex-start;gap:8px;font-size:13px;font-weight:600;display:flex}.ob-checkline input{accent-color:var(--accent);margin-top:3px}.ob-note{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);padding:12px;font-size:12.5px;line-height:1.7}.ob-notekey{color:var(--text-faint)}.ob-error{border-radius:var(--radius-sm);color:#b03030;background:#ff6b6b1f;border:1px solid #ff6b6b80;margin-bottom:14px;padding:10px 12px;font-size:13px}.ob-nav{gap:10px;margin-top:8px;display:flex}.ob-navbtn{flex:1}.ob-savestate{text-align:center;color:var(--text-faint);margin-top:12px;font-size:11.5px}.ob-donetitle{font-family:var(--font-display);color:var(--text);margin-bottom:10px;font-size:22px}.ob-donetext{max-width:440px;margin:0 auto;font-size:14px;line-height:1.6}@media (width<=480px){.ob-body{padding:8px 16px 56px}}
