/* v2 全站主题层 — 把 redesign.css(暖陶土) 与 knowledge_layout(青) 的设计 token
   覆盖为 v2 冷蓝 + Space Grotesk/IBM Plex，并把共享导航/页脚换成 v2 外壳。
   在 redesign.css / knowledge_layout 内联样式之后加载；只改 token + 外壳，不动各页结构。
   与主页 home.html(home-v2.css) 保持同一套字体/配色。 */

/* ---- 自托管字体（与 home-v2.css 同；URL 相同，浏览器只取一次）---- */
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url(/static/assets/fonts/space-grotesk-400.woff2) format('woff2');}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url(/static/assets/fonts/space-grotesk-500.woff2) format('woff2');}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url(/static/assets/fonts/space-grotesk-600.woff2) format('woff2');}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url(/static/assets/fonts/space-grotesk-700.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/static/assets/fonts/ibm-plex-sans-400.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/static/assets/fonts/ibm-plex-sans-500.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/static/assets/fonts/ibm-plex-sans-600.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/static/assets/fonts/ibm-plex-mono-400.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/static/assets/fonts/ibm-plex-mono-500.woff2) format('woff2');}

/* ---- token 覆盖：颜色 → v2 蓝；字体 → Space Grotesk / IBM Plex（CJK 走 sans-serif，与主页一致）---- */
:root{
  /* redesign.css --rd-* */
  --rd-serif:'Space Grotesk',sans-serif;
  --rd-sans:'IBM Plex Sans',sans-serif;
  --rd-mono:'IBM Plex Mono',monospace;
  --rd-cta:#2F5BFF; --rd-cta-hover:#2348cc; --rd-cta-soft:#e8edff;
  --rd-accent:#2F5BFF; --rd-accent-soft:#e8edff;
  --rd-text:#0E1116; --rd-text-2:#5A626E; --rd-muted:#9AA0AB; --rd-ink:#0E1116;
  --rd-line:#ECEEF1; --rd-line-strong:#E3E5E9;
  --rd-r-btn:10px;
  /* global.css 兼容 --qz-* */
  --qz-primary:#2F5BFF; --qz-primary-dark:#2348cc; --qz-primary-soft:#e8edff;
  --qz-accent:#2F5BFF; --qz-cyan:#2F5BFF; --qz-navy:#0E1116; --qz-navy-dark:#0E1116;
  --qz-text:#0E1116; --qz-muted:#5A626E; --qz-line:#ECEEF1; --qz-line-strong:#E3E5E9;
  --qz-tech-line:rgba(47,91,255,0.08);
  /* knowledge_layout --kb-* */
  --kb-accent:#2F5BFF; --kb-accent-dark:#2348cc; --kb-accent-soft:#e8edff;
  --kb-text:#0E1116; --kb-sub:#5A626E; --kb-line:#ECEEF1;
  --kb-serif:'Space Grotesk',sans-serif;
}
/* 知识库暗色模式：强调色用更亮的蓝，保留暗底体验 */
html.kb-dark{ --kb-accent:#6f9bff; --kb-accent-dark:#9bb8ff; --kb-accent-soft:#16203a; }
/* 知识库正文字体硬编码在内联样式里，这里覆盖为 IBM Plex（与全站一致） */
body.kb-site{ font-family:'IBM Plex Sans',sans-serif; }
/* 知识库头部 logo 与主页一致：节点网络 mark + Space Grotesk 字标（替换原蓝色方块图标）*/
.kb-brand .kb-logo-img{ height:28px; width:auto; display:block; }
.kb-brand .kb-name{ font-family:'Space Grotesk',sans-serif; font-weight:600; letter-spacing:-0.01em; }
html.kb-dark .kb-brand .kb-logo-img{ filter:brightness(0) invert(1); opacity:.92; } /* 暗色下反相为白 */
/* 知识库头部 产品中心 v2 下拉（与主页一致：中文标题 + EN mono 副标题；后台菜单驱动）*/
.kb-dd{ position:relative; display:inline-flex; align-items:center; }
.kb-dd::after{ content:""; position:absolute; left:0; top:100%; width:100%; height:10px; } /* 悬停桥 */
.kb-ddbtn{ display:inline-flex; align-items:center; gap:5px; cursor:pointer; font-size:.9rem; color:var(--kb-sub); text-decoration:none; }
.kb-ddbtn:hover{ color:var(--kb-accent); }
.kb-ddbtn span{ font-size:9px; opacity:.6; }
.kb-ddmenu{ position:absolute; top:calc(100% + 8px); left:0; width:230px; background:var(--kb-surface); border:1px solid var(--kb-line);
  border-radius:14px; box-shadow:0 12px 36px rgba(14,17,22,0.14); padding:8px; display:none; flex-direction:column; gap:2px; z-index:60; }
.kb-dd:hover .kb-ddmenu{ display:flex; }
.kb-ddmenu a{ display:flex; flex-direction:column; gap:1px; padding:9px 11px; border-radius:9px; text-decoration:none; }
.kb-ddmenu a:hover{ background:var(--kb-surface-2); }
.kb-ddmenu .t{ font-size:13.5px; color:var(--kb-text); font-weight:500; }
.kb-ddmenu .s{ font-size:11px; color:var(--kb-sub); font-family:'IBM Plex Mono',monospace; }
.kb-doc-main h1,.kb-doc-main h2,.kb-doc-main h3,.kb-hero h1,.kb-list-title{ font-family:var(--kb-serif); }

/* ---- 标题：Space Grotesk 600（覆盖 Fraunces 衬线的 540）---- */
h1,h2,h3,.rd-serif{ font-family:var(--rd-serif); font-weight:600; letter-spacing:-0.02em; }

/* ---- 按钮：v2 蓝 + 微阴影（.btn 已用 --rd-cta，这里补圆角/阴影/字重）---- */
.btn,.hero .btn,.footerFeedback button,.contact-action-panel button{
  font-family:var(--rd-sans); font-weight:600; border-radius:11px;
  box-shadow:0 6px 18px rgba(47,91,255,0.22);
}
.btn.btn-secondary,.btn.btn-ghost{ box-shadow:none; }

/* ============================================================================
   共享导航（layout.html .headnav-bg/.navbar）→ v2 亮色毛玻璃吸顶
   ========================================================================== */
.headnav-bg{
  background:rgba(255,255,255,0.86);
  backdrop-filter:saturate(180%) blur(12px);
  -webkit-backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid #ECEEF1;
  box-shadow:0 8px 24px rgba(14,17,22,0.06);
}
/* logo 与主页统一：节点网络 mark + Space Grotesk 字标 */
.navbar-brand{ display:inline-flex; align-items:center; gap:10px; }
.navbar-brand img{ height:28px; width:auto; }
.navbar-brand .qz-wordmark{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:17px; letter-spacing:-0.01em; color:var(--rd-text); }
.nav-item a,.navbarrt a{ font-family:var(--rd-sans); font-weight:500; color:var(--rd-text-2); }
.nav-item .nav-link:hover,.navbarrt a:hover{ color:var(--rd-text); }
.nav-item a::after,.navbarrt a::after{ background:var(--accent,#2F5BFF); }
/* 登录链接 → v2 描边按钮观感 */
.navbarrt a[href="/login"],.navbarrt a[href="/profile"]{
  border:1px solid #DADCE0; border-radius:9px; padding:8px 16px; color:var(--rd-text);
  font-family:'Space Grotesk',sans-serif;
}
.navbarrt a[href="/login"]:hover,.navbarrt a[href="/profile"]:hover{ border-color:#B7BBC2; background:#fff; }
.navbarrt a[href="/login"]::after,.navbarrt a[href="/profile"]::after{ content:none; }
.lang-switch a.active{ color:var(--accent,#2F5BFF); }

/* ============================================================================
   共享页脚（layout.html .footer-band/.footer）→ v2 暗色
   ========================================================================== */
.footer-band{ background:#08090C; border-top:none; }
.footer{ color:rgba(255,255,255,0.6); }
.footer-top{ border-bottom:1px solid rgba(255,255,255,0.08); }
.footer a,.footer-nav a,.footer-copy p:first-child{ color:rgba(255,255,255,0.66); }
.footer a:hover,.footer-nav a:hover{ color:#fff; border-color:rgba(255,255,255,0.2); }
.footer-copy p,.footer-legal{ color:rgba(255,255,255,0.4); }
.footer-beian{ color:rgba(255,255,255,0.4); }
/* 页脚 logo：用白色 mark（logo-mark-white.svg，无需反相）+ 白色字标 */
.footer-brand{ gap:10px; }
.footer-brand img{ height:26px; width:auto; filter:none; opacity:1; vertical-align:middle; }
.footer-brand .qz-wordmark{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:16px; letter-spacing:-0.01em; color:#fff; }

/* ============================================================================
   逐页精修：login.css / reg.css 里硬编码的青色未被 token 覆盖到，这里收干净
   ========================================================================== */
/* login 卡片顶部品牌条 → 干净 v2（白底细线 + 蓝色 mono 品牌） */
.login-visual{ background:#fff; border:1px solid var(--rd-line); box-shadow:none; }
.login-visual span{ color:var(--accent,#2F5BFF); font-family:'IBM Plex Mono',monospace; font-weight:600; letter-spacing:.06em; }
.login-visual strong{ color:var(--rd-muted); font-family:'IBM Plex Mono',monospace; font-weight:500; }
/* 验证码「点击生成验证码」按钮 → v2 中性描边按钮（非青色渐变） */
.button-container button{ color:var(--rd-text); background:#fff; border:1px solid var(--rd-line-strong); border-radius:10px; font-weight:600; }
.button-container button:hover{ border-color:#B7BBC2; background:#fff; }
/* reg 左侧深色面板步骤序号 1/2/3 → v2 蓝色 mono 索引（替换青色实心圆） */
.expert-reg-steps span{ background:rgba(47,91,255,0.16); color:#9bb8ff; font-family:'IBM Plex Mono',monospace; font-weight:600; }
.expert-reg-steps p{ color:rgba(255,255,255,0.6); }
