/* ═══════════════════════════════════════════════════════════
   环形山 · 内容中心 扩展样式
   —— 完全复用 crater 主题 token，只做增量，不覆盖
   ═══════════════════════════════════════════════════════════ */

:root {
    --mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
    --ix-accent: #0071e3;      /* 专家分享 · 人格化 · 蓝 */
    --kb-accent: #1d1d1f;      /* 知识库 · 结构化 · 石墨 */
}

/* ── 补齐主题缺失的工具类（命名与 Tailwind 一致） ────────── */
.grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.max-w-\[1200px\] { max-width: 1200px; }
.max-w-\[760px\] { max-width: 760px; }
.max-w-\[880px\] { max-width: 880px; }
.text-\[13px\] { font-size: 13px; }
.text-\[15px\] { font-size: 15px; }
.top-24 { top: 6rem; }
.top-20 { top: 5rem; }
.aspect-\[16\/9\] { aspect-ratio: 16 / 9; }
.aspect-\[4\/3\] { aspect-ratio: 4 / 3; }
.truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.clamp-4 { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.leading-\[1\.15\] { line-height: 1.15; }
.leading-\[1\.7\] { line-height: 1.7; }
.gap-2 { gap: 0.5rem; }
.gap-10 { gap: 2.5rem; }
.gap-14 { gap: 3.5rem; }
.py-28 { padding-top: 7rem; padding-bottom: 7rem; }
.mt-24 { margin-top: 6rem; }
.mb-14 { margin-bottom: 3.5rem; }
.w-14 { width: 3.5rem; }
.h-14 { height: 3.5rem; }
.w-11 { width: 2.75rem; }
.h-11 { height: 2.75rem; }
.z-10 { z-index: 10; }
.relative { position: relative; }
.absolute { position: absolute; }
.shrink-0 { flex-shrink: 0; }
.flex-1 { flex: 1 1 0%; }
.list-none { list-style: none; }
.cursor-pointer { cursor: pointer; }
.select-none { user-select: none; -webkit-user-select: none; }
.border-b { border-bottom-width: 1px; }
.border-l { border-left-width: 1px; }
.border-black\/\[0\.04\] { border-color: rgba(0, 0, 0, 0.04); }
.bg-a-black { background: #1d1d1f; }
.hover\:text-a-blue:hover { color: var(--crater-blue); }
.transition-all { transition: all 0.3s var(--crater-ease); }

/* ── 页面容器 ─────────────────────────────────────────────── */
.wrap { max-width: var(--crater-max-w); margin: 0 auto; padding-left: 1.5rem; padding-right: 1.5rem; }
.wrap-narrow { max-width: 880px; margin: 0 auto; padding-left: 1.5rem; padding-right: 1.5rem; }

/* ═══════════════════════════════════════════════════════════
   1. 内容类型切换 · Segmented Control
   ═══════════════════════════════════════════════════════════ */
.seg {
    display: inline-flex;
    padding: 4px;
    background: #f5f5f7;
    border-radius: 980px;
    gap: 2px;
}
.seg-item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 20px;
    border-radius: 980px;
    font-size: 14px;
    font-weight: 600;
    color: #86868b;
    transition: all 0.35s var(--crater-ease);
    white-space: nowrap;
}
.seg-item:hover { color: #1d1d1f; }
.seg-item.on {
    background: #fff;
    color: #1d1d1f;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.seg-item .dot {
    width: 6px; height: 6px; border-radius: 50%;
    background: currentColor; opacity: 0.45;
}
.seg-item.on .dot { opacity: 1; }
.seg-item.on[data-type="insight"] .dot { background: var(--ix-accent); }
.seg-item.on[data-type="knowledge"] .dot { background: var(--kb-accent); }
.seg-count {
    font-family: var(--mono);
    font-size: 11px;
    font-weight: 500;
    opacity: 0.55;
    letter-spacing: 0.02em;
}

/* ═══════════════════════════════════════════════════════════
   2. 专家组件 · 权威性
   ═══════════════════════════════════════════════════════════ */
.ex-avatar {
    border-radius: 50%;
    object-fit: cover;
    background: #f5f5f7;
    border: 1px solid rgba(0, 0, 0, 0.05);
    flex-shrink: 0;
}
.ex-avatar-ring {
    position: relative;
    flex-shrink: 0;
}
.ex-avatar-ring::after {
    content: '';
    position: absolute;
    inset: -3px;
    border-radius: 50%;
    border: 1.5px solid #0071e3;
    opacity: 0;
    transition: opacity 0.4s var(--crater-ease);
}
a:hover .ex-avatar-ring::after { opacity: 1; }

/* 身份徽章：内部 / 特邀 */
.ex-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 19px;
    padding: 0 7px;
    border-radius: 5px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
    white-space: nowrap;
    line-height: 1;
}
.ex-badge.internal { background: rgba(0, 113, 227, 0.10); color: #0071e3; }
.ex-badge.guest    { background: rgba(29, 29, 31, 0.07);  color: #1d1d1f; }
.ex-badge.verified { background: #0071e3; color: #fff; }

.ex-name { font-weight: 700; color: #1d1d1f; letter-spacing: -0.01em; }
.ex-role { font-size: 12px; color: #86868b; line-height: 1.45; }

/* 专家行（卡片内嵌） */
.ex-line { display: flex; align-items: center; gap: 9px; min-width: 0; }
.ex-line .ex-name { font-size: 13px; }
a.ex-line:hover .ex-name { color: #0071e3; }

/* 卡片内的紧凑版（卡片底部作者行）：名字+徽章单行省略 */
.ex-line-compact {
    gap: 7px;
    min-width: 0;
    flex: 1;
    max-width: 100%;
}
.ex-line-compact .ex-line-text {
    min-width: 0;
    flex: 1;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    overflow: hidden;
}
.ex-name-trunc {
    font-size: 12.5px;
    font-weight: 600;
    color: #1d1d1f;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
}
.ex-name-trunc .ex-badge { font-size: 9.5px; padding: 2px 6px; flex-shrink: 0; }

/* 专家大卡（列表页侧栏 / 详情页底部） */
.ex-card {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-radius: 20px;
    padding: 22px;
    transition: all 0.5s var(--crater-ease);
}
.ex-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 44px rgba(0, 0, 0, 0.06);
    border-color: rgba(0, 113, 227, 0.14);
}
.ex-stat {
    display: flex;
    flex-direction: column;
    gap: 1px;
}
.ex-stat b {
    font-family: var(--mono);
    font-size: 17px;
    font-weight: 600;
    color: #1d1d1f;
    letter-spacing: -0.02em;
}
.ex-stat span { font-size: 11px; color: #86868b; }

/* ═══════════════════════════════════════════════════════════
   2.5 专家社媒栏（6 个平台 · 微信/TK = hover 二维码）
   WordPress 字段：social.wechat.id/qr, social.weibo.url/handle ...
   ═══════════════════════════════════════════════════════════ */
.social-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.social-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 13px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 10px;
    color: #1d1d1f;
    font-size: 12.5px;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    transition: all 0.25s var(--crater-ease);
    text-decoration: none;
    position: relative;
    font-family: inherit;
}
.social-btn:hover {
    border-color: #0071e3;
    color: #0071e3;
    transform: translateY(-1px);
}
.social-btn svg { flex-shrink: 0; }
.social-label { line-height: 1; }

.social-qr-wrap { position: relative; display: inline-block; z-index: 5; }
.social-qr-pop {
    /* position / z-index / top / left 由 JS 设置（portal 模式） */
    transform: translateX(-50%) translateY(-4px);
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 14px;
    padding: 14px;
    width: 168px;
    text-align: center;
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.12);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.22s ease, transform 0.22s ease;
    z-index: 9999;
}
.social-qr-pop::before {
    content: '';
    position: absolute;
    top: -6px;
    left: 50%;
    margin-left: -6px;
    width: 12px;
    height: 12px;
    background: #fff;
    border-left: 1px solid rgba(0, 0, 0, 0.08);
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    transform: rotate(45deg);
}
.social-qr-wrap:hover .social-qr-pop,
.social-qr-wrap:focus-within .social-qr-pop,
.social-qr-wrap.show-pop .social-qr-pop {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}
/* 移动端：hover 无效，is-open 类触发 */
.social-qr-wrap.is-open .social-qr-pop {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}
/* 移动端：hover 无效，改成点击切换 */
@media (hover: none) {
    .social-qr-wrap.is-open .social-qr-pop {
        opacity: 1;
        pointer-events: auto;
        transform: translateX(-50%) translateY(0);
    }
    .social-qr-wrap.is-open .social-qr-pop::before { display: block; }
}

.social-qr-img {
    display: block;
    width: 140px;
    height: 140px;
    margin: 0 auto 8px;
    border-radius: 8px;
    background: #fff;
    background-image:
        linear-gradient(45deg, #f5f5f7 25%, transparent 25%),
        linear-gradient(-45deg, #f5f5f7 25%, transparent 25%),
        linear-gradient(45deg, transparent 75%, #f5f5f7 75%),
        linear-gradient(-45deg, transparent 75%, #f5f5f7 75%);
    background-size: 14px 14px;
    background-position: 0 0, 0 7px, 7px -7px, -7px 0;
    border: 1px solid rgba(0, 0, 0, 0.05);
    position: relative;
    overflow: hidden;
}
.social-qr-img::before,
.social-qr-img::after {
    content: '';
    position: absolute;
    width: 30px;
    height: 30px;
    border: 4px solid #1d1d1f;
    background: #fff;
}
.social-qr-img::before { top: 8px; left: 8px; }
.social-qr-img::after  { top: 8px; right: 8px; }
.social-qr-img span,
.social-qr-img { /* 装饰性二维码占位（演示用） */ }
.social-qr-img {
    background-color: #fff;
}
.social-qr-img::after {
    border-left: 0;
    border-bottom: 0;
    box-shadow: inset -4px -4px 0 #fff;
}
.social-qr-hint { display: block; font-size: 11px; color: #86868b; margin-bottom: 2px; }
.social-qr-id   { display: block; font-size: 11px; font-family: var(--mono); color: #1d1d1f; font-weight: 600; }

@media (max-width: 767px) {
    .social-btn { padding: 6px 10px; font-size: 11.5px; }
    .social-label { display: none; }      /* 手机端只显示图标，更紧凑 */
    .social-btn svg { width: 14px; height: 14px; }
}

/* ═══════════════════════════════════════════════════════════
   3. 专家分享 · 散点状信息流
   ═══════════════════════════════════════════════════════════ */

/* 编辑推荐 · 大卡（独立占整行） */
.ix-feature {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-radius: 24px;
    overflow: hidden;
    transition: all 0.6s var(--crater-ease);
    width: 100%;
    margin-bottom: 32px;
    min-height: 360px;
}
.ix-feature:hover {
    transform: translateY(-6px);
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.08);
    border-color: rgba(0, 113, 227, 0.16);
}
.ix-feature-link,
.ix-card-link {
    position: absolute;
    inset: 0;
    z-index: 1;
}
.ix-feature-cover {
    position: relative;
    min-height: 360px;
    background: linear-gradient(135deg, #eaf2fd 0%, #f5f5f7 100%);
    overflow: hidden;
}
.ix-feature-cover svg { display: block; position: absolute; inset: 0; width: 100%; height: 100%; }
.ix-feature-body { padding: 44px 44px 38px; display: flex; flex-direction: column; justify-content: center; }
/* 让 feature 内部链接独立可点（高于跳转层） */
.ix-feature-body a,
.ix-feature-body button,
.ix-card-body a { position: relative; z-index: 2; }

/* 散点网格 */
.ix-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}
.ix-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-radius: 20px;
    overflow: hidden;
    transition: all 0.5s var(--crater-ease);
}
.ix-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 56px rgba(0, 0, 0, 0.07);
    border-color: rgba(0, 113, 227, 0.14);
}
.ix-card:hover .ix-card-link ~ .ix-card-body .ix-card-title,
.ix-feature:hover .ix-feature-link ~ .ix-feature-body h2 { color: #0071e3; }
/* 顶部块：所有卡片等高（16:9），保证同一行正文起始线严格对齐 */
.ix-card-top {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #f5f5f7;
    flex-shrink: 0;
}
.ix-card-top svg { display: block; position: absolute; inset: 0; width: 100%; height: 100%; }
/* 金句面板：无图卡的等高替代，视觉上区分但不破坏行内基线 */
.ix-quote-panel {
    background: linear-gradient(135deg, #eaf2fd 0%, #f5f5f7 100%);
    display: flex; align-items: center; justify-content: center;
}
.ix-quote-mark {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 104px; line-height: 1;
    color: #0071e3; opacity: 0.16;
    transform: translateY(10px);
    user-select: none;
}
.ix-card-pick { position: absolute; top: 14px; left: 14px; z-index: 2; }

.ix-card-body { padding: 18px 22px 20px; display: flex; flex-direction: column; flex: 1; }
.ix-card-chip { margin-bottom: 10px; }
.ix-card-title {
    font-size: 16.5px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: -0.012em;
    color: #1d1d1f;
    margin-bottom: 8px;
    transition: color 0.3s ease;
}
.ix-card-excerpt { font-size: 13.5px; line-height: 1.68; color: #86868b; }
.ix-card-tags { margin: 14px 0; }

/* 宽卡：横跨整行（不与标准卡同 row，避免空白） */
.ix-card.wide { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; min-height: 300px; }
.ix-card.wide .ix-card-top { aspect-ratio: auto; height: 100%; min-height: 300px; }
.ix-card.wide .ix-card-body { padding: 36px 36px 32px; justify-content: center; }
.ix-card.wide .ix-card-title { font-size: 22px; line-height: 1.3; letter-spacing: -0.02em; margin-bottom: 12px; }
.ix-card.wide .ix-card-excerpt { font-size: 14.5px; line-height: 1.75; }
.ix-card.wide .ix-card-tags { margin: 18px 0; }

/* 观点卡（散点里的"轻"单元） */
.ix-quote {
    font-size: 15.5px;
    line-height: 1.6;
    color: #1d1d1f;
    font-weight: 600;
    letter-spacing: -0.01em;
}

/* 元信息行 */
.meta-line {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: #86868b;
    font-family: var(--mono);
    letter-spacing: 0.01em;
    white-space: nowrap;
    flex-shrink: 0;
}
.meta-sep { width: 3px; height: 3px; border-radius: 50%; background: #d2d2d7; flex-shrink: 0; }

/* 卡片底部行：作者 + 元信息（钉在底部，行内严格齐平） */
.ix-card-foot {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 14px;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
    min-width: 0;
}

/* 编辑精选标记 */
.pick {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: 22px;
    padding: 0 9px;
    border-radius: 6px;
    background: #0071e3;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.05em;
}

/* 分类小标 */
.topic-chip {
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 10px;
    border-radius: 980px;
    background: #f5f5f7;
    color: #1d1d1f;
    font-size: 11px;
    font-weight: 600;
    transition: all 0.3s ease;
}
.topic-chip:hover { background: rgba(0, 113, 227, 0.1); color: #0071e3; }

/* 标签（聚合入口） */
.tag-mini {
    display: inline-flex;
    align-items: center;
    height: 24px;
    padding: 0 10px;
    border-radius: 7px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    font-size: 11.5px;
    font-weight: 500;
    color: #515154;
    background: #fff;
    transition: all 0.3s ease;
}
.tag-mini::before {
    content: '#';
    color: #0071e3;
    font-weight: 700;
    margin-right: 3px;
    opacity: 0.7;
}
.tag-mini:hover { border-color: #0071e3; color: #0071e3; background: rgba(0, 113, 227, 0.04); }

/* ═══════════════════════════════════════════════════════════
   4. 知识库 · 结构状
   ═══════════════════════════════════════════════════════════ */
.kb-layout {
    display: grid;
    grid-template-columns: 232px 1fr;
    gap: 56px;
    align-items: start;
}

/* 左侧固定索引 */
.kb-index { position: sticky; top: 88px; }
.kb-index-title {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #86868b;
    margin-bottom: 14px;
}
.kb-index-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    margin-left: -10px;
    border-radius: 9px;
    font-size: 13.5px;
    font-weight: 500;
    color: #515154;
    transition: all 0.3s ease;
    cursor: pointer;
}
.kb-index-item:hover { background: #f5f5f7; color: #1d1d1f; }
.kb-index-item.on { background: #1d1d1f; color: #fff; }
.kb-index-item .num {
    font-family: var(--mono);
    font-size: 10.5px;
    opacity: 0.5;
    letter-spacing: 0.03em;
}
.kb-index-item .cnt {
    margin-left: auto;
    font-family: var(--mono);
    font-size: 10.5px;
    opacity: 0.45;
}

/* 知识域区块 */
.kb-domain { scroll-margin-top: 96px; }

/* ── 知识库首页：总览卡片网格 ─────────────────────────────────────── */
.kb-stats { display: flex; flex-wrap: wrap; gap: 40px; }
.kb-stat { min-width: 0; }
.kb-stat-n { font-family: var(--mono); font-size: 17px; font-weight: 600; color: #515154; letter-spacing: -0.01em; line-height: 1.2; }
.kb-stat-l { font-size: 11.5px; color: #86868b; margin-top: 3px; }

.kb-overview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}
.kb-overview-card {
    position: relative;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 22px;
    padding: 26px 26px 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    transition: all 0.45s var(--crater-ease);
}
.kb-overview-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 50px rgba(0, 0, 0, 0.07);
    border-color: rgba(0, 113, 227, 0.18);
}
/* 整卡不再可点：仅领域名 / 最近条目 / 维护者 / 进入知识库 可点 */
.kb-overview-name a { color: inherit; text-decoration: none; }
.kb-overview-name a:hover { color: var(--ix-accent); }
.kb-go a, .kb-overview-foot a { color: inherit; text-decoration: none; }
.kb-overview-top {
    display: flex;
    align-items: center;
    gap: 12px;
}
.kb-overview-name {
    font-size: 19px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #1d1d1f;
    line-height: 1.3;
}
.kb-overview-desc {
    font-size: 13.5px;
    line-height: 1.65;
    color: #86868b;
    margin: 0;
}
.kb-overview-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    padding: 14px 0;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.kb-os { display: flex; flex-direction: column; gap: 2px; }
.kb-os-n { font-family: var(--mono); font-size: 16px; font-weight: 600; color: #1d1d1f; letter-spacing: -0.005em; }
.kb-os-l { font-size: 11px; color: #86868b; }

.kb-overview-recent { padding-top: 2px; }
.kb-overview-recent-h {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #86868b;
    margin-bottom: 8px;
}
.kb-overview-recent ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}
.kb-overview-recent li { margin: 0; }
.kb-overview-recent li a {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 48px 1fr auto;
    gap: 10px;
    align-items: center;
    padding: 5px 0;
    font-size: 13px;
    color: #1d1d1f;
    text-decoration: none;
    border-radius: 6px;
    transition: padding-left 0.15s ease;
}
.kb-overview-recent li a:hover { padding-left: 4px; color: #0071e3; }
.kb-or-num { font-family: var(--mono); font-size: 11px; color: #86868b; }
.kb-or-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.kb-or-date { font-family: var(--mono); font-size: 10.5px; color: #86868b; }

.kb-overview-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 12px;
    margin-top: auto;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
}
.kb-overview-foot .ex-line-text { display: inline-flex; align-items: center; gap: 5px; min-width: 0; }
.kb-overview-foot .kb-go {
    position: relative;
    z-index: 2;
    font-size: 12px;
    font-weight: 600;
    color: #0071e3;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.kb-overview-card:hover .kb-go { gap: 10px; }

.kb-cadence-pill {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    font-size: 11px;
    font-weight: 600;
    color: #0071e3;
    background: rgba(0, 113, 227, 0.08);
    border-radius: 99px;
    font-family: var(--mono);
}
.kb-index-item .kb-i-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
    min-width: 0;
    font-size: 12.5px;
}
.kb-item-wrap { scroll-margin-top: 96px; }

@media (max-width: 1199px) {
    .kb-overview-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
    .kb-stats { gap: 26px; }
    .kb-overview-card { padding: 22px 20px 18px; }
    .kb-overview-name { font-size: 17px; }
}

.kb-domain-head {
    display: flex;
    align-items: flex-end;
    gap: 16px;
    padding-bottom: 14px;
    border-bottom: 1.5px solid #1d1d1f;
    margin-bottom: 2px;
}
.kb-domain-num {
    font-family: var(--mono);
    font-size: 12px;
    font-weight: 600;
    color: #0071e3;
    letter-spacing: 0.06em;
    padding-bottom: 5px;
}
.kb-domain-name {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #1d1d1f;
    line-height: 1.2;
}
.kb-domain-desc { font-size: 13.5px; color: #86868b; line-height: 1.6; padding-bottom: 5px; }

/* 条目行 */
.kb-item {
    display: grid;
    grid-template-columns: 40px 1fr 116px;
    gap: 18px;
    align-items: center;
    padding: 20px 16px 20px 12px;
    margin: 0 -16px 0 -12px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    border-radius: 12px;
    transition: all 0.4s var(--crater-ease);
}
.kb-item:hover { background: #f5f5f7; }
.kb-item-num {
    font-family: var(--mono);
    font-size: 12px;
    color: #86868b;
    letter-spacing: 0.04em;
    text-align: center;
    transition: color 0.3s ease;
}
.kb-item:hover .kb-item-num { color: #0071e3; }
.kb-item-title {
    font-size: 15.5px;
    font-weight: 600;
    color: #1d1d1f;
    letter-spacing: -0.01em;
    line-height: 1.4;
    transition: color 0.3s ease;
}
.kb-item:hover .kb-item-title { color: #0071e3; }
.kb-item-sub { font-size: 12.5px; color: #86868b; line-height: 1.55; margin-top: 3px; }
.kb-item-side {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
}
.kb-level {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 10.5px;
    font-weight: 600;
    color: #86868b;
}
.kb-level i {
    width: 4px; height: 4px; border-radius: 50%;
    background: #d2d2d7; display: block;
}
.kb-level i.on { background: #1d1d1f; }

/* 知识库封面卡（域内精选） */
.kb-card {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-radius: 16px;
    padding: 20px;
    transition: all 0.45s var(--crater-ease);
    height: 100%;
}
.kb-card:hover {
    transform: translateY(-4px);
    border-color: rgba(0, 113, 227, 0.16);
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.05);
}

/* 更新徽标 */
.updated {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-family: var(--mono);
    font-size: 10.5px;
    color: #0071e3;
    background: rgba(0, 113, 227, 0.08);
    padding: 2px 7px;
    border-radius: 5px;
}

/* ═══════════════════════════════════════════════════════════
   5. 标签聚合页
   ═══════════════════════════════════════════════════════════ */
.entity-hero {
    background: linear-gradient(180deg, #f5f5f7 0%, #fff 100%);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.entity-title {
    font-size: clamp(2rem, 5vw, 3.25rem);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1.05;
    color: #1d1d1f;
}
.entity-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1px;
    background: rgba(0, 0, 0, 0.06);
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 16px;
    overflow: hidden;
}
.entity-fact {
    background: #fff;
    padding: 16px 18px;
}
.entity-fact dt {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #86868b;
    margin-bottom: 5px;
}
.entity-fact dd { font-size: 14px; font-weight: 600; color: #1d1d1f; line-height: 1.45; }

.section-head {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 20px;
}
.section-head h3 {
    font-size: 19px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #1d1d1f;
}
.section-head .hint { font-size: 12.5px; color: #86868b; }
.section-head .more {
    margin-left: auto;
    font-size: 13px;
    font-weight: 600;
    color: #0071e3;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.section-head .more:hover { gap: 9px; }

/* ═══════════════════════════════════════════════════════════
   6. 详情页 · 正文与推荐
   ═══════════════════════════════════════════════════════════ */
.article-head { max-width: 760px; margin: 0 auto; }
.article-title {
    font-size: clamp(1.85rem, 4.2vw, 2.9rem);
    font-weight: 800;
    letter-spacing: -0.032em;
    line-height: 1.16;
    color: #1d1d1f;
}
.article-lede {
    font-size: 17px;
    line-height: 1.7;
    color: #515154;
    font-weight: 400;
}

/* 正文 */
.prose { max-width: 760px; margin: 0 auto; }
.prose p { font-size: 15.5px; line-height: 1.8; color: #1d1d1f; margin-bottom: 1.35em; }
.prose h2 {
    font-size: 22px; font-weight: 800; letter-spacing: -0.02em;
    color: #1d1d1f; margin: 2.4em 0 0.8em; line-height: 1.32;
}
.prose h3 { font-size: 17.5px; font-weight: 700; letter-spacing: -0.012em; color: #1d1d1f; margin: 1.9em 0 0.65em; }
.prose ul { margin: 0 0 1.4em; padding-left: 1.15em; }
.prose li { font-size: 15.5px; line-height: 1.78; color: #1d1d1f; margin-bottom: 0.55em; }
.prose li::marker { color: #0071e3; }
.prose strong { font-weight: 700; color: #1d1d1f; }
.prose a { color: #0071e3; border-bottom: 1px solid rgba(0, 113, 227, 0.3); }
.prose blockquote {
    border-left: 3px solid #0071e3;
    padding: 4px 0 4px 22px;
    margin: 1.9em 0;
    font-size: 15.5px;
    line-height: 1.75;
    color: #515154;
    font-style: normal;
}
.prose code {
    background: #f5f5f7;
    padding: 2px 6px;
    border-radius: 5px;
    font-family: var(--mono);
    font-size: 13.5px;
    color: #1d1d1f;
}
.prose pre {
    background: #1d1d1f;
    color: #f5f5f7;
    padding: 20px 22px;
    border-radius: 14px;
    overflow-x: auto;
    margin: 2em 0;
    font-family: var(--mono);
    font-size: 13px;
    line-height: 1.7;
}
.prose pre code { background: none; color: inherit; padding: 0; font-size: 13px; }

/* 侧边目录 */
.toc { position: sticky; top: 88px; }
.toc-title {
    font-size: 10.5px; font-weight: 700; letter-spacing: 0.1em;
    text-transform: uppercase; color: #86868b; margin-bottom: 12px;
}
.toc-item {
    display: block;
    padding: 6px 0 6px 12px;
    border-left: 2px solid rgba(0, 0, 0, 0.07);
    font-size: 13px;
    line-height: 1.5;
    color: #86868b;
    transition: all 0.3s ease;
}
.toc-item:hover { color: #1d1d1f; border-left-color: #86868b; }
.toc-item.on { color: #0071e3; border-left-color: #0071e3; font-weight: 600; }

/* ═══════════════════════════════════════════════════════════
   知识库详情页 · 底部三块：专家解读 / 本条目标签 / 相关领域
   ═══════════════════════════════════════════════════════════ */

/* 底部通用块（专家解读） */
.kb-bottom-block {
    margin-top: 56px;
    padding-top: 32px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}

/* 专家解读 · 紧凑卡片 */
.kb-rec-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.kb-rec-card {
    position: relative;
    display: grid;
    grid-template-columns: 32px 1fr 14px;
    gap: 12px;
    align-items: start;
    padding: 14px 16px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 14px;
    text-decoration: none;
    transition: all 0.3s var(--crater-ease);
    color: inherit;
    min-width: 0;
}
.kb-rec-card:hover {
    border-color: rgba(0, 113, 227, 0.2);
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.05);
}
.kb-rec-num {
    font-family: var(--mono);
    font-size: 12px;
    font-weight: 600;
    color: #0071e3;
    background: rgba(0, 113, 227, 0.08);
    border-radius: 6px;
    padding: 3px 0;
    text-align: center;
}
.kb-rec-body { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.kb-rec-title {
    font-size: 13.5px;
    font-weight: 600;
    color: #1d1d1f;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.kb-rec-card:hover .kb-rec-title { color: #0071e3; }
.kb-rec-meta {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11.5px;
    color: #86868b;
    font-family: var(--mono);
    min-width: 0;
}
.kb-rec-meta .ex-avatar { flex-shrink: 0; border-width: 1px; }
.kb-rec-author { font-weight: 600; color: #515154; font-family: var(--crater-text, -apple-system, BlinkMacSystemFont, 'PingFang SC', sans-serif); white-space: nowrap; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.kb-rec-date { white-space: nowrap; flex-shrink: 0; }
.kb-rec-meta > span:last-child { white-space: nowrap; flex-shrink: 0; }
.kb-rec-dot { width: 2px; height: 2px; border-radius: 50%; background: #d2d2d7; flex-shrink: 0; }
.kb-rec-arrow {
    font-size: 11px;
    color: #d2d2d7;
    transition: transform 0.25s ease, color 0.25s ease;
}
.kb-rec-card:hover .kb-rec-arrow {
    color: #0071e3;
    transform: translateX(2px);
}

/* 右栏：通用块 */
.kb-post-side {
    display: flex;
    flex-direction: column;
    gap: 22px;
}
.kb-side-card {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 18px;
    padding: 18px 20px 20px;
}
.kb-side-h {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #86868b;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.kb-side-h::after {
    content: '';
    flex: 1;
    height: 1px;
    background: rgba(0, 0, 0, 0.05);
    margin-left: 12px;
}

/* 本条目标签：纵向堆叠的大 chip */
.kb-tag-stack {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.kb-tag-stack .tag-mini,
.kb-tag-stack a.tag-mini {
    padding: 10px 14px;
    font-size: 13px;
    border-radius: 12px;
    background: rgba(0, 113, 227, 0.04);
    color: #0071e3;
    border: 1px solid rgba(0, 113, 227, 0.1);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 500;
    text-decoration: none;
}
.kb-tag-stack .tag-mini::after {
    content: '#';
    font-family: var(--mono);
    font-size: 11px;
    color: rgba(0, 113, 227, 0.5);
}
.kb-tag-stack .tag-mini:hover {
    background: rgba(0, 113, 227, 0.08);
    border-color: rgba(0, 113, 227, 0.3);
}

/* 相关领域：紧凑列表 */
.kb-side-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.kb-side-domain {
    position: relative;
    display: grid;
    grid-template-columns: 28px 1fr 12px;
    gap: 10px;
    align-items: center;
    padding: 10px 12px;
    border-radius: 10px;
    text-decoration: none;
    color: inherit;
    transition: background 0.2s ease;
    min-width: 0;
}
.kb-side-domain:hover { background: rgba(0, 113, 227, 0.04); }
.kb-side-domain:hover .kb-side-d-name { color: #0071e3; }
.kb-side-domain:hover .kb-side-d-arrow { color: #0071e3; transform: translateX(2px); }
.kb-side-d-num {
    font-family: var(--mono);
    font-size: 11px;
    font-weight: 700;
    color: #1d1d1f;
    background: rgba(0, 0, 0, 0.04);
    border-radius: 6px;
    padding: 4px 0;
    text-align: center;
    line-height: 1;
}
.kb-side-d-body { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.kb-side-d-name {
    font-size: 13px;
    font-weight: 600;
    color: #1d1d1f;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.kb-side-d-cnt {
    font-family: var(--mono);
    font-size: 10.5px;
    color: #86868b;
}
.kb-side-d-arrow {
    font-size: 10px;
    color: #d2d2d7;
    transition: transform 0.25s ease, color 0.25s ease;
}

/* 响应式 */
@media (max-width: 1023px) {
    .kb-rec-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
    .kb-bottom-block { margin-top: 40px; padding-top: 24px; }
    .kb-rec-card { padding: 12px 14px; }
    .kb-side-card { padding: 16px 18px 18px; }
}

/* 作者权威卡 */
.author-box {
    background: #f5f5f7;
    border-radius: 20px;
    padding: 26px;
}
.author-box.dark {
    background: #1d1d1f;
    color: #f5f5f7;
}
.author-box.dark .ex-name { color: #fff; }
.author-box.dark .ex-role { color: rgba(245, 245, 247, 0.6); }

/* 推荐区块 */
.rec-band {
    background: #f5f5f7;
    border-radius: 24px;
    padding: 44px 40px;
}
.rec-item {
    display: grid;
    grid-template-columns: 30px 1fr auto;
    gap: 16px;
    align-items: center;
    padding: 18px 4px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    transition: all 0.35s var(--crater-ease);
}
.rec-item:last-child { border-bottom: none; }
.rec-item:hover { padding-left: 10px; }
.rec-num {
    font-family: var(--mono);
    font-size: 12px;
    color: #86868b;
}
.rec-item:hover .rec-num { color: #0071e3; }
.rec-title {
    font-size: 15.5px;
    font-weight: 600;
    color: #1d1d1f;
    letter-spacing: -0.012em;
    line-height: 1.45;
    transition: color 0.3s ease;
}
.rec-item:hover .rec-title { color: #0071e3; }
.rec-arrow { color: #d2d2d7; transition: all 0.3s ease; }
.rec-item:hover .rec-arrow { color: #0071e3; transform: translateX(3px); }

/* 路径导航 */
.crumbs {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 12.5px;
    color: #86868b;
    font-family: var(--mono);
}
.crumbs a:hover { color: #0071e3; }
.crumbs .sep { opacity: 0.4; }

/* 进度条 */
.read-progress {
    position: fixed;
    top: 56px; left: 0;
    height: 2px;
    background: #0071e3;
    width: 0;
    z-index: 60;
    transition: width 0.1s linear;
}

/* 相关标签条 */
.tagbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

/* ═══════════════════════════════════════════════════════════
   内联图形与图标（SVG 直接渲染，无 img / 无网络请求）
   ═══════════════════════════════════════════════════════════ */
.ex-avatar {
    display: block;
    border-radius: 50%;
    overflow: hidden;
    background: #f5f5f7;
    border: 1px solid rgba(0, 0, 0, 0.05);
    flex-shrink: 0;
    line-height: 0;
}
.ex-avatar svg { display: block; width: 100%; height: 100%; }
.ex-avatar-ring {
    display: inline-flex;
    flex-shrink: 0;
    position: relative;
    border-radius: 50%;
}

.ic { display: inline-flex; align-items: center; justify-content: center; line-height: 0; flex-shrink: 0; }
i[class*="fa-"] { display: inline-block; width: 1em; height: 1em; }

.article-cover {
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 44px;
    aspect-ratio: 16 / 9;
    background: #f5f5f7;
}
.article-cover svg { display: block; width: 100%; height: 100%; }

/* ═══════════════════════════════════════════════════════════
   响应式：PC / iPad / 手机
   PC ≥1200 · iPad 横屏 1024–1199 · iPad 竖屏 768–1023 · 手机 <768
   ═══════════════════════════════════════════════════════════ */
.with-side { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 56px; align-items: start; }
.side-col { position: sticky; top: 88px; display: flex; flex-direction: column; gap: 26px; }
.hero-band { padding: 120px 0 0; background: linear-gradient(180deg, #f5f5f7 0%, #fff 100%); }
.hero-plain { padding: 112px 0 0; }

/* ── 知识库详情页布局：左 toc / 中 正文 / 右 相关领域 ── */
.kb-post-layout {
    display: grid;
    grid-template-columns: 200px minmax(0, 1fr) 240px;
    gap: 36px;
    align-items: start;
}
.kb-post-layout > .toc { position: sticky; top: 88px; align-self: start; }
.kb-post-layout > .kb-post-side { position: sticky; top: 88px; align-self: start; }

/* ── iPad 横屏 / 小笔电：收窄侧栏，卡片两列 ── */
@media (max-width: 1199px) {
    .with-side { grid-template-columns: minmax(0, 1fr) 260px; gap: 36px; }
    .ix-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
    .ix-card.wide { grid-column: 1 / -1; }
    .kb-layout { grid-template-columns: 200px minmax(0, 1fr); gap: 36px; }
    .kb-post-layout { grid-template-columns: 180px minmax(0, 1fr); gap: 32px; }
    .kb-post-side {
        grid-column: 1 / -1;
        position: static !important;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 28px;
        padding-top: 8px;
        border-top: 1px solid rgba(0, 0, 0, 0.06);
    }
    .ix-feature-cover { min-height: 300px; }
    .ix-feature-body { padding: 36px 32px 32px; }
    .ix-card.wide .ix-card-top { min-height: 260px; }
    .ix-card.wide .ix-card-body { padding: 28px 28px; }
}

/* ── iPad 竖屏：单栏，侧栏与索引下移 ── */
@media (max-width: 1023px) {
    .hero-band { padding-top: 96px; }
    .hero-plain { padding-top: 88px; }
    .with-side { grid-template-columns: 1fr; gap: 44px; }
    .side-col { position: static; }
    .kb-layout { grid-template-columns: 1fr; gap: 28px; }
    .kb-index { position: static; }
    .kb-index-list { display: flex; flex-wrap: wrap; gap: 6px; }
    .kb-index-item { margin-left: 0; }
    .kb-post-layout { grid-template-columns: 1fr; gap: 30px; }
    .toc { position: static; margin-bottom: 4px; }
    .toc-item { display: inline-block; margin: 0 12px 6px 0; padding-left: 10px; }
    .ix-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
    .ix-feature { grid-template-columns: 1fr; min-height: 0; }
    .ix-feature-cover { min-height: 220px; aspect-ratio: 21/9; }
    .ix-feature-body { padding: 30px 28px; }
    .ix-card.wide { grid-template-columns: 1fr; min-height: 0; }
    .ix-card.wide .ix-card-top { min-height: 0; aspect-ratio: 21/9; }
    .ix-card.wide .ix-card-body { padding: 24px 22px; }
    .ix-card.wide .ix-card-title { font-size: 19px; }
    .kb-domain-head { flex-wrap: wrap; gap: 10px; }
    .kb-domain-desc { display: none; }
    .entity-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #c-author { flex-wrap: wrap; }
    #c-stats { gap: 22px !important; padding: 18px 20px !important; }
}

/* ── 手机 ── */
@media (max-width: 767px) {
    .hero-band { padding-top: 84px; }
    .hero-plain { padding-top: 78px; }
    .wrap, .wrap-narrow { padding-left: 1.25rem; padding-right: 1.25rem; }
    .ix-grid { grid-template-columns: 1fr; gap: 16px; }
    .ix-feature { margin-bottom: 24px; }
    .ix-feature-cover { min-height: 180px; aspect-ratio: 16/9; }
    .ix-feature-body { padding: 24px 20px 22px; }
    .ix-card.wide .ix-card-top { min-height: 0; aspect-ratio: 16/9; }
    .ix-card.wide .ix-card-body { padding: 20px 18px; }
    .ix-card.wide .ix-card-title { font-size: 17px; }
    .rec-band { padding: 26px 20px; border-radius: 20px; }
    .rec-item { grid-template-columns: 24px 1fr; gap: 12px; padding: 15px 0; }
    .rec-arrow { display: none; }
    .author-box { padding: 20px; border-radius: 16px; }
    .kb-item { grid-template-columns: 1fr; gap: 8px; padding: 16px 10px; margin: 0 -10px; }
    .kb-item-side { flex-direction: row; align-items: center; gap: 12px; }
    .entity-facts { grid-template-columns: 1fr; }
    .entity-title { font-size: 1.85rem; }
    .prose p, .prose li { font-size: 15.5px; }
    .prose h2 { font-size: 20px; margin-top: 2em; }
    .prose h3 { font-size: 16.5px; }
    .prose blockquote { font-size: 15.5px; }
    .prose pre { padding: 16px; font-size: 12px; border-radius: 12px; }
    .article-lede { font-size: 16px; }
    .seg-item { padding: 8px 14px; font-size: 13px; }
    .with-side { gap: 36px; }
    #c-stats { gap: 18px !important; width: 100%; justify-content: space-between; }
}

@media (max-width: 420px) {
    .entity-facts { grid-template-columns: 1fr; }
    .kb-domain-name { font-size: 19px; }
    .section-head h3 { font-size: 17px; }
}

/* ═══════════════════════════════════════════════════════════
   9. 多语言（i18n）兼容层
   约定：语言切换只靠 <html lang="xx"> 与可选的 dir="rtl"。
   所有文案容器不设固定宽/高，允许英文案膨胀 30%~40%。
   ═══════════════════════════════════════════════════════════ */

/* 1. 药丸 / 标签：固定 height → min-height，英文变长时纵向可撑开 */
.pick, .topic-chip, .tag-mini, .kb-cadence-pill {
    height: auto;
    min-height: 22px;
    padding-top: 3px;
    padding-bottom: 3px;
}
.tag-mini { min-height: 24px; }

/* 2. 长单词 / 长 URL 不撑破容器 */
.ix-card-title, .ix-card-excerpt, .ix-quote, .prose,
.kb-item-title, .kb-item-sub, .kb-domain-name, .kb-i-title,
.entity-title, .ex-name, .ex-role, .article-title, .article-lede {
    overflow-wrap: break-word;
    word-break: break-word;
}

/* 3. 拉丁语系微调：中文版用的负字距对英文偏紧，放开一档 */
html[lang^="en"] .prose p,
html[lang^="en"] .prose li { letter-spacing: 0; line-height: 1.72; }
html[lang^="en"] .ix-card-title,
html[lang^="en"] .article-title { letter-spacing: -0.005em; }
html[lang^="en"] .meta-line { white-space: normal; }

/* 4. RTL 预留（阿语 / 希伯来语）：只翻转方向性属性 */
[dir="rtl"] .ix-card-foot,
[dir="rtl"] .kb-item-side,
[dir="rtl"] .social-bar { flex-direction: row-reverse; }
[dir="rtl"] .toc-item {
    border-left: 0; border-right: 2px solid rgba(0, 0, 0, 0.07);
    padding-left: 0; padding-right: 12px;
}
[dir="rtl"] .toc-item.on { border-right-color: #0071e3; }
[dir="rtl"] .prose blockquote {
    border-left: 0; border-right: 3px solid #0071e3;
    padding: 4px 22px 4px 0;
}
[dir="rtl"] .kb-post-layout { direction: rtl; }

/* 5. 手机端：元信息行允许折行，避免英文/德文过长溢出 */
@media (max-width: 767px) {
    .meta-line { white-space: normal; }
    .ix-card-foot { flex-wrap: wrap; row-gap: 8px; }
}

/* ── 演示用：原型导航 ───────────────────────────────────── */
.proto-nav {
    position: fixed;
    bottom: 18px; right: 18px;
    z-index: 90;
    width: 240px;
    background: rgba(29, 29, 31, 0.94);
    color: #f5f5f7;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-radius: 14px;
    box-shadow: 0 16px 44px rgba(0, 0, 0, 0.24);
    overflow: hidden;
    font-size: 12px;
}
.proto-head {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 11px 14px;
    cursor: pointer;
    font-weight: 600;
    font-size: 11.5px;
    user-select: none;
}
.proto-dot {
    width: 6px; height: 6px; border-radius: 50%;
    background: #0071e3;
    box-shadow: 0 0 0 3px rgba(0, 113, 227, 0.2);
    flex-shrink: 0;
}
.proto-nav .proto-head .ic { transition: transform 0.3s ease; transform: rotate(180deg); }
.proto-nav.open .proto-head .ic { transform: rotate(0deg); }
.proto-body { max-height: 0; overflow: hidden; transition: max-height 0.4s var(--crater-ease); }
.proto-nav.open .proto-body { max-height: 320px; }
.proto-body a {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 9px 14px;
    color: rgba(245, 245, 247, 0.72);
    border-top: 1px solid rgba(255, 255, 255, 0.07);
    transition: all 0.25s ease;
}
.proto-body a:hover { background: rgba(255, 255, 255, 0.06); color: #fff; }
.proto-body a.on { color: #fff; background: rgba(0, 113, 227, 0.18); }
.proto-d { font-size: 10.5px; color: rgba(245, 245, 247, 0.4); }
.proto-tip {
    padding: 9px 14px;
    font-size: 10.5px;
    color: rgba(245, 245, 247, 0.35);
    border-top: 1px solid rgba(255, 255, 255, 0.07);
    line-height: 1.5;
}
@media (max-width: 640px) {
    .proto-nav { width: 190px; bottom: 12px; right: 12px; }
}
