:root{--ink:#14181a;--ink-soft:#4a4f52;--ink-faint:#7c8382;--line:#e4e7e4;--paper:#fff;--paper-alt:#f6f6f3;--green:#0d5630;--gold:#d4af37;--teal:#0e7490;--teal-deep:#0a5261;--teal-bright:#1fa2be;--teal-tint:#eaf5f7;--teal-line:#b6dde4;--slate:#5b6360;--slate-tint:#f0f2f1;--slate-line:#cdd3d1;--danger:#b3261e;--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;--s7:96px;--s8:128px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box;border-radius:0;margin:0;padding:0}html,body{height:100%;overflow-x:hidden}body{font-family:var(--font);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.4}h1,h2{font-family:var(--font);font-weight:700;line-height:1.18}button,input{font-family:inherit}ul{list-style:none}:focus-visible{outline:3px solid var(--teal);outline-offset:2px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wf-tag{z-index:500;background:var(--ink);color:#fff;letter-spacing:.04em;text-transform:uppercase;opacity:.85;pointer-events:none;padding:6px 9px;font-size:10px;font-weight:700;line-height:1.2;position:fixed;bottom:8px;right:8px}.app{background:var(--paper);width:100%;height:100vh;min-height:100vh;display:flex}.sidebar{background:var(--paper-alt);border-right:1px solid var(--line);flex-direction:column;flex:0 0 272px;width:272px;max-width:84vw;min-height:0;display:flex}.sidebar-top{padding:var(--s3);border-bottom:1px solid var(--line);gap:var(--s2);flex-direction:column;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand-mark{background:var(--ink);color:#fff;letter-spacing:.02em;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;line-height:1.15;display:flex}.brand-name{letter-spacing:.01em;font-size:14px;font-weight:700;line-height:1.2}.new-chat-btn{border:1px solid var(--ink);width:100%;min-height:40px;color:var(--ink);cursor:pointer;letter-spacing:.03em;text-transform:uppercase;background:0 0;padding:10px 14px;font-size:13px;font-weight:700;line-height:1.15;transition:background-color .15s,color .15s}.new-chat-btn:hover{background:var(--ink);color:#fff}.sidebar-context{padding:var(--s3);border-bottom:1px solid var(--line);flex-direction:column;gap:5px;display:flex}.context-label{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);font-size:11px;font-weight:700;line-height:1.2}.context-industry{color:var(--teal-deep);letter-spacing:.01em;font-size:12.5px;font-weight:700;line-height:1.25}.context-usecase{color:var(--ink-soft);font-size:13px;line-height:1.35}.recents{padding:var(--s3);flex:auto;min-height:0;overflow-y:auto}.recents-label{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:var(--s1);font-size:11px;font-weight:700;line-height:1.2;display:block}.recents-list{flex-direction:column;gap:4px;display:flex}.recent-item{text-align:left;cursor:pointer;width:100%;color:var(--ink-soft);background:0 0;border:1px solid #0000;padding:9px 10px;font-size:13px;line-height:1.35}.recent-item:hover{background:var(--paper);border-color:var(--line)}.recent-item.is-active{background:var(--teal-tint);border-color:var(--teal-line);color:var(--teal-deep);font-weight:700}.recent-item .r-time{color:var(--ink-faint);margin-top:2px;font-size:11px;font-weight:400;line-height:1.2;display:block}.sidebar-foot{padding:var(--s3);border-top:1px solid var(--line);align-items:center;gap:10px;display:flex}.user-avatar{background:var(--slate);color:#fff;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:11px;font-weight:700;line-height:1.15;display:flex}.user-meta{flex-direction:column;min-width:0;line-height:1.25;display:flex}.user-name{color:var(--ink);font-size:13px;font-weight:700}.user-role{color:var(--ink-faint);font-size:11px}.sidebar-backdrop{display:none}.main{flex-direction:column;flex:auto;min-width:0;height:100vh;display:flex}.main-header{border-bottom:1px solid var(--line);padding:var(--s2) var(--s3);align-items:center;gap:var(--s2);flex-wrap:wrap;flex:none;display:flex}.sidebar-toggle-inline{border:1px solid var(--line);width:36px;height:36px;color:var(--ink);cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;font-size:16px;line-height:1.15;display:none}.main-header-text{min-width:0}.mh-eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--teal-deep);font-size:11px;font-weight:700;line-height:1.2;display:block}.mh-title{margin-top:2px;font-size:17px;line-height:1.2}.mh-status{letter-spacing:.05em;text-transform:uppercase;color:var(--green);border:1px solid var(--green);white-space:nowrap;flex:none;margin-left:auto;padding:5px 10px;font-size:11px;font-weight:700;line-height:1.15}.thread{min-height:0;padding:var(--s3);gap:var(--s2);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.msg{gap:10px;max-width:84%;display:flex}.msg-user{flex-direction:row-reverse;align-self:flex-end}.msg-assistant{align-self:flex-start}.msg-system{align-self:center;max-width:100%}.msg-system .msg-bubble{color:var(--ink-faint);text-align:center;padding:var(--s1) 0;background:0 0;border:none;font-size:12.5px}.msg-avatar{background:var(--teal);color:#fff;letter-spacing:.02em;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:10.5px;font-weight:700;line-height:1.15;display:flex}.msg-bubble{padding:12px 15px;font-size:14.5px;line-height:1.4}.msg-user .msg-bubble{background:var(--slate-tint);border:1px solid var(--slate-line);color:var(--ink)}.msg-assistant .msg-bubble{background:var(--paper);border:1px solid var(--line);color:var(--ink)}.msg-bubble p+p{margin-top:8px}.msg-time{color:var(--ink-faint);margin-top:6px;font-size:11px;line-height:1.2;display:block}.chart-block{margin-top:10px}.chart-bars{align-items:flex-end;gap:6px;height:96px;display:flex}.chart-bars span{background:var(--paper-alt);border:1px solid var(--line);height:var(--h,40%);flex:1 1 0}.chart-bars span.is-current{background:var(--teal-tint);border-color:var(--teal-line);border-top:3px solid var(--teal)}.chart-axis{gap:6px;margin-top:4px;display:flex}.chart-axis span{text-align:center;color:var(--ink-faint);flex:1 1 0;font-size:10.5px;line-height:1.2}.chart-caption{color:var(--ink-faint);margin-top:6px;font-size:11.5px;line-height:1.25;display:block}.calc-details{border:1px solid var(--line);background:var(--paper-alt);margin-top:10px}.calc-details summary{cursor:pointer;letter-spacing:.04em;text-transform:uppercase;color:var(--teal-deep);padding:8px 12px;font-size:11.5px;font-weight:700;line-height:1.2}.calc-details summary::marker{content:""}.calc-details summary::-webkit-details-marker{display:none}.calc-details summary:before{content:"▸ "}.calc-details[open] summary:before{content:"▾ "}.calc-details .calc-body{padding:0 14px 12px}.calc-details li{color:var(--ink-soft);margin-top:4px;padding-left:12px;font-size:12.5px;line-height:1.4;position:relative}.calc-details li:before{content:"–";color:var(--ink-faint);position:absolute;left:0}.composer{border-top:1px solid var(--line);background:var(--paper);padding:var(--s2) var(--s3) var(--s3);flex:none}.chips{margin-bottom:var(--s2);flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--teal-line);background:var(--teal-tint);color:var(--teal-deep);cursor:pointer;text-align:left;padding:8px 13px;font-size:12.5px;line-height:1.25;transition:background-color .15s,color .15s}.chip:hover,.chip:focus-visible{background:var(--teal);color:#fff;border-color:var(--teal)}.composer-form{gap:10px;display:flex}.composer-input{border:1px solid var(--line);min-width:0;color:var(--ink);background:var(--paper);flex:auto;padding:12px 14px;font-size:14.5px;line-height:1.3}.composer-input:focus-visible{outline:3px solid var(--teal);outline-offset:1px}.composer-send{background:var(--teal);border:1px solid var(--teal);color:#fff;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;flex:none;padding:12px 20px;font-size:12.5px;font-weight:700;line-height:1.15}.composer-send:hover{background:var(--teal-deep);border-color:var(--teal-deep)}.modal-overlay{z-index:300;padding:var(--s3);background:#14181abd;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-overlay.is-closed{display:none}body.gate-open{overflow:hidden}.modal{background:var(--paper);border:1px solid var(--line);width:100%;max-width:420px;max-height:92vh;padding:var(--s4) var(--s3) var(--s3);overflow-y:auto;box-shadow:0 24px 60px #060a084d}.modal-eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--teal-deep);margin-bottom:8px;font-size:11px;font-weight:700;line-height:1.2}.modal h2{color:var(--ink);margin-bottom:8px;font-size:21px;line-height:1.18}.modal .modal-desc{color:var(--ink-soft);margin-bottom:var(--s3);font-size:13.5px;line-height:1.4}.field{margin-bottom:var(--s2);flex-direction:column;gap:5px;display:flex}.field label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);font-size:11.5px;font-weight:700;line-height:1.2}.field input{border:1px solid var(--line);color:var(--ink);background:var(--paper);padding:12px 13px;font-size:15px;line-height:1.3}.field input[aria-invalid=true]{border-color:var(--danger)}.field input:focus-visible{outline:3px solid var(--teal);outline-offset:1px}.field-error{min-height:15px;color:var(--danger);font-size:12px;line-height:1.25}.modal-submit{width:100%;margin-top:var(--s1);background:var(--teal);border:1px solid var(--teal);color:#fff;cursor:pointer;letter-spacing:.05em;text-transform:uppercase;min-height:48px;padding:13px 18px;font-size:13.5px;font-weight:700;line-height:1.15}.modal-submit:hover{background:var(--teal-deep);border-color:var(--teal-deep)}@media (width<=780px){.sidebar{z-index:40;flex:none;transition:transform .22s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.sidebar-backdrop{z-index:35;opacity:0;visibility:hidden;background:#14181a73;transition:opacity .22s,visibility .22s;display:block;position:fixed;inset:0}.sidebar-backdrop.is-open{opacity:1;visibility:visible}.sidebar-toggle-inline{display:inline-flex}.mh-status{display:none}.msg{max-width:96%}}@media (width<=480px){.modal{padding:var(--s3) var(--s2) var(--s2)}}
