.sourcing-chat{--chat-z:80;position:relative;z-index:var(--chat-z);font-family:var(--display)}
.sourcing-chat [hidden]{display:none!important}
.chat-launch{position:fixed;right:24px;bottom:22px;display:flex;align-items:center;gap:11px;border:1px solid rgba(9,11,10,.16);background:var(--signal);color:var(--ink);padding:14px 18px;min-height:56px;font-size:13px;font-weight:750;cursor:pointer;box-shadow:0 14px 34px rgba(9,11,10,.2);transition:transform .2s,background .2s}
.chat-launch:hover{background:#c7e2a3;transform:translateY(-3px)}
.chat-launch:active{transform:translateY(0) scale(.98)}
.chat-launch svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.chat-launch[aria-expanded=true]{background:var(--paper)}
.chat-panel{position:fixed;right:24px;bottom:91px;width:min(390px,calc(100vw - 32px));height:min(610px,calc(100dvh - 130px));display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto;background:var(--paper);color:var(--ink);border:1px solid rgba(9,11,10,.25);box-shadow:0 28px 80px rgba(9,11,10,.3);overflow:hidden;animation:chat-enter .24s cubic-bezier(.2,.75,.2,1)}
@keyframes chat-enter{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
.chat-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;background:var(--ink);color:#fff;padding:18px 17px}
.chat-mark{display:grid;place-items:center;width:36px;height:36px;background:var(--signal);color:var(--ink);font-size:20px;font-weight:850}
.chat-header h2{font-size:17px;line-height:1.2;letter-spacing:-.02em}
.chat-header p{margin-top:4px;color:#b8c0b4;font-size:10px;line-height:1.4}
.chat-close{width:34px;height:34px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;font-size:25px;line-height:1;cursor:pointer;transition:background .2s}
.chat-close:hover{background:rgba(255,255,255,.1)}
.chat-messages{overflow:auto;padding:20px 17px 12px;display:flex;flex-direction:column;gap:13px}
.chat-message{max-width:88%;padding:12px 13px;font-size:12px;line-height:1.65}
.chat-message p{margin:0}
.chat-message.assistant{align-self:flex-start;background:#e4e7de;border-left:3px solid #a5b99a}
.chat-message.assistant.compact{background:transparent;border:1px solid #d0d5c9;color:#535c4e}
.chat-message.user{align-self:flex-end;background:var(--ink);color:#fff}
.chat-message.preview-response{border-left-color:var(--signal)}
.message-label{display:block;margin-bottom:5px;font-family:var(--mono);font-size:9px;color:#65705f}
.chat-quick{display:flex;flex-wrap:wrap;gap:7px;padding:5px 17px 15px}
.chat-quick button,.chat-quick a{border:1px solid #bec6b8;background:transparent;color:var(--ink);padding:7px 9px;font-size:10px;font-weight:650;cursor:pointer;transition:background .2s,border-color .2s}
.chat-quick button:hover,.chat-quick a:hover{background:#e0e5d8;border-color:#8d9986}
.chat-form{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:8px;padding:13px 15px 8px;border-top:1px solid #d2d7cc}
.chat-form input{min-width:0;height:44px;border:1px solid #b8c0b2;background:#fff;padding:0 12px;color:var(--ink);font-size:12px;outline:0}
.chat-form input:focus{border-color:#65775a;box-shadow:0 0 0 3px rgba(183,215,138,.32)}
.chat-form button{display:grid;place-items:center;border:0;background:var(--ink);color:var(--signal);cursor:pointer;transition:background .2s}
.chat-form button:hover{background:#2a3027}
.chat-form svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
.chat-footnote{padding:0 16px 14px;text-align:center;color:#6b7465;font-size:10px}
.chat-footnote a{text-decoration:underline;text-underline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){
  .chat-launch{right:15px;bottom:15px;width:56px;height:56px;padding:0;justify-content:center}
  .chat-launch span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .chat-panel{right:12px;bottom:82px;width:calc(100vw - 24px);height:min(620px,calc(100dvh - 104px))}
}
@media(prefers-reduced-motion:reduce){.chat-panel{animation:none}.chat-launch{transition:none}}
