/* Memspire website assistant (assets/bot/bot.js). Self-contained: every rule is scoped to #msp-bot. */
#msp-bot{--b-blue:#235ae0;--b-blue-d:#1c48b4;--b-ink:#0d1220;--b-slate:#3a465e;--b-dim:#556074;--b-line:#e6eaf0;--b-soft:#f4f6fa;--b-info:#eaf2ff;
  position:fixed;right:20px;bottom:20px;z-index:2147482000;font-family:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--b-slate);-webkit-font-smoothing:antialiased}
#msp-bot *{box-sizing:border-box}
#msp-bot .bot-panel{width:330px;max-width:calc(100vw - 32px);height:min(470px,calc(100vh - 110px));background:#fff;border:1px solid #dbe1e8;border-radius:14px;
  box-shadow:0 16px 40px rgba(20,27,45,.14),0 3px 8px rgba(20,27,45,.06);display:flex;flex-direction:column;overflow:hidden}
#msp-bot .bot-head{display:flex;align-items:center;gap:9px;padding:9px 8px 9px 14px;border-bottom:1px solid var(--b-line);background:linear-gradient(180deg,#fff, var(--b-soft))}
#msp-bot .bot-head img{width:22px;height:22px;display:block}
#msp-bot .bot-title{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}
#msp-bot .bot-title b{font-family:Sora,system-ui,sans-serif;font-size:13.5px;color:var(--b-ink)}
#msp-bot .bot-title span{font-size:11.5px;color:var(--b-dim)}
#msp-bot .bot-icon-btn{width:30px;height:30px;border:0;border-radius:10px;background:transparent;color:var(--b-dim);cursor:pointer;display:flex;align-items:center;justify-content:center}
#msp-bot .bot-icon-btn:hover{background:var(--b-line);color:var(--b-ink)}
#msp-bot .bot-log{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;background:#fff}
#msp-bot .msg{max-width:88%;padding:8px 11px;border-radius:12px;font-size:13.5px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
#msp-bot .msg.bot{align-self:flex-start;background:var(--b-soft);color:var(--b-ink);border-bottom-left-radius:4px}
#msp-bot .msg.user{align-self:flex-end;background:var(--b-blue);color:#fff;border-bottom-right-radius:4px}
#msp-bot .bot-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;white-space:normal}
#msp-bot .bot-link{display:inline-block;padding:8px 14px;border-radius:9px;background:var(--b-blue);color:#fff;font-weight:700;font-size:13.5px;text-decoration:none}
#msp-bot .bot-link:hover{filter:brightness(1.08);text-decoration:none}
#msp-bot .msg.err{align-self:center;background:#fff4f4;color:#a12a2a;font-size:13px}
#msp-bot .typing{align-self:flex-start;display:flex;gap:4px;padding:12px 14px;background:var(--b-soft);border-radius:14px}
#msp-bot .typing i{width:6px;height:6px;border-radius:50%;background:#a3adbd;animation:mspdot 1.2s infinite}
#msp-bot .typing i:nth-child(2){animation-delay:.15s}#msp-bot .typing i:nth-child(3){animation-delay:.3s}
@keyframes mspdot{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
#msp-bot form{display:flex;gap:8px;padding:10px;border-top:1px solid var(--b-line);background:#fff}
#msp-bot textarea{flex:1;resize:none;height:38px;max-height:110px;border:1px solid #cdd4de;border-radius:10px;padding:8px 11px;font:inherit;font-size:13.5px;color:var(--b-ink);outline:none}
#msp-bot textarea:focus{border-color:var(--b-blue);box-shadow:0 0 0 3px rgba(47,108,255,.18)}
#msp-bot .bot-send{width:38px;height:38px;border:0;border-radius:10px;background:var(--b-blue);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:none}
#msp-bot .bot-send:hover{background:var(--b-blue-d)}
#msp-bot .bot-send:disabled{opacity:.5;cursor:default}
#msp-bot .bot-foot{padding:0 10px 8px;font-size:10.5px;color:var(--b-dim);text-align:center;background:#fff}
#msp-bot .bot-foot a{color:var(--b-dim);text-decoration:underline}
#msp-bot .bot-bubble{display:flex;align-items:center;gap:9px;height:46px;padding:0 16px 0 12px;border:0;border-radius:999px;background:var(--b-blue);color:#fff;
  font:inherit;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 8px 20px rgba(47,108,255,.28)}
#msp-bot .bot-bubble:hover{background:var(--b-blue-d)}
#msp-bot .bot-bubble .dot{width:9px;height:9px;border-radius:50%;background:#30d6c5;box-shadow:0 0 0 2px var(--b-blue)}
#msp-bot.minimized .bot-panel{display:none}
/* While the panel is open on a wide screen, bot.js's fitPage() slides the page's content columns left (--msp-shift). */
html.msp-bot-open .wrap{transform:translateX(calc(-1 * var(--msp-shift, 0px)));transition:transform .25s ease}
html.msp-bot-open.msp-bot-narrow .wrap{max-width:var(--msp-room);margin-left:0;margin-right:0;transform:none}
#msp-bot:not(.minimized) .bot-bubble{display:none}
@media (max-width:640px){
  #msp-bot{right:12px;bottom:12px;left:12px;display:flex;justify-content:flex-end}
  #msp-bot .bot-panel{width:100%;max-width:none;height:calc(100vh - 90px)}
}
/* Install page: the app download stays locked until the beta email is verified. */
.msp-locked{background:#cdd4de!important;color:#3a465e!important;box-shadow:none!important;cursor:pointer}
.msp-locked:hover{transform:none!important}
/* Inner Circle survey card (2026-10-31): floats above the chat bubble/panel, bottom-left so it never covers the chat. */
#msp-survey-card{position:fixed;left:20px;bottom:20px;z-index:2147483000;width:min(340px,calc(100vw - 40px));background:#fff;color:#0d1220;border:1px solid #e6eaf0;border-radius:14px;box-shadow:0 18px 50px rgba(13,18,32,.22);padding:16px 16px 14px;font:14px/1.5 Manrope,system-ui,-apple-system,Segoe UI,sans-serif}
#msp-survey-card .sc-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}
#msp-survey-card .sc-head img{width:22px;height:22px}
#msp-survey-card .sc-head b{font-size:13px;letter-spacing:.02em;color:#235ae0}
#msp-survey-card p{margin:0 0 12px;font-size:14.5px}
#msp-survey-card .sc-actions{display:flex;justify-content:flex-end;gap:8px}
#msp-survey-card button{border-radius:9px;padding:8px 16px;font:700 13.5px Manrope,system-ui,sans-serif;cursor:pointer}
#msp-survey-card .sc-yes{background:#235ae0;color:#fff;border:1px solid #235ae0}
#msp-survey-card .sc-later{background:#fff;color:#3a465e;border:1px solid #d5dbe6}
@media (max-width:640px){#msp-survey-card{left:16px;right:16px;width:auto;bottom:84px}}
