/* ═══ AI Engine 机器人协调样式 ═══
   作用域锚点 .mwai-chatbot-container（AI Engine 聊天容器，各主题通用）。
   配色全部走站点主题变量（body 上的 CSS 变量，.dark-theme 自动适配深浅色）；
   卡片内强制站点文字色，保证在 AI Engine 任意窗口配色（其变量由后台主题
   设置注入，默认深色）下都可读。 */

/* —— AI 回复消息卡片化 ——
   div.mwai-text 的元素限定使特异性(0,4,1)高于 AI Engine 主题 CSS（0,4,0），
   不依赖样式加载顺序 */
.mwai-chatbot-container .mwai-reply.mwai-ai div.mwai-text {
  background: var(--main-bg-color);
  border: 1px solid var(--main-border-color);
  border-radius: var(--main-radius);
  box-shadow: 0 0 10px var(--main-shadow);
  color: var(--main-color);
  padding: 14px 16px;
  margin-top: 6px;
  text-align: left;
  word-break: break-word;
}

/* 拒绝卡片所在错误气泡：垫在卡片底下的错误红底清掉，只呈现卡片本身
   （:has 不支持的旧浏览器表现为红边残留，不影响使用） */
.mwai-chatbot-container .mwai-reply.mwai-error div.mwai-text:has(.zibll-ai-chatcard) {
  background: transparent;
  border: 0;
  padding: 0;
}

/* —— 拦截提示卡片（登录/开通会员/余额；作为消毒 HTML 渲染，class 与
   vip-level 等属性保留，on* 与 javascript: 会被剥掉）—— */
.mwai-chatbot-container .zibll-ai-chatcard {
  display: block;
  background: var(--muted-bg-color);
  border-radius: var(--main-radius);
  box-shadow: 0 0 10px var(--main-shadow);
  color: var(--main-color);
  padding: 18px 16px 16px;
  margin: 2px 0;
  text-align: center;
}

.mwai-chatbot-container .zibll-ai-chatcard-icon {
  width: 44px;
  height: 44px;
  line-height: 44px;
  margin: 0 auto 10px;
  border-radius: 50%;
  font-size: 20px;
  text-align: center;
  background: var(--muted-bg-color);
  /*回退行在上，支持 color-mix 的浏览器用主题色浅底*/
  background: color-mix(in srgb, var(--theme-color) 12%, transparent);
}

.mwai-chatbot-container .zibll-ai-chatcard-title {
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 6px;
  text-align: center;
}

.mwai-chatbot-container .zibll-ai-chatcard-desc {
  font-size: 13px;
  line-height: 1.8;
  color: var(--muted-2-color);
  margin-bottom: 12px;
  text-align: left;
}

/*会员名可点击 → 父主题 pay-vip 弹窗（pay.js body 委托，vip-level 决定会员tab）*/
.mwai-chatbot-container .zibll-ai-chatcard-desc .pay-vip {
  color: var(--theme-color);
  font-weight: 600;
  cursor: pointer;
  border-bottom: 1px dashed var(--theme-color);
}

/*余额不足卡片里的单价行*/
.mwai-chatbot-container .zibll-ai-chatcard-price {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  color: var(--muted-2-color);
}

.mwai-chatbot-container .zibll-ai-chatcard-btn {
  display: inline-block;
  min-width: 120px;
  padding: 8px 24px;
  border-radius: 999px;
  background: var(--theme-color);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  line-height: 20px;
  cursor: pointer;
  transition: opacity 0.2s;
}

.mwai-chatbot-container .zibll-ai-chatcard-btn:hover {
  opacity: 0.85;
  color: #fff;
}

/* —— 移动端 —— */
@media (max-width: 768px) {
  .mwai-chatbot-container .mwai-reply.mwai-ai div.mwai-text {
    padding: 12px 13px;
  }
  .mwai-chatbot-container .zibll-ai-chatcard {
    padding: 14px 12px;
  }
  .mwai-chatbot-container .zibll-ai-chatcard-icon {
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 18px;
  }
  .mwai-chatbot-container .zibll-ai-chatcard-title {
    font-size: 14px;
  }
  .mwai-chatbot-container .zibll-ai-chatcard-btn {
    display: block;
    max-width: 220px;
    margin: 0 auto;
  }
}

/* —— 弹出层层级 ——
   机器人窗口 z-index:999999，父主题登录(#u_sign)/开通会员(#modal_pay_uservip)/
   充值(#refresh_modal,RefreshModal动态创建) 弹窗(bootstrap 1050)会被压在下面；
   只抬高这三个指定弹窗。遮罩(.modal-backdrop 1040)不抬：机器人窗口仍露在遮罩上，
   但弹窗本体在最上层，不影响其它弹窗的层叠关系。
   弹窗打开时把机器人容器压回普通层（:has 不支持时仅表现为机器人未被遮罩变暗，
   弹窗仍可用） */
#u_sign,
#modal_pay_uservip,
#refresh_modal {
  z-index: 1000000;
}

body:has(#u_sign.in) .mwai-chatbot-container,
body:has(#modal_pay_uservip.in) .mwai-chatbot-container,
body:has(#refresh_modal.in) .mwai-chatbot-container {
  position: relative;
  z-index: 1;
}
