.pinsia-ai-launcher{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border:0;border-radius:999px;background:#222;color:#fff;font:inherit;font-weight:600;line-height:1.2;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.12)}
.pinsia-ai-launcher:focus-visible,.pinsia-ai-close:focus-visible,.pinsia-ai-clear:focus-visible,.pinsia-ai-form button:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.pinsia-ai-popup{position:fixed;inset:0;z-index:999999;display:none;align-items:flex-end;justify-content:center;padding:12px;background:rgba(0,0,0,.28)}
.pinsia-ai-popup.is-open{display:flex}
.pinsia-ai-popup-dialog{width:min(520px,calc(100vw - 24px));height:min(680px,82dvh);max-height:calc(100dvh - 24px);display:flex;flex-direction:column;background:#fff;border:1px solid #ddd;border-radius:18px;overflow:hidden;box-shadow:0 16px 50px rgba(0,0,0,.2);font-family:inherit}
.pinsia-ai-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #eee;flex:0 0 auto}
.pinsia-ai-head strong{font-size:15px}
.pinsia-ai-head-actions{display:flex;align-items:center;gap:6px}
.pinsia-ai-head button{border:0;background:transparent;cursor:pointer;font-size:12px;padding:6px}
.pinsia-ai-close{font-size:22px!important;line-height:1!important;width:34px;height:34px;border-radius:50%}
.pinsia-ai-close:hover{background:#f2f2f2}
.pinsia-ai-messages{overflow-anchor:none;flex:1 1 auto;min-height:0;height:auto;overflow:auto;padding:16px;background:#fafafa;-webkit-overflow-scrolling:touch}
.pinsia-ai-message{display:flex;margin:10px 0}.pinsia-ai-message.user{justify-content:flex-end}
.pinsia-ai-content{max-width:85%;padding:11px 14px;border-radius:12px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.pinsia-ai-message.ai .pinsia-ai-content{background:#fff;border:1px solid #e6e6e6}.pinsia-ai-message.user .pinsia-ai-content{background:#222;color:#fff}
.pinsia-ai-form{display:flex;gap:8px;padding:12px;border-top:1px solid #eee;flex:0 0 auto}
.pinsia-ai-input{flex:1;resize:none;min-width:0;border:1px solid #ccc;border-radius:8px;padding:10px;font:inherit}
.pinsia-ai-form button{border:0;border-radius:8px;padding:0 18px;cursor:pointer;background:#222;color:#fff}.pinsia-ai-form button:disabled{opacity:.5}
.pinsia-ai-foot{text-align:center;font-size:11px;color:#888;padding:6px;flex:0 0 auto}
.pinsia-ai-sources{font-size:11px;color:#777;margin-top:8px}.pinsia-ai-error{color:#b32d2e;font-size:13px}

/* Animated typing indicator while the AI is preparing its response. */
.pinsia-ai-typing{display:inline-flex;align-items:center;gap:4px;min-height:20px}
.pinsia-ai-typing-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.35;animation:pinsia-ai-typing-bounce 1.1s infinite ease-in-out}
.pinsia-ai-typing-dot:nth-child(2){animation-delay:.15s}.pinsia-ai-typing-dot:nth-child(3){animation-delay:.3s}
@keyframes pinsia-ai-typing-bounce{0%,60%,100%{transform:translateY(0);opacity:.35}30%{transform:translateY(-4px);opacity:.9}}

/* Streaming cursor once response text starts arriving. */
.pinsia-ai-content.pinsia-ai-streaming::after{content:'';display:inline-block;width:2px;height:1em;margin-left:3px;vertical-align:-0.12em;animation:pinsia-ai-cursor-blink .8s steps(1,end) infinite}
@keyframes pinsia-ai-cursor-blink{0%,49%{opacity:1}50%,100%{opacity:0}}

@media (max-width:600px){
  .pinsia-ai-popup{align-items:flex-end;padding:12px}
  .pinsia-ai-popup-dialog{width:calc(100vw - 24px);height:min(798px,92.4dvh);max-height:calc(100dvh - 24px);border-radius:16px}
  .pinsia-ai-form{padding:10px}
  .pinsia-ai-form button{padding:0 15px}
}

/* Suggested questions: compact removable tags that live inside the scrollable conversation. */
.pinsia-ai-suggestions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;margin:8px 0 4px;padding:0;background:transparent}
.pinsia-ai-suggestion{display:inline-flex;align-items:center;max-width:100%;width:auto;margin:0;padding:0;border:1px solid #ddd;border-radius:999px;background:#fff;color:#222;box-shadow:none;overflow:hidden}
.pinsia-ai-suggestion-text{display:block;min-width:0;max-width:100%;padding:8px 10px 8px 13px;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left;font:inherit;font-size:13px;font-weight:400;line-height:1.35;white-space:normal}
.pinsia-ai-suggestion-text:hover{background:#f7f7f7}
.pinsia-ai-suggestion-text:focus-visible,.pinsia-ai-suggestion-close:focus-visible{outline:2px solid currentColor;outline-offset:-2px}
.pinsia-ai-suggestion-close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:30px;margin-right:2px;padding:0;border:0;border-radius:50%;background:transparent;color:#777;cursor:pointer;font:inherit;font-size:17px;line-height:1}
.pinsia-ai-suggestion-close:hover{background:#f1f1f1;color:#222}
@media (max-width:600px){
  .pinsia-ai-suggestions{gap:7px;margin:8px 0 4px}
  .pinsia-ai-suggestion-text{font-size:12.5px;padding:7px 9px 7px 12px}
  .pinsia-ai-suggestion-close{flex-basis:28px;width:28px;height:28px;font-size:16px}
}
