/* kb-hub.css — M62 创效学习实践中心（知识枢纽）前台样式 */

.cylxd-kb { max-width: 1100px; margin: 0 auto; color: #1f2328; }

/* 板块分组标题 */
.cylxd-kb-scope-group {
    grid-column: 1 / -1;
    font-size: 15px; font-weight: 700; color: #135e96;
    margin: 18px 0 6px; padding-bottom: 6px; border-bottom: 2px solid #e7eef6;
}

/* 解锁后欢迎信 + 群活码 + 权益 */
.cylxd-kb-welcome {
    background: linear-gradient(135deg, #f6fff9, #ecfdf3);
    border: 1px solid #b7e4c7; border-radius: 12px;
    padding: 14px 16px; margin: 12px 0 0; font-size: 14px; line-height: 1.7;
}
.cylxd-kb-welcome-text { white-space: pre-wrap; color: #1f2328; }
.cylxd-kb-welcome-qr { margin-top: 10px; font-size: 13px; color: #555; }
.cylxd-kb-benefits { margin-top: 10px; }
.cylxd-kb-benefit { display: flex; align-items: center; gap: 10px; margin: 6px 0; font-size: 13px; }
.cylxd-kb-benefits-panel {
    background: #fff; border: 1px solid #e2e8f0; border-radius: 12px;
    padding: 14px 16px; margin: 14px 0;
}
.cylxd-kb-benefits-panel h3 { margin: 0 0 10px; font-size: 15px; }
.cylxd-kb-benefit-row { display: flex; align-items: center; gap: 10px; margin: 8px 0; font-size: 14px; }

/* 解锁卡双产品（在线课程 / 训战营） */
.cylxd-kb-product {
    border: 1px solid #e2e8f0; border-radius: 12px; padding: 12px 14px;
    margin: 10px 0; background: #fbfdff;
}
.cylxd-kb-product.is-bootcamp { border-color: #f5c98a; background: #fffaf3; }
.cylxd-kb-product-head { font-size: 15px; font-weight: 700; color: #135e96; margin-bottom: 6px; }
.cylxd-kb-product.is-bootcamp .cylxd-kb-product-head { color: #b45309; }
.cylxd-kb-ent-form { margin-top: 12px; padding: 12px 14px; background: #f6f7f7; border-radius: 10px; }

/* Hero */
.cylxd-kb-hero {
    background: linear-gradient(135deg, #2271b1 0%, #135e96 100%);
    color: #fff;
    border-radius: 12px;
    padding: 22px 24px;
    margin-bottom: 18px;
}
.cylxd-kb-hero h2 { margin: 0 0 6px; color: #fff; font-size: 22px; }
.cylxd-kb-hero p { margin: 0; opacity: .9; font-size: 14px; line-height: 1.7; }

/* 按周推荐 */
.cylxd-kb-reco {
    background: #fff8e5;
    border: 1px solid #f0d9a0;
    border-radius: 10px;
    padding: 12px 14px;
    margin-bottom: 18px;
}
.cylxd-kb-reco-head { font-size: 14px; margin-bottom: 8px; color: #7a5b00; }
.cylxd-kb-reco-item {
    display: inline-block;
    background: #fff;
    border: 1px solid #f0d9a0;
    border-radius: 20px;
    padding: 5px 14px;
    margin: 0 8px 6px 0;
    font-size: 13px;
    color: #7a5b00;
    text-decoration: none;
}
.cylxd-kb-reco-item:hover { background: #f0d9a0; }

/* 板块宫格 */
.cylxd-kb-scopes {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 14px;
    margin-bottom: 22px;
}
.cylxd-kb-scope {
    display: block;
    background: #fff;
    border: 1px solid #e3e6ea;
    border-radius: 12px;
    padding: 16px;
    text-decoration: none;
    color: inherit;
    transition: box-shadow .18s, transform .18s;
}
.cylxd-kb-scope:hover { box-shadow: 0 6px 18px rgba(34, 113, 177, .12); transform: translateY(-2px); }
.cylxd-kb-scope-icon { font-size: 26px; line-height: 1; margin-bottom: 8px; }
.cylxd-kb-scope-title { font-size: 16px; font-weight: 600; display: flex; align-items: center; gap: 8px; }
.cylxd-kb-scope-intro { font-size: 13px; color: #6a737d; margin: 6px 0 10px; line-height: 1.6; }
.cylxd-kb-scope-meta { font-size: 12px; color: #5b6470; }
.cylxd-kb-tag-pay, .cylxd-kb-tag-free {
    font-size: 11px;
    font-weight: 400;
    padding: 2px 7px;
    border-radius: 10px;
}
.cylxd-kb-tag-pay { background: #fdecef; color: #c0392b; }
.cylxd-kb-tag-free { background: #e8f6ee; color: #1e7e46; }

/* 面包屑 */
.cylxd-kb-crumb { font-size: 13px; color: #6a737d; margin-bottom: 12px; }
.cylxd-kb-crumb a { color: #2271b1; text-decoration: none; }

/* 模块宫格 */
.cylxd-kb-mods {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}
.cylxd-kb-mod {
    display: block;
    background: #fff;
    border: 1px solid #e3e6ea;
    border-left: 3px solid #2271b1;
    border-radius: 8px;
    padding: 12px 14px;
    text-decoration: none;
    color: inherit;
}
.cylxd-kb-mod:hover { background: #f6fafd; }
.cylxd-kb-mod-title { font-weight: 600; font-size: 15px; }
.cylxd-kb-mod-intro { font-size: 12px; color: #6a737d; margin: 4px 0; }
.cylxd-kb-mod-meta { font-size: 12px; color: #98a1a8; }

/* 区块 */
.cylxd-kb-section { margin: 22px 0; }
.cylxd-kb-section h3 { font-size: 17px; margin: 0 0 12px; }

/* 筛选条 */
.cylxd-kb-filter {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    background: #f6f7f7;
    border: 1px solid #e3e6ea;
    border-radius: 8px;
    padding: 10px 12px;
    margin-bottom: 14px;
    font-size: 13px;
}
.cylxd-kb-filter select, .cylxd-kb-filter input[type=text] {
    padding: 4px 8px;
    border: 1px solid #cfd6dd;
    border-radius: 5px;
    font-size: 13px;
}
.cylxd-kb-filter .cylxd-kb-search input { min-width: 180px; }
.cylxd-kb-btn {
    display: inline-block;
    background: #2271b1;
    color: #fff !important;
    border: 0;
    border-radius: 6px;
    padding: 6px 14px;
    font-size: 13px;
    text-decoration: none;
    cursor: pointer;
}
.cylxd-kb-btn:hover { background: #135e96; }
.cylxd-kb-btn.ghost { background: #fff; color: #2271b1 !important; border: 1px solid #2271b1; }
.cylxd-kb-btn.primary { background: #1e7e46; }
.cylxd-kb-count { font-size: 13px; color: #6a737d; margin: 0 0 10px; }
.cylxd-kb-empty {
    background: #fbfcfd;
    border: 1px dashed #d6dde4;
    border-radius: 8px;
    padding: 18px;
    color: #6a737d;
    font-size: 14px;
    text-align: center;
}

/* 问答卡 */
.cylxd-kb-qa {
    background: #fff;
    border: 1px solid #e3e6ea;
    border-radius: 10px;
    padding: 14px 16px;
    margin-bottom: 12px;
}
.cylxd-kb-qa-q { font-weight: 600; font-size: 15px; margin-bottom: 8px; }
.cylxd-kb-qa-tags { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
.cylxd-kb-chip {
    font-size: 11px;
    background: #eef4fa;
    color: #2271b1;
    border-radius: 10px;
    padding: 2px 8px;
}
.cylxd-kb-chip.date { background: #f4f5f6; color: #8a939b; }
.cylxd-kb-qa-a { font-size: 14px; line-height: 1.85; color: #333a41; }
.cylxd-kb-qa-extra { margin: 10px 0 0; padding-left: 18px; font-size: 13px; color: #55606b; }
.cylxd-kb-qa-extra li { margin-bottom: 3px; }
.cylxd-kb-qa-sup { margin-top: 10px; border-top: 1px dashed #e3e6ea; padding-top: 10px; }
.cylxd-kb-sup-item { background: #f8fbfd; border-left: 3px solid #7fb3d5; border-radius: 5px; padding: 8px 10px; margin-bottom: 8px; font-size: 13px; }
.cylxd-kb-sup-item b { color: #2271b1; }
.cylxd-kb-qa-foot { margin-top: 12px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.cylxd-kb-useful {
    background: #fff;
    border: 1px solid #cfd6dd;
    border-radius: 20px;
    padding: 4px 14px;
    font-size: 13px;
    cursor: pointer;
    color: #444;
}
.cylxd-kb-useful:hover { border-color: #2271b1; color: #2271b1; }
.cylxd-kb-useful[disabled] { background: #eef4fa; border-color: #7fb3d5; color: #2271b1; cursor: default; }
.cylxd-kb-kw { font-size: 12px; color: #98a1a8; }

/* 方法卡 */
.cylxd-kb-doc {
    background: #fff;
    border: 1px solid #e3e6ea;
    border-radius: 8px;
    padding: 10px 14px;
    margin-bottom: 8px;
}
.cylxd-kb-doc summary { cursor: pointer; font-weight: 600; font-size: 14px; }
.cylxd-kb-doc-body { margin-top: 10px; font-size: 14px; line-height: 1.85; color: #333a41; }

/* 提问 */
.cylxd-kb-ask-btn { margin-left: 10px; text-decoration: none; color: #1e7e46; font-size: 13px; }
.cylxd-kb-ask {
    background: #fff;
    border: 1px solid #cde6d8;
    border-radius: 10px;
    padding: 14px 16px;
    margin-bottom: 18px;
}
.cylxd-kb-ask h3 { margin: 0 0 6px; font-size: 15px; }
.cylxd-kb-ask-tip { font-size: 12px; color: #6a737d; margin: 0 0 10px; }
.cylxd-kb-ask textarea {
    width: 100%;
    border: 1px solid #cfd6dd;
    border-radius: 8px;
    padding: 10px;
    font-size: 14px;
    box-sizing: border-box;
}
.cylxd-kb-ask-actions { margin-top: 10px; display: flex; align-items: center; gap: 12px; }
.cylxd-kb-ask-msg { font-size: 13px; color: #1e7e46; }

/* 分页 */
.cylxd-kb-pager { margin: 16px 0; text-align: center; }
.cylxd-kb-pager .page-numbers {
    display: inline-block;
    padding: 4px 10px;
    margin: 0 2px;
    border: 1px solid #e3e6ea;
    border-radius: 5px;
    text-decoration: none;
    color: #2271b1;
    font-size: 13px;
}
.cylxd-kb-pager .page-numbers.current { background: #2271b1; color: #fff; border-color: #2271b1; }

@media (max-width: 600px) {
    .cylxd-kb-hero { padding: 16px; }
    .cylxd-kb-scopes, .cylxd-kb-mods { grid-template-columns: 1fr; }
    .cylxd-kb-filter { flex-direction: column; align-items: stretch; }
}

/* ============================================================
 * P2：付费墙 / 解锁 / 考试 / 我的学习
 * ============================================================ */

/* 按钮 */
.cylxd-kb-btn {
    display: inline-block;
    padding: 7px 16px;
    border-radius: 6px;
    font-size: 13px;
    text-decoration: none;
    border: 1px solid transparent;
    cursor: pointer;
    line-height: 1.6;
}
.cylxd-kb-btn-primary { background: #2271b1; color: #fff; border-color: #2271b1; }
.cylxd-kb-btn-primary:hover { background: #135e96; color: #fff; }
/* ghost：默认即清晰可辨的描边按钮（浅蓝底 + 蓝边 + 加粗深蓝字），
   避免白底浅灰边在浅色容器里"隐形"，仅 hover 才显形 */
.cylxd-kb-btn-ghost { background: #eef3f9; color: #135e96; border-color: #2271b1; font-weight: 600; }
.cylxd-kb-btn-ghost:hover { background: #2271b1; color: #fff; border-color: #2271b1; }

/* 状态条 */
.cylxd-kb-access {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    background: #fff;
    border: 1px solid #e3e6ea;
    border-left: 4px solid #2271b1;
    border-radius: 8px;
    padding: 10px 14px;
    margin-bottom: 14px;
    font-size: 13px;
}
.cylxd-kb-access.is-lock { border-left-color: #dba617; }
.cylxd-kb-access-right { display: flex; gap: 8px; flex-wrap: wrap; }
.cylxd-kb-access-right .cylxd-kb-btn { padding: 5px 12px; }
.cylxd-kb-tag-ok { color: #1e7e46; }
.cylxd-kb-tag-lock { color: #b32d2e; }
.cylxd-kb-locked-tip { font-size: 12px; color: #5b6470; margin-left: 10px; }

/* 解锁引导卡 */
.cylxd-kb-unlock {
    background: linear-gradient(180deg, #fffdf5 0%, #fff 100%);
    border: 1px solid #f0d9a8;
    border-radius: 10px;
    padding: 16px 18px;
    margin: 16px 0;
}
.cylxd-kb-unlock-head { font-size: 14px; margin-bottom: 8px; color: #6b5000; }
.cylxd-kb-price { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.cylxd-kb-price-cur { font-size: 28px; font-weight: 700; color: #b32d2e; }
.cylxd-kb-price-list { font-size: 15px; color: #98a1a8; text-decoration: line-through; }
.cylxd-kb-price-tag { font-size: 12px; color: #b32d2e; background: #fbeaea; padding: 2px 8px; border-radius: 10px; }
.cylxd-kb-unlock-tip { font-size: 12px; color: #6a737d; line-height: 1.8; margin: 6px 0; }
.cylxd-kb-buy-form { margin-top: 12px; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.cylxd-kb-buy-ent { font-size: 12px; color: #6a737d; }
.cylxd-kb-notice { padding: 8px 12px; border-radius: 6px; font-size: 13px; margin: 10px 0; }
.cylxd-kb-notice-ok { background: #eaf6ee; color: #1e7e46; border: 1px solid #cde6d8; }
.cylxd-kb-notice-err { background: #fbeaea; color: #b32d2e; border: 1px solid #f0c8c8; }

/* 考试 */
.cylxd-kb-q {
    background: #fff;
    border: 1px solid #e3e6ea;
    border-radius: 8px;
    padding: 12px 14px;
    margin-bottom: 10px;
}
.cylxd-kb-q-stem { font-size: 14px; line-height: 1.8; margin-bottom: 8px; }
.cylxd-kb-q-type { font-size: 12px; color: #5b6470; background: #f3f5f7; padding: 1px 8px; border-radius: 10px; margin-left: 6px; }
.cylxd-kb-q-opt { display: block; font-size: 13px; color: #333a41; padding: 4px 2px; }
.cylxd-kb-q-opt input { margin-right: 6px; }
.cylxd-kb-q-ans { margin-top: 8px; font-size: 12px; color: #1e7e46; background: #f3f9f5; padding: 6px 10px; border-radius: 6px; line-height: 1.7; }

/* 成绩 */
.cylxd-kb-result {
    text-align: center;
    padding: 20px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid #e3e6ea;
    margin-bottom: 16px;
}
.cylxd-kb-result.is-good { border-color: #cde6d8; background: #f4fbf6; }
.cylxd-kb-result.is-pass { border-color: #d6e4f0; background: #f6f9fc; }
.cylxd-kb-result.is-fail { border-color: #f0c8c8; background: #fdf5f5; }
.cylxd-kb-result-score { font-size: 46px; font-weight: 700; color: #2271b1; line-height: 1.1; }
.cylxd-kb-result.is-good .cylxd-kb-result-score { color: #1e7e46; }
.cylxd-kb-result.is-fail .cylxd-kb-result-score { color: #b32d2e; }
.cylxd-kb-result-score span { font-size: 16px; margin-left: 4px; color: #6a737d; }
.cylxd-kb-result-meta { font-size: 13px; color: #4a5157; margin-top: 6px; }

/* 通用表格 */
.cylxd-kb-table { width: 100%; border-collapse: collapse; font-size: 13px; background: #fff; }
.cylxd-kb-table th, .cylxd-kb-table td {
    border: 1px solid #e9edf0;
    padding: 7px 10px;
    text-align: left;
}
.cylxd-kb-table th { background: #f6f8f9; color: #4a5157; font-weight: 600; }

/* P3：实践社区 BBS */
.cylxd-kb-boards { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.cylxd-kb-board {
    display: block;
    padding: 8px 14px;
    border: 1px solid #e3e6ea;
    border-radius: 18px;
    background: #fff;
    font-size: 13px;
    text-decoration: none;
    color: #3c434a;
}
.cylxd-kb-board b { font-weight: 600; }
.cylxd-kb-board span { color: #98a1a8; font-size: 12px; margin-left: 6px; }
.cylxd-kb-board:hover { border-color: #2271b1; color: #2271b1; }
.cylxd-kb-board.is-cur { background: #2271b1; border-color: #2271b1; color: #fff; }
.cylxd-kb-board.is-cur span { color: #d6e4f0; }
.cylxd-kb-board-actions { margin: 10px 0 14px; }

.cylxd-kb-thread {
    background: #fff;
    border: 1px solid #e3e6ea;
    border-radius: 8px;
    padding: 12px 14px;
    margin-bottom: 10px;
}
.cylxd-kb-thread-title { font-size: 15px; font-weight: 600; margin-bottom: 6px; }
.cylxd-kb-thread-title a { text-decoration: none; }
.cylxd-kb-thread-excerpt { font-size: 13px; color: #6a737d; line-height: 1.7; }
.cylxd-kb-thread-meta { margin-top: 8px; font-size: 12px; color: #8a9299; display: flex; gap: 12px; flex-wrap: wrap; }
.cylxd-kb-thread-detail {
    background: #fff;
    border: 1px solid #e3e6ea;
    border-radius: 10px;
    padding: 16px 18px;
    margin-bottom: 14px;
}
.cylxd-kb-thread-detail.is-removed { border-color: #f0c8c8; background: #fdf5f5; }
.cylxd-kb-thread-detail h3 { margin: 0 0 8px; font-size: 18px; line-height: 1.5; }
.cylxd-kb-thread-body { font-size: 14px; line-height: 1.9; color: #2c3338; }
.cylxd-kb-thread-foot { margin-top: 12px; display: flex; gap: 10px; align-items: center; }

.cylxd-kb-post {
    border-top: 1px solid #eef1f3;
    padding: 10px 0;
}
.cylxd-kb-post.is-child { margin-left: 28px; background: #fafbfc; border-radius: 6px; padding: 10px 12px; }
.cylxd-kb-post.is-removed { opacity: .6; }
.cylxd-kb-post-head { font-size: 13px; color: #3c434a; margin-bottom: 4px; }
.cylxd-kb-post-head .date { color: #98a1a8; font-size: 12px; }
.cylxd-kb-post-body { font-size: 14px; line-height: 1.8; }
.cylxd-kb-post-foot { margin-top: 6px; font-size: 12px; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.cylxd-kb-inline { display: inline-block; }
.cylxd-kb-inline summary { cursor: pointer; color: #2271b1; }
.cylxd-kb-inline textarea { width: 100%; margin-top: 6px; }
.cylxd-kb-inline-report a { color: #98a1a8; text-decoration: none; }
.cylxd-kb-report { margin: 8px 0; font-size: 12px; }
.cylxd-kb-report form { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.cylxd-kb-report input[type=text] { min-width: 200px; }
.cylxd-kb-mod-bar {
    background: #f6f8f9;
    border: 1px dashed #c8ced4;
    border-radius: 8px;
    padding: 8px 12px;
    margin-bottom: 12px;
    font-size: 12px;
}
.cylxd-kb-chip.pin { background: #fbeaea; color: #b32d2e; }
.cylxd-kb-chip.essence { background: #fff8e5; color: #8a6100; }
.cylxd-kb-chip.upgraded { background: #eef4fb; color: #2271b1; }
.cylxd-kb-chip.expert { background: #eaf6ee; color: #1e7e46; }
.cylxd-kb-chip.removed { background: #f2f3f5; color: #8a9299; }
.cylxd-kb-chip.free { background: #e9faf0; color: #1a8a4f; border: 1px solid #b7e6c8; }

/* P4：晋级联动 */
.cylxd-kb-lv {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 14px;
    background: #eef4fb;
    color: #2271b1;
    font-size: 12px;
    font-weight: 600;
}
.cylxd-kb-growth-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 8px 0 12px; }
.cylxd-kb-lv-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border-radius: 20px;
    background: linear-gradient(135deg, #2271b1, #135e96);
    color: #fff;
    font-size: 14px;
}
.cylxd-kb-lv-badge b { font-weight: 700; }
.cylxd-kb-growth-bar { flex: 1 1 220px; height: 8px; background: #eef1f3; border-radius: 6px; overflow: hidden; }
.cylxd-kb-growth-bar-in { height: 100%; background: #2271b1; }
.cylxd-kb-growth-pts { font-size: 13px; color: #4a5157; }
.cylxd-kb-growth-stats { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 8px; margin-bottom: 10px; }
.cylxd-kb-growth-stat {
    background: #f6f8f9;
    border-radius: 6px;
    padding: 8px 10px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.cylxd-kb-growth-stat span { font-size: 12px; color: #8a9299; }
.cylxd-kb-growth-stat b { font-size: 16px; color: #2c3338; }
.cylxd-kb-growth-miss { font-size: 13px; color: #8a6100; background: #fff8e5; padding: 6px 10px; border-radius: 6px; }
.cylxd-kb-growth-badges { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 10px; }
.cylxd-kb-badge {
    padding: 4px 10px;
    border: 1px dashed #d8dde2;
    border-radius: 16px;
    font-size: 12px;
    color: #98a1a8;
}
.cylxd-kb-badge.is-own { border-style: solid; border-color: #f0c8c8; background: #fdf5f5; color: #b32d2e; }
.cylxd-kb-learn-bar { margin: 8px 0 12px; }

/* 管理员手动排序：左侧排序号 + 表单提交 */
.cylxd-kb-sortable .cylxd-kb-thread { display: flex; align-items: flex-start; gap: 10px; }
.cylxd-kb-thread-body { flex: 1; min-width: 0; }
.cylxd-kb-sortnum-wrap {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #6b7280;
    font-size: 12px;
    padding-top: 2px;
}
.cylxd-kb-sortnum {
    width: 56px;
    padding: 4px 6px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    font-size: 14px;
    text-align: center;
    -moz-appearance: textfield;
    appearance: textfield;
}
/* 排序号只需手填数字：去掉浏览器自带的上下调节箭头（会遮挡数字） */
.cylxd-kb-sortnum::-webkit-outer-spin-button,
.cylxd-kb-sortnum::-webkit-inner-spin-button {
    -webkit-appearance: none;
    appearance: none;
    margin: 0;
}
.cylxd-kb-sort-bar { margin: 8px 0 0; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.cylxd-kb-sort-tip { font-size: 12px; color: #6b7280; }
.cylxd-kb-sort-msg { font-size: 13px; margin-left: 4px; }

/* 全站搜索（kb_view=search）：问答 / 社区帖 / 方法卡 / 课程模块 */
.cylxd-kb-searchbar { margin: 0 0 14px; }
.cylxd-kb-searchbar .cylxd-kb-search-main { flex: 1 1 auto; }
.cylxd-kb-searchbar .cylxd-kb-search-main input[type=text] {
    width: 100%; min-width: 220px; padding: 8px 12px; font-size: 14px;
    border: 1px solid #cfd6dd; border-radius: 8px;
}
.cylxd-kb-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.cylxd-kb-tab {
    padding: 6px 14px; border: 1px solid #dfe4ea; border-radius: 18px;
    background: #fff; color: #3c434a; font-size: 13px; text-decoration: none;
}
.cylxd-kb-tab span { color: #8a9299; font-size: 12px; }
.cylxd-kb-tab:hover { border-color: #2271b1; color: #2271b1; }
.cylxd-kb-tab.is-cur { background: #2271b1; border-color: #2271b1; color: #fff; }
.cylxd-kb-tab.is-cur span { color: rgba(255, 255, 255, .85); }
.cylxd-kb-result {
    background: #fff; border: 1px solid #e2e8f0; border-radius: 10px;
    padding: 12px 14px; margin: 0 0 10px;
}
.cylxd-kb-result-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 6px; }
.cylxd-kb-result-title { font-size: 15px; font-weight: 600; color: #135e96; text-decoration: none; }
.cylxd-kb-result-title:hover { text-decoration: underline; }
.cylxd-kb-result-excerpt { font-size: 13px; line-height: 1.8; color: #3c434a; }
.cylxd-kb-result-reply {
    margin-top: 6px; font-size: 13px; line-height: 1.7; color: #4a5157;
    background: #f6f8f9; border-radius: 6px; padding: 6px 10px;
}
.cylxd-kb-result-meta { margin-top: 6px; font-size: 12px; color: #8a9299; }
.cylxd-kb-result-locked {
    margin-top: 6px; font-size: 12px; color: #8a6100;
    background: #fff8e5; border-radius: 6px; padding: 6px 10px;
}
.cylxd-kb-result-locked a { color: #2271b1; }
.cylxd-kb-result-more { margin-top: 6px; }
.cylxd-kb-result-more summary { cursor: pointer; color: #2271b1; font-size: 13px; }
.cylxd-kb-result-body {
    margin-top: 6px; font-size: 14px; line-height: 1.8;
    background: #fbfcfd; border-radius: 6px; padding: 10px 12px;
}
.cylxd-kb-result mark,
.cylxd-kb-result-excerpt mark,
.cylxd-kb-result-reply mark {
    background: #fff3a3; color: inherit; padding: 0 1px; border-radius: 2px;
}
/* 命中位置标签：标题 / 内容 / 回帖 */
.cylxd-kb-chip.hit-title { background: #eef4fb; color: #2271b1; border: 1px solid #cfe0f5; }
.cylxd-kb-chip.hit-body { background: #f4f5f6; color: #4a5157; border: 1px solid #e2e8f0; }
.cylxd-kb-chip.hit-reply { background: #eaf6ee; color: #1e7e46; border: 1px solid #b7e6c8; }
@media (max-width: 600px) {
    .cylxd-kb-searchbar { flex-direction: column; align-items: stretch; }
    .cylxd-kb-searchbar .cylxd-kb-search-main input[type=text] { width: 100%; }
}
