/* ================================================================
 * v_0.23 功能增强层样式：AI 检索 / 关键词 / 消息搜索 / 侧滑弹窗 / 战报
 * 独立新文件名，防 file:// 缓存
 * ================================================================ */

/* ---------- AI 助理 ---------- */
.ai-input { display: flex; gap: 8px; margin: 8px 0; }
.ai-q { flex: 1; }
.ai-res { max-height: 46vh; overflow-y: auto; border: 1px solid var(--line); border-radius: 8px; padding: 4px; }
.ai-item { padding: 6px 8px; border-bottom: 1px solid var(--line); }
.ai-item:last-child { border-bottom: none; }
.ai-item b { color: var(--acc); }

/* ---------- 关键词列表 ---------- */
.kw-add { display: flex; gap: 6px; margin: 8px 0 4px; }
.kw-add input { flex: 1; min-width: 0; }
.kw-b { width: 100%; box-sizing: border-box; margin: 4px 0 8px; min-height: 56px; border: 1px solid var(--line); border-radius: 8px; background: var(--card2); color: var(--fg); padding: 6px 8px; font: inherit; }
.kw-list { max-height: 40vh; overflow-y: auto; border: 1px solid var(--line); border-radius: 8px; padding: 4px; }
.kw-item { display: flex; align-items: center; gap: 8px; padding: 5px 8px; border-bottom: 1px solid var(--line); }
.kw-item:last-child { border-bottom: none; }
.kw-item .mla { margin-left: auto; }

/* ---------- 房间消息搜索 ---------- */
.msg-q { width: 100%; box-sizing: border-box; margin: 8px 0; }
.msg-res { max-height: 46vh; overflow-y: auto; border: 1px solid var(--line); border-radius: 8px; padding: 4px; }
.msg-hit { padding: 6px 8px; border-bottom: 1px solid var(--line); }
.msg-hit:last-child { border-bottom: none; }
.msg-hit:hover { background: var(--card2); }
.sbs-msg-search { margin-left: 8px; }

/* ---------- 侧滑消息弹窗 ---------- */
.sbs-toast-stack { position: fixed; right: 12px; top: 64px; z-index: 99999; display: flex; flex-direction: column; gap: 8px; max-width: min(320px, 84vw); pointer-events: none; }
.sbs-toast { pointer-events: auto; background: var(--card); border: 1px solid var(--acc); border-radius: 10px; padding: 8px 10px; box-shadow: 0 6px 18px rgba(0,0,0,.35); animation: sbsToastIn .28s ease; transition: opacity .3s, transform .3s; }
.sbs-toast.out { opacity: 0; transform: translateX(20px); }
.sbs-toast-h { display: flex; align-items: center; gap: 6px; font-size: 12px; }
.sbs-toast-h b { color: var(--acc); }
.sbs-toast-x { margin-left: auto; padding: 0 6px; }
.sbs-toast-b { font-size: 12px; color: var(--dim); margin-top: 4px; word-break: break-word; white-space: pre-wrap; }
@keyframes sbsToastIn { from { opacity: 0; transform: translateX(24px); } to { opacity: 1; transform: none; } }

/* ---------- 结团战报 ---------- */
.rep-table { width: 100%; border-collapse: collapse; margin: 8px 0 4px; font-size: 12px; }
.rep-table th, .rep-table td { border: 1px solid var(--line); padding: 4px 6px; text-align: center; }
.rep-table th { background: var(--card2); color: var(--dim); font-weight: 600; }
.rep-table td:first-child { text-align: left; }
.row.gap { gap: 8px; }

/* ---------- 导出栏（跑团界面） ---------- */
.ex-lb { font-size: 12px; color: var(--dim); align-self: center; }
.ex-sel { min-width: 110px; background: var(--card2); color: var(--fg); border: 1px solid var(--line); border-radius: 8px; padding: 6px 8px; font: inherit; }
/* ★ 广播/开关胶囊（战斗页对抗面板等）：原生复选框在深色主题下是个突兀的蓝方块，这里统一做成主题色胶囊。
   用法：<label class="sbs-chk-pill"><input type="checkbox"><span>文字</span></label> */
.sbs-chk-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--fg);cursor:pointer;
  padding:3px 10px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.03);
  transition:border-color .15s,background .15s,box-shadow .15s;user-select:none;white-space:nowrap}
.sbs-chk-pill:hover{border-color:var(--acc);background:rgba(224,166,78,.08)}
.sbs-chk-pill:has(input:checked){border-color:var(--acc);background:rgba(224,166,78,.12);box-shadow:0 0 0 1px rgba(224,166,78,.25) inset}
.sbs-chk-pill input{width:14px;height:14px;margin:0;accent-color:var(--acc);cursor:pointer;flex:none}
.sbs-chk-pill span{line-height:1}
