/* ============ AI弹出层（Layui 风格，零依赖） ============ */
.ai-pop-mask {
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(0,0,0,.45);
  display: none; align-items: center; justify-content: center;
  padding: 16px;
}
.ai-pop {
  width: 360px; max-width: 92vw;
  background: #fff; border-radius: 10px; overflow: hidden;
  box-shadow: 0 16px 48px rgba(0,0,0,.22);
  transform: translateY(-14px) scale(.97); opacity: 0;
  transition: transform .18s ease, opacity .18s ease;
}
.ai-pop.in { transform: translateY(0) scale(1); opacity: 1; }
.ai-pop-body { padding: 22px 22px 4px; }
.ai-pop-title {
  font-size: 16px; font-weight: 600; color: #222; margin-bottom: 10px;
  display: flex; align-items: center; gap: 8px;
}
.ai-pop-title::before {
  content: ""; width: 4px; height: 16px; border-radius: 2px;
  background: var(--primary, #5b5bf0);
}
.ai-pop-content {
  font-size: 14px; line-height: 1.7; color: #555;
  word-break: break-word; padding: 2px 0;
}
.ai-pop-foot {
  display: flex; justify-content: flex-end; gap: 10px;
  padding: 16px 0 20px;
}
.ai-pop-foot .btn { min-width: 84px; }

/* Toast 顶部居中提示 */
.ai-toast {
  position: fixed; top: 22px; left: 50%; transform: translateX(-50%);
  z-index: 10000; display: flex; flex-direction: column; align-items: center;
  gap: 10px; pointer-events: none;
}
.ai-toast-item {
  background: #fff; color: #333; font-size: 14px; line-height: 1.5;
  padding: 11px 20px; border-radius: 8px;
  box-shadow: 0 10px 28px rgba(0,0,0,.16);
  border-left: 4px solid var(--primary, #5b5bf0);
  transform: translateY(-14px); opacity: 0;
  transition: transform .25s ease, opacity .25s ease;
  max-width: 86vw; word-break: break-word;
}
.ai-toast-item.in { transform: translateY(0); opacity: 1; }
.ai-toast-success { border-left-color: #16a34a; }
.ai-toast-error   { border-left-color: #ef4444; }
.ai-toast-info    { border-left-color: var(--primary, #5b5bf0); }

@media (prefers-color-scheme: dark) {
  .ai-pop { background: #2b2b34; }
  .ai-pop-title { color: #eee; }
  .ai-pop-content { color: #ccc; }
  .ai-toast-item { background: #2b2b34; color: #eee; }
}
