/* SecurePivot — chat widget */
.sp-launch{position:fixed;right:22px;bottom:22px;z-index:9000;display:flex;align-items:center;gap:11px;
  padding:13px 20px 13px 15px;border:none;border-radius:100px;cursor:pointer;font-family:inherit;
  font-size:.93rem;font-weight:600;color:#05070d;background:linear-gradient(135deg,#0f5f57,#14746a 60%,#1d8a76);
  box-shadow:0 14px 40px -10px rgba(79,124,255,.75);transition:transform .2s cubic-bezier(.2,.8,.3,1),box-shadow .2s,opacity .2s}
.sp-launch:hover{transform:translateY(-3px);box-shadow:0 20px 50px -10px rgba(79,124,255,.95)}
.sp-launch svg{flex:none}
.sp-launch .sp-dot{width:8px;height:8px;border-radius:50%;background:#0b3b22;box-shadow:0 0 0 3px rgba(11,59,34,.22)}
.sp-launch.hide{opacity:0;pointer-events:none;transform:scale(.85)}
/* On a phone the pill was ~150px wide and sat on top of whatever call-to-action
   happened to be at the bottom-right — it was covering a "Take a founding place"
   button. Collapse to an icon-only circle: same affordance, a third of the
   footprint, and it now clips at most the corner of a full-width button. */
@media(max-width:640px){
  .sp-launch{right:14px;bottom:14px;padding:0;width:52px;height:52px;border-radius:50%;
    justify-content:center;gap:0}
  .sp-launch .sp-launch-label,
  .sp-launch .sp-dot{display:none}
  .sp-launch svg{width:21px;height:21px}
}
/* Step aside while the reader is moving down the page. */
.sp-launch.sp-scrolling{opacity:.22;transform:scale(.9)}
@media(prefers-reduced-motion:reduce){
  .sp-launch{transition:none}
  .sp-launch.sp-scrolling{opacity:1;transform:none}
}

.sp-panel{position:fixed;right:22px;bottom:22px;z-index:9001;width:min(400px,calc(100vw - 28px));
  height:min(620px,calc(100vh - 40px));background:#0c0e14;border:1px solid #f2ede4;border-radius:20px;
  display:flex;flex-direction:column;overflow:hidden;box-shadow:0 40px 100px -24px rgba(0,0,0,.85);
  opacity:0;transform:translateY(16px) scale(.97);pointer-events:none;
  transition:opacity .26s cubic-bezier(.2,.8,.3,1),transform .26s cubic-bezier(.2,.8,.3,1);
  font-family:"Inter",system-ui,sans-serif;color:#1d2b2a}
.sp-panel.open{opacity:1;transform:none;pointer-events:auto}
@media(max-width:520px){.sp-panel{right:8px;bottom:8px;width:calc(100vw - 16px);height:calc(100vh - 24px)}}

.sp-head{display:flex;align-items:center;gap:12px;padding:16px 16px 15px;border-bottom:1px solid #e3dbcd;
  background:linear-gradient(135deg,rgba(79,124,255,.14),transparent 65%);flex:none}
.sp-av{width:38px;height:38px;border-radius:11px;flex:none;display:grid;place-items:center;
  background:linear-gradient(135deg,#0f5f57,#14746a 60%,#1d8a76)}
.sp-head h4{margin:0;font-size:.95rem;font-weight:700;letter-spacing:-.02em}
.sp-head p{margin:2px 0 0;font-size:.76rem;color:#4d5f5c;display:flex;align-items:center;gap:6px}
.sp-head p i{width:7px;height:7px;border-radius:50%;background:#34d399;display:inline-block;font-style:normal}
.sp-x{margin-left:auto;background:none;border:0;color:#4d5f5c;cursor:pointer;padding:6px;border-radius:8px;
  display:grid;place-items:center;transition:.18s}
.sp-x:hover{background:#181c26;color:#1d2b2a}

.sp-body{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:12px;
  scrollbar-width:thin;scrollbar-color:#e3dbcd transparent}
.sp-body::-webkit-scrollbar{width:6px}
.sp-body::-webkit-scrollbar-thumb{background:#e3dbcd;border-radius:3px}

.sp-msg{max-width:86%;padding:11px 15px;border-radius:15px;font-size:.91rem;line-height:1.58;
  animation:spIn .3s cubic-bezier(.2,.8,.3,1)}
@keyframes spIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.sp-msg.bot{background:#faf7f2;border:1px solid #f2ede4;border-bottom-left-radius:5px;align-self:flex-start;color:#dfe3ec}
.sp-msg.me{background:linear-gradient(135deg,#0f5f57,#6366f1);color:#fff;border-bottom-right-radius:5px;align-self:flex-end}
.sp-msg a{color:#22d3ee;font-weight:600}
.sp-msg p{margin:0}.sp-msg p+p{margin-top:9px}
.sp-msg strong{color:#fff;font-weight:600}

.sp-typing{display:flex;gap:4px;align-self:flex-start;background:#faf7f2;border:1px solid #f2ede4;
  padding:14px 16px;border-radius:15px;border-bottom-left-radius:5px}
.sp-typing i{width:7px;height:7px;border-radius:50%;background:#4d5f5c;animation:spB 1.3s infinite}
.sp-typing i:nth-child(2){animation-delay:.18s}.sp-typing i:nth-child(3){animation-delay:.36s}
@keyframes spB{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}

.sp-chips{display:flex;flex-wrap:wrap;gap:7px;padding:0 16px 12px;flex:none}
.sp-chips button{background:#ffffff;border:1px solid #e3dbcd;color:#c3cad8;font-family:inherit;
  font-size:.81rem;padding:8px 14px;border-radius:100px;cursor:pointer;transition:.18s}
.sp-chips button:hover{border-color:#0f5f57;color:#fff;background:rgba(79,124,255,.12)}

.sp-foot{border-top:1px solid #e3dbcd;padding:12px;flex:none;background:#0a0c11}
.sp-form{display:flex;gap:8px;align-items:flex-end}
.sp-form textarea{flex:1;background:#ffffff;border:1px solid #e3dbcd;border-radius:12px;color:#1d2b2a;
  font-family:inherit;font-size:.9rem;padding:11px 13px;resize:none;max-height:110px;min-height:44px;line-height:1.5}
.sp-form textarea:focus{outline:none;border-color:#0f5f57;box-shadow:0 0 0 3px rgba(79,124,255,.16)}
.sp-form textarea::placeholder{color:#4d5f5c}
.sp-send{width:44px;height:44px;flex:none;border:0;border-radius:12px;cursor:pointer;display:grid;place-items:center;
  background:linear-gradient(135deg,#0f5f57,#14746a 60%,#1d8a76);color:#05070d;transition:.18s}
.sp-send:hover{filter:brightness(1.1)}
.sp-send:disabled{opacity:.4;cursor:not-allowed}
.sp-fine{text-align:center;font-size:.7rem;color:#5a6273;margin:9px 0 0}
.sp-fine a{color:#4d5f5c}
@media(prefers-reduced-motion:reduce){.sp-panel,.sp-launch,.sp-msg{transition:none;animation:none}}
