/* ============ 前台知识库 + AI 客服窗口 ============ */
.wptk-fk{ width:min(1280px, calc(100vw - 32px)); margin:0 auto; }
.wptk-fk-layout{ display:grid; grid-template-columns:300px minmax(0,1fr); min-height:680px; border:1px solid #e8edf3; border-radius:12px; overflow:hidden; background:#fff; box-shadow:0 14px 34px rgba(17,24,39,.06); }
.wptk-fk-sidebar{ background:#f5f7fb; border-right:1px solid #e8edf3; padding:18px 14px; }
.wptk-fk-brand{ display:flex; align-items:center; gap:11px; margin-bottom:18px; color:#18243a; }
.wptk-fk-brand-mark{ display:flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:12px; background:linear-gradient(135deg,#7c64ff,#30c3b5); color:#fff; font-size:13px; font-weight:800; }
.wptk-fk-brand strong{ display:block; font-size:16px; line-height:1.2; }
.wptk-fk-brand span{ display:block; margin-top:3px; color:#5f6f85; font-size:12px; }
.wptk-fk-search input{ width:100%; height:40px; border:1px solid #e4e9f0; border-radius:8px; padding:0 12px 0 34px; font-size:14px; color:#1f2937; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238391a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") no-repeat 11px 50%; outline:none; }
.wptk-fk-search input:focus{ border-color:#9db7e8; box-shadow:0 0 0 3px rgba(69,116,223,.12); }
.wptk-fk-tree-head{ display:flex; align-items:center; justify-content:space-between; margin:22px 2px 8px; color:#6b778a; font-size:13px; font-weight:700; }
.wptk-fk-tree ul{ list-style:none; margin:0; padding:0; }
.wptk-fk-tree-level .wptk-fk-tree-level{ margin-left:15px; padding-left:10px; border-left:1px solid #e2e8f0; }
.wptk-fk-cat-node{ margin:3px 0; }
.wptk-fk-cat-title{ display:flex; align-items:center; gap:7px; width:100%; min-height:32px; padding:4px 6px; border:0; border-radius:7px; background:transparent; color:#26364d; font:700 14px/1.35 inherit; text-align:left; cursor:pointer; }
.wptk-fk-cat-title:hover{ background:#eef2f8; }
.wptk-fk-caret{ width:0; height:0; border-top:4px solid transparent; border-bottom:4px solid transparent; border-left:5px solid #8a98a8; transform:rotate(90deg); transition:transform .18s ease; }
.wptk-fk-cat-node.is-collapsed>.wptk-fk-cat-title .wptk-fk-caret,.wptk-fk-uncategorized.is-collapsed>.wptk-fk-cat-title .wptk-fk-caret{ transform:rotate(0deg); }
.wptk-fk-cat-icon{ position:relative; flex:0 0 18px; width:18px; height:18px; border-radius:5px; background:#34c4b8; }
.wptk-fk-cat-icon:after{ content:""; position:absolute; left:5px; top:5px; width:7px; height:4px; border-left:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(-45deg); opacity:.95; }
.wptk-fk-docs{ list-style:none; margin:2px 0 8px 30px; padding:0; }
.wptk-fk-cat-node.is-collapsed>.wptk-fk-docs,.wptk-fk-cat-node.is-collapsed>.wptk-fk-tree-level,.wptk-fk-uncategorized.is-collapsed>.wptk-fk-docs{ display:none; }
.wptk-fk-doc-item{ margin:2px 0; }
.wptk-fk-doc-link{ position:relative; display:block; padding:7px 9px 7px 29px; border-radius:7px; color:#334155; font-size:14px; line-height:1.45; text-decoration:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.wptk-fk-doc-link:before{ content:""; position:absolute; left:10px; top:9px; width:12px; height:14px; border:1.5px solid #9aa7b5; border-radius:2px; background:#fff; }
.wptk-fk-doc-link:after{ content:""; position:absolute; left:13px; top:13px; width:6px; height:1.5px; background:#9aa7b5; box-shadow:0 4px 0 #9aa7b5; }
.wptk-fk-doc-link:hover{ background:#edf3ff; color:#1954b8; text-decoration:none; }
.wptk-fk-doc-link.is-active{ background:#dbe8ff; color:#174ea6; font-weight:700; }
.wptk-fk-empty,.wptk-fk-viewer-empty{ color:#8a98a8; font-size:14px; }
.wptk-fk-viewer{ min-width:0; background:#fff; padding:34px 58px 60px; overflow:auto; }
.wptk-fk-doc-panel[hidden]{ display:none; }
.wptk-fk-doc-header{ margin-bottom:20px; }
.wptk-fk-doc-panel h2{ margin:0; color:#1f2937; font-size:30px; font-weight:800; line-height:1.28; }
.wptk-fk-result a{ display:block; padding:8px 10px; border-bottom:1px solid #eef2f5; text-decoration:none; color:#2d4761; }
.wptk-fk-detail{ max-width:860px; margin:0 auto; }
.wptk-fk-back{ display:inline-block; margin-bottom:12px; color:#2b6cb0; text-decoration:none; }
.wptk-fk-content{ max-width:820px; font-size:16px; line-height:1.9; color:#2d3748; }
.wptk-fk-content h1,.wptk-fk-content h2,.wptk-fk-content h3{ color:#1f2937; line-height:1.35; }
.wptk-fk-content p{ margin:0 0 16px; }
.wptk-fk-content img{ max-width:100%; height:auto; }
.wptk-fk-content table{ border-collapse:collapse; width:100%; }
.wptk-fk-content th,.wptk-fk-content td{ border:1px solid #dde3e9; padding:6px 10px; }
@media(max-width:782px){
  .wptk-fk{ width:min(100%, calc(100vw - 24px)); }
  .wptk-fk-layout{ grid-template-columns:1fr; min-height:0; }
  .wptk-fk-sidebar{ border-right:0; border-bottom:1px solid #e8edf3; }
  .wptk-fk-viewer{ padding:20px 18px; }
  .wptk-fk-doc-panel h2{ font-size:24px; }
}

/* 产品页知识库入口 */
.wptk-product-kb{ margin:24px 0; padding:16px 18px; border:1px solid #e6ebf0; border-radius:10px; background:#fafbfc; }
.wptk-product-kb h2{ margin:0 0 10px; font-size:18px; }
.wptk-product-kb ul{ margin:0; padding-left:18px; }
.wptk-product-kb a{ color:#2b6cb0; }

/* AI 客服窗口 */
.wptk-bot{ border:1px solid #e2e6ea; border-radius:12px; overflow:hidden; max-width:420px; background:#fff; box-shadow:0 8px 28px rgba(0,0,0,.08); }
.wptk-bot-head{ background:#2b6cb0; color:#fff; padding:12px 14px; font-weight:700; }
.wptk-bot-msgs{ height:320px; overflow:auto; padding:12px; background:#f6f8fb; }
.wptk-bot-row{ margin-bottom:10px; display:flex; }
.wptk-bot-row.user{ justify-content:flex-end; }
.wptk-bot-bubble{ max-width:80%; padding:8px 11px; border-radius:10px; font-size:14px; line-height:1.5; white-space:pre-wrap; }
.wptk-bot-row.user .wptk-bot-bubble{ background:#2b6cb0; color:#fff; }
.wptk-bot-row.ai .wptk-bot-bubble{ background:#fff; border:1px solid #e5e9ef; color:#1f2937; }
.wptk-bot-input{ display:flex; gap:6px; padding:10px; border-top:1px solid #eef2f5; }
.wptk-bot-input input{ flex:1; height:40px; border:1px solid #d6dde4; border-radius:6px; padding:0 10px; }
.wptk-bot-input button{ border:0; border-radius:6px; background:#2b6cb0; color:#fff; padding:0 16px; cursor:pointer; font-weight:700; }
