/* ============================================================
 * nexcaptcha-parts.css — NexCaptcha 专属组件（partials/nexcaptcha-*.php）的样式
 *
 * 只由 nexcaptcha.net 的 site.php（extra_css）加载，顺序在 skin.css、nexcaptcha.css、
 * nexcaptcha-content.css 之后。颜色 / 字体 / 圆角令牌（--nx-*）定义在 skin.css，
 * Geist / Geist Mono 的 @font-face 在 nexcaptcha.css；本文件只消费它们，不写死已有令牌的颜色。
 *
 * 作用范围：每条规则都以 body.site-nexcaptcha 开头，组件类名都以 nx- 开头。
 * 这样既能压过在 <body> 里才加载的 comments.css，其他站点（没有这个 body 类）也完全不受影响。
 * 组件根节点再写进选择器链（.nx-footer a.nx-footer-link），不和内容层对 .post_container a 之类的规则打平。
 *
 * Signal 规则在这里的落实：
 *  - 翡翠绿（--nx-accent）只表示“通过 / 已验证”：顶栏的状态点（本页唯一的状态指示）、
 *    页脚的状态点与字标。悬停、边框、按钮、标签一律不用翡翠绿
 *    （吸顶头部的 CTA 已是本屏的翡翠绿主按钮）。
 *  - 深度靠明度阶梯 bg → bg-soft → surface → surface-2 → surface-3 + 1px 细线，不用投影；
 *    只有真正浮起来的返回顶部按钮带大阴影。
 *  - 数字 / 价格 / 眉标：等宽字体 + tabular-nums；眉标 11px、大写、字距 .2em（中文 .12em）。
 *  - 圆角：卡片 14px、面板 20px、输入 / 代码 10px、按钮 / 胶囊 999px。
 *  - 动效只有悬停时的颜色 / 边框过渡（约 .16s）和状态点的呼吸，全部尊重 prefers-reduced-motion。
 *  - 标题默认零字距；拉丁的负字距只写在元素自身 :not(:lang(zh)) 下，中文另外加大行高。
 *    字标 / 大字标永远是拉丁字母（标记里带 lang="en"），直接收紧字距。
 * ============================================================ */

/* ------------------------------------------------------------
 * 0. 组件内令牌与共用小件
 * ------------------------------------------------------------ */
body.site-nexcaptcha{
  /* 官网 .bg-grid：64px 细线网格 */
  --nxp-grid:linear-gradient(to right,var(--nx-line) 1px,transparent 1px),linear-gradient(to bottom,var(--nx-line) 1px,transparent 1px);
  /* 官网 .rule-fade：两端淡出的细线 */
  --nxp-rule:linear-gradient(to right,transparent,var(--nx-line-strong) 18%,var(--nx-line-strong) 82%,transparent);
  /* 官网 .glow-wash：一屏只放一团 */
  --nxp-glow:radial-gradient(circle at center,rgb(var(--nx-accent-rgb) / .16) 0%,rgb(var(--nx-azure-rgb) / .1) 38%,transparent 68%);
  /* 胶片颗粒不在这里画：nexcaptcha.css 的 body::after 已经在整个视口上盖了一层 3.5%，
     组件里再叠一层会变成约 7%（头图会比页面其余部分明显更“脏”）。 */
  /* 焦点环：天蓝（次要提示色）。不用翡翠绿，它只表示“通过”。 */
  --nxp-focus:var(--nx-azure-soft);
  --nxp-t:.16s;
}

/* 读屏文本 */
body.site-nexcaptcha .nx-sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* 眉标（官网 Kicker）：等宽、大写、11px、faint */
body.site-nexcaptcha .nx-kicker{
  display:flex;
  align-items:center;
  gap:.625rem;
  margin:0;
  padding:0;
  border:0;
  color:var(--nx-faint);
  font-family:var(--nx-font-mono);
  font-size:11px;
  font-weight:500;
  line-height:1.3;
  letter-spacing:.2em;
  text-transform:uppercase;
  font-variant-numeric:tabular-nums;
}
/* 中性眉标的引导短线（代替翡翠绿圆点） */
body.site-nexcaptcha .nx-kicker-mark{
  flex:none;
  width:1rem;
  height:1px;
  background-color:var(--nx-line-strong);
}
/* 行内的小号等宽标签（“返回给你”） */
body.site-nexcaptcha .nx-micro{
  color:var(--nx-faint);
  font-family:var(--nx-font-mono);
  font-size:11px;
  font-weight:500;
  line-height:1.3;
  letter-spacing:.2em;
  text-transform:uppercase;
}
body.site-nexcaptcha .nx-kicker:lang(zh),
body.site-nexcaptcha .nx-micro:lang(zh){letter-spacing:.12em;}

/* 状态点：默认灰；.nx-dot-ok 翡翠绿（= 服务正常）；.nx-dot-pulse 呼吸光环（只动 transform / opacity） */
body.site-nexcaptcha .nx-dot{
  position:relative;
  display:inline-block;
  flex:none;
  width:6px;
  height:6px;
  border-radius:50%;
  background-color:var(--nx-faint);
}
body.site-nexcaptcha .nx-dot-ok{background-color:var(--nx-accent);}
body.site-nexcaptcha .nx-dot-pulse::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  border-radius:inherit;
  background-color:inherit;
  animation:nxp-pulse-ring 2.4s cubic-bezier(.4,0,.6,1) infinite;
}
@keyframes nxp-pulse-ring{
  0%,100%{transform:scale(1);opacity:.55;}
  50%{transform:scale(2.1);opacity:0;}
}

/* 两端淡出的分隔细线 */
body.site-nexcaptcha .nx-rule{
  height:1px;
  background:var(--nxp-rule);
}

/* 焦点环（主题 style.css 把所有 :focus 的 outline 清掉了） */
body.site-nexcaptcha .nx-topbar a:focus-visible,
body.site-nexcaptcha .nx-post-cta a:focus-visible,
body.site-nexcaptcha .nx-footer a:focus-visible,
body.site-nexcaptcha .nx-footer button:focus-visible{
  outline:2px solid var(--nxp-focus);
  outline-offset:2px;
}

/* ------------------------------------------------------------
 * 1. 顶部状态条（nexcaptcha-topbar.php）
 *    约 34px 高，bg-soft + 底部细线，12px 文字。768px 以下隐藏指标，只留状态与价格链接。
 * ------------------------------------------------------------ */
body.site-nexcaptcha .nx-topbar{
  position:relative;
  margin:0;
  padding:0;
  border-bottom:1px solid var(--nx-line);
  background-color:var(--nx-bg-soft);
  color:var(--nx-muted);
  font-family:var(--nx-font-sans);
  font-size:12px;
  line-height:1.4;
}
body.site-nexcaptcha .nx-topbar .nx-topbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  min-height:34px;
}
body.site-nexcaptcha .nx-topbar .nx-topbar-main{
  display:flex;
  align-items:center;
  gap:.875rem;
  min-width:0;
}
body.site-nexcaptcha .nx-topbar .nx-topbar-status{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  min-width:0;
  margin:0;
  padding:0;
  color:var(--nx-ink-soft);
  text-decoration:none;
  transition:color var(--nxp-t) ease;
}
body.site-nexcaptcha .nx-topbar a.nx-topbar-status:hover{color:var(--nx-ink);}
body.site-nexcaptcha .nx-topbar .nx-topbar-status-text{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.site-nexcaptcha .nx-topbar .nx-topbar-sep{
  display:none;
  flex:none;
  width:1px;
  height:12px;
  background-color:var(--nx-line-strong);
}
body.site-nexcaptcha .nx-topbar .nx-topbar-metrics{
  display:none;
  margin:0;
  padding:0;
  color:var(--nx-faint);
  font-family:var(--nx-font-mono);
  font-variant-numeric:tabular-nums;
  letter-spacing:0;
  white-space:nowrap;
}
body.site-nexcaptcha .nx-topbar a.nx-topbar-link{
  position:relative;
  display:inline-flex;
  flex:none;
  align-items:center;
  gap:.375rem;
  color:var(--nx-muted);
  text-decoration:none;
  white-space:nowrap;
  transition:color var(--nxp-t) ease;
}
body.site-nexcaptcha .nx-topbar a.nx-topbar-link:hover{color:var(--nx-ink);}
body.site-nexcaptcha .nx-topbar .bi{font-size:11px;line-height:1;}
body.site-nexcaptcha .nx-topbar .nx-topbar-arrow{color:var(--nx-faint);transition:color var(--nxp-t) ease;}
body.site-nexcaptcha .nx-topbar a.nx-topbar-link:hover .nx-topbar-arrow{color:var(--nx-ink);}
/* 可点区域纵向撑满整条，视觉尺寸不变 */
body.site-nexcaptcha .nx-topbar a.nx-topbar-status::after,
body.site-nexcaptcha .nx-topbar a.nx-topbar-link::after{
  content:"";
  position:absolute;
  top:-9px;
  right:-6px;
  bottom:-9px;
  left:-6px;
}
@media (min-width:768px){
  body.site-nexcaptcha .nx-topbar .nx-topbar-sep,
  body.site-nexcaptcha .nx-topbar .nx-topbar-metrics{display:block;}
}

/* ------------------------------------------------------------
 * 2. 文章末尾面板（nexcaptcha-post-cta.php）
 *    落在 .post_container（surface）里：面板下沉一级到 bg-soft，右上角一片淡出网格；
 *    两张产品卡回到 surface，“返回给你”做成下沉的读数框——两条产品线唯一的区别。
 *    全中性色，不用翡翠绿。下面的属性都显式写出，压过正文容器的排版规则。
 * ------------------------------------------------------------ */
body.site-nexcaptcha .nx-post-cta{
  position:relative;
  z-index:0;
  overflow:hidden;
  margin:2.5rem 0 0;
  padding:1.5rem 1.25rem;
  border:1px solid var(--nx-line);
  border-radius:var(--nx-radius-panel);
  background-color:var(--nx-bg-soft);
  color:var(--nx-ink);
  font-family:var(--nx-font-sans);
  line-height:1.6;
}
body.site-nexcaptcha .nx-post-cta .nx-post-cta-fx{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  z-index:-1;
  overflow:hidden;
  pointer-events:none;
}
body.site-nexcaptcha .nx-post-cta .nx-post-cta-grid{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  background-image:var(--nxp-grid);
  background-size:64px 64px;
  background-position:-1px -1px;
  opacity:.55;
  -webkit-mask-image:radial-gradient(ellipse 70% 90% at 100% 0%,#000 10%,transparent 72%);
  mask-image:radial-gradient(ellipse 70% 90% at 100% 0%,#000 10%,transparent 72%);
}
body.site-nexcaptcha .nx-post-cta .nx-post-cta-body{position:relative;}
body.site-nexcaptcha .nx-post-cta .nx-post-cta-kicker{color:var(--nx-muted);}
body.site-nexcaptcha .nx-post-cta .nx-post-cta-title{
  margin:.875rem 0 0;
  padding:0;
  border:0;
  color:var(--nx-ink);
  font-family:var(--nx-font-sans);
  font-size:clamp(1.25rem,1.1rem + .6vw,1.5rem);
  font-weight:600;
  line-height:1.25;
  letter-spacing:0;
  text-wrap:balance;
}
body.site-nexcaptcha .nx-post-cta .nx-post-cta-title::before,
body.site-nexcaptcha .nx-post-cta .nx-post-cta-title::after{content:none;display:none;}
body.site-nexcaptcha .nx-post-cta .nx-post-cta-title:not(:lang(zh)){letter-spacing:-.018em;}
body.site-nexcaptcha .nx-post-cta .nx-post-cta-title:lang(zh){line-height:1.4;}
body.site-nexcaptcha .nx-post-cta .nx-post-cta-text{
  max-width:40rem;
  margin:.5rem 0 0;
  padding:0;
  color:var(--nx-muted);
  font-size:.9375rem;
  line-height:1.7;
}
body.site-nexcaptcha .nx-post-cta .nx-post-cta-text:lang(zh){line-height:1.85;}
body.site-nexcaptcha .nx-post-cta ul.nx-post-cta-products{
  display:grid;
  gap:.75rem;
  margin:1.25rem 0 0;
  padding:0;
  list-style:none;
}
body.site-nexcaptcha .nx-post-cta .nx-post-cta-products > li{
  display:flex;
  min-width:0;
  margin:0;
  padding:0;
  list-style:none;
}
body.site-nexcaptcha .nx-post-cta .nx-post-cta-products > li::before,
body.site-nexcaptcha .nx-post-cta .nx-post-cta-products > li::marker{content:none;}
body.site-nexcaptcha .nx-post-cta a.nx-product-card{
  display:flex;
  flex-direction:column;
  gap:.75rem;
  width:100%;
  min-width:0;
  padding:1rem 1.125rem 1.125rem;
  border:1px solid var(--nx-line);
  border-radius:var(--nx-radius-card);
  background-color:var(--nx-surface);
  color:var(--nx-ink);
  text-decoration:none;
  transition:background-color var(--nxp-t) ease,border-color var(--nxp-t) ease;
}
body.site-nexcaptcha .nx-post-cta a.nx-product-card:hover{
  border-color:var(--nx-line-strong);
  background-color:var(--nx-surface-2);
  color:var(--nx-ink);
}
body.site-nexcaptcha .nx-post-cta .nx-product-card-head{
  display:flex;
  align-items:center;
  gap:.625rem;
  min-width:0;
}
body.site-nexcaptcha .nx-post-cta .nx-product-card-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:none;
  width:2rem;
  height:2rem;
  border:1px solid var(--nx-line);
  border-radius:var(--nx-radius-input);
  background-color:var(--nx-surface-2);
  color:var(--nx-ink-soft);
  font-size:.9375rem;
  line-height:1;
}
body.site-nexcaptcha .nx-post-cta .nx-product-card-name{
  flex:1 1 auto;
  min-width:0;
  font-size:1rem;
  font-weight:600;
  line-height:1.3;
  letter-spacing:0;
}
body.site-nexcaptcha .nx-post-cta .nx-product-card-name:not(:lang(zh)){letter-spacing:-.012em;}
body.site-nexcaptcha .nx-post-cta .nx-product-card-arrow{
  flex:none;
  color:var(--nx-faint);
  font-size:.875rem;
  line-height:1;
  transition:color var(--nxp-t) ease;
}
body.site-nexcaptcha .nx-post-cta a.nx-product-card:hover .nx-product-card-arrow{color:var(--nx-ink);}
body.site-nexcaptcha .nx-post-cta .nx-product-card-delivers{
  display:flex;
  flex-direction:column;
  gap:.3rem;
  padding:.625rem .75rem;
  border:1px solid var(--nx-line);
  border-radius:var(--nx-radius-input);
  background-color:var(--nx-bg-soft);
}
body.site-nexcaptcha .nx-post-cta .nx-product-card-value{
  color:var(--nx-ink);
  font-size:.875rem;
  font-weight:500;
  line-height:1.45;
}
body.site-nexcaptcha .nx-post-cta .nx-product-card-tagline{
  color:var(--nx-muted);
  font-size:.8125rem;
  line-height:1.6;
}
body.site-nexcaptcha .nx-post-cta .nx-product-card-tagline:lang(zh){line-height:1.8;}
@media (min-width:576px){
  body.site-nexcaptcha .nx-post-cta{padding:2rem;}
  body.site-nexcaptcha .nx-post-cta ul.nx-post-cta-products{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* ------------------------------------------------------------
 * 3. 页脚（nexcaptcha-footer.php）—— 官网 site-footer.tsx
 *    页脚本身不建层叠上下文（不设 z-index / transform / filter）：里面的 .scrollToTopBtn
 *    是 position:fixed 的，要跟页面其余部分比 z-index，也不能被 overflow:hidden 裁掉。
 * ------------------------------------------------------------ */
body.site-nexcaptcha footer.nx-footer{
  position:relative;
  overflow:hidden;
  margin:0;
  padding:0;
  border-top:1px solid var(--nx-line);
  background-color:var(--nx-bg-soft);
  color:var(--nx-muted);
  font-family:var(--nx-font-sans);
  font-size:14px;
  line-height:1.6;
}
/* 淡网格，从上往下渐显（与上方页面衔接） */
body.site-nexcaptcha .nx-footer .nx-footer-grid{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  pointer-events:none;
  background-image:var(--nxp-grid);
  background-size:64px 64px;
  opacity:.5;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 55%);
  mask-image:linear-gradient(to bottom,transparent,#000 55%);
}
body.site-nexcaptcha .nx-footer .nx-footer-inner{position:relative;}
body.site-nexcaptcha .nx-footer .nx-footer-top{
  display:grid;
  gap:3rem;
  padding:4rem 0 3rem;
}

/* 品牌列 */
body.site-nexcaptcha .nx-footer .nx-footer-brand{
  min-width:0;
  max-width:24rem;
}
body.site-nexcaptcha .nx-footer a.nx-footer-logo{
  display:inline-flex;
  align-items:center;
  gap:.625rem;
  border:0;
  color:var(--nx-ink);
  text-decoration:none;
}
body.site-nexcaptcha .nx-footer .nx-footer-mark{
  display:block;
  flex:none;
  width:28px;
  height:28px;
  color:var(--nx-ink);
}
body.site-nexcaptcha .nx-footer .nx-footer-wordmark{
  color:var(--nx-ink);
  font-family:var(--nx-font-sans);
  font-size:1.0625rem;
  font-weight:600;
  line-height:1;
  letter-spacing:-.02em;
}
body.site-nexcaptcha .nx-footer .nx-footer-wm-nex{color:var(--nx-ink);}
/* 与头部字标、官网 logo 一致：Captcha 是翡翠绿（logo 的一部分） */
body.site-nexcaptcha .nx-footer .nx-footer-wm-captcha{color:var(--nx-accent);}
body.site-nexcaptcha .nx-footer .nx-footer-tagline{
  margin:1.25rem 0 0;
  padding:0;
  color:var(--nx-muted);
  font-size:.875rem;
  line-height:1.7;
}
body.site-nexcaptcha .nx-footer .nx-footer-tagline:lang(zh){line-height:1.85;}
/* 服务状态胶囊：静止的翡翠绿点（顶栏的呼吸点不会和页脚同屏） */
body.site-nexcaptcha .nx-footer a.nx-footer-status{
  display:inline-flex;
  align-items:center;
  gap:.625rem;
  margin-top:1.5rem;
  padding:.375rem .875rem .375rem .75rem;
  border:1px solid var(--nx-line);
  border-radius:var(--nx-radius-pill);
  background-color:rgb(var(--nx-surface-rgb) / .6);
  color:var(--nx-muted);
  font-size:.75rem;
  line-height:1.4;
  text-decoration:none;
  transition:border-color var(--nxp-t) ease,color var(--nxp-t) ease;
}
body.site-nexcaptcha .nx-footer a.nx-footer-status:hover{
  border-color:var(--nx-line-strong);
  color:var(--nx-ink);
}
body.site-nexcaptcha .nx-footer .nx-footer-social{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin:1.5rem 0 0;
  padding:0;
  list-style:none;
}
body.site-nexcaptcha .nx-footer .nx-footer-social > li{margin:0;padding:0;list-style:none;}
body.site-nexcaptcha .nx-footer a.nx-footer-social-link{
  display:flex;
  align-items:center;
  justify-content:center;
  width:2.25rem;
  height:2.25rem;
  border:1px solid var(--nx-line);
  border-radius:50%;
  color:var(--nx-muted);
  font-size:1rem;
  line-height:1;
  text-decoration:none;
  transition:border-color var(--nxp-t) ease,color var(--nxp-t) ease;
}
body.site-nexcaptcha .nx-footer a.nx-footer-social-link:hover{
  border-color:var(--nx-line-strong);
  color:var(--nx-ink);
}

/* 链接列：手机两列，768px 起四列 */
body.site-nexcaptcha .nx-footer .nx-footer-cols{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:2.25rem 1.5rem;
  min-width:0;
}
body.site-nexcaptcha .nx-footer .nx-footer-col{min-width:0;}
body.site-nexcaptcha .nx-footer .nx-footer-heading{
  margin:0;
  padding:0;
  border:0;
  color:var(--nx-faint);
  font-family:var(--nx-font-mono);
  font-size:11px;
  font-weight:500;
  line-height:1.3;
  letter-spacing:.2em;
  text-transform:uppercase;
}
body.site-nexcaptcha .nx-footer .nx-footer-heading:lang(zh){letter-spacing:.12em;}
body.site-nexcaptcha .nx-footer .nx-footer-heading::before,
body.site-nexcaptcha .nx-footer .nx-footer-heading::after{content:none;display:none;}
body.site-nexcaptcha .nx-footer .nx-footer-list{
  margin:1rem 0 0;
  padding:0;
  list-style:none;
}
body.site-nexcaptcha .nx-footer .nx-footer-list > li{margin:0;padding:0;list-style:none;}
body.site-nexcaptcha .nx-footer .nx-footer-list > li + li{margin-top:.625rem;}
body.site-nexcaptcha .nx-footer a.nx-footer-link{
  display:inline-flex;
  align-items:center;
  gap:.25rem;
  max-width:100%;
  border:0;
  color:var(--nx-muted);
  font-size:.875rem;
  line-height:1.5;
  text-decoration:none;
  transition:color var(--nxp-t) ease;
}
body.site-nexcaptcha .nx-footer a.nx-footer-link:hover{color:var(--nx-ink);}
body.site-nexcaptcha .nx-footer .nx-footer-ext{
  flex:none;
  font-size:.6875rem;
  line-height:1;
  opacity:0;
  transition:opacity var(--nxp-t) ease;
}
body.site-nexcaptcha .nx-footer a.nx-footer-link:hover .nx-footer-ext,
body.site-nexcaptcha .nx-footer a.nx-footer-link:focus-visible .nx-footer-ext{opacity:.6;}

/* 合规说明 */
body.site-nexcaptcha .nx-footer .nx-footer-compliance{
  max-width:48rem;
  margin:0;
  padding:1.5rem 0;
  color:var(--nx-faint);
  font-size:.75rem;
  line-height:1.7;
}
body.site-nexcaptcha .nx-footer .nx-footer-compliance:lang(zh){line-height:1.85;}

/* 底栏：版权 · 备案号 · 主题署名 · 后台 Footer代码 ｜ 法律条款 · 语言切换 */
body.site-nexcaptcha .nx-footer .nx-footer-bottom{
  display:flex;
  flex-direction:column-reverse;
  align-items:flex-start;
  gap:1.25rem;
  padding:1.5rem 0 2rem;
}
body.site-nexcaptcha .nx-footer .nx-footer-meta{
  display:flex;
  flex-direction:column;
  gap:.375rem;
  min-width:0;
}
body.site-nexcaptcha .nx-footer .nx-footer-copy{
  margin:0;
  padding:0;
  color:var(--nx-faint);
  font-size:.75rem;
  line-height:1.5;
  font-variant-numeric:tabular-nums;
}
body.site-nexcaptcha .nx-footer .nx-footer-fine{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.25rem 1rem;
  margin:0;
  padding:0;
  color:var(--nx-faint);
  font-size:.75rem;
  line-height:1.5;
}
body.site-nexcaptcha .nx-footer .nx-footer-fine a{
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  border:0;
  color:var(--nx-faint);
  text-decoration:none;
  transition:color var(--nxp-t) ease;
}
body.site-nexcaptcha .nx-footer .nx-footer-fine a:hover{color:var(--nx-ink-soft);}
body.site-nexcaptcha .nx-footer .nx-footer-beian .bi{font-size:.75rem;line-height:1;}
body.site-nexcaptcha .nx-footer .nx-footer-credit{white-space:nowrap;}
body.site-nexcaptcha .nx-footer .nx-footer-credit a{display:inline;}
/* 后台「Footer代码」：通常是 <li><a>…</a></li> 形式的底部链接，也可能只有统计脚本 */
body.site-nexcaptcha .nx-footer ul.nx-footer-code{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.25rem 1rem;
  margin:0;
  padding:0;
  list-style:none;
  color:var(--nx-faint);
  font-size:.75rem;
  line-height:1.5;
}
body.site-nexcaptcha .nx-footer ul.nx-footer-code:empty{display:none;}
body.site-nexcaptcha .nx-footer ul.nx-footer-code > li{margin:0;padding:0;list-style:none;}
body.site-nexcaptcha .nx-footer ul.nx-footer-code a{
  border:0;
  color:var(--nx-faint);
  text-decoration:none;
  transition:color var(--nxp-t) ease;
}
body.site-nexcaptcha .nx-footer ul.nx-footer-code a:hover{color:var(--nx-ink-soft);}
body.site-nexcaptcha .nx-footer .nx-footer-aside{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.75rem 1.25rem;
}
body.site-nexcaptcha .nx-footer ul.nx-footer-legal{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem 1.25rem;
  margin:0;
  padding:0;
  list-style:none;
}
body.site-nexcaptcha .nx-footer ul.nx-footer-legal > li{margin:0;padding:0;list-style:none;}
body.site-nexcaptcha .nx-footer ul.nx-footer-legal a{
  border:0;
  color:var(--nx-faint);
  font-size:.75rem;
  line-height:1.5;
  text-decoration:none;
  transition:color var(--nxp-t) ease;
}
body.site-nexcaptcha .nx-footer ul.nx-footer-legal a:hover{color:var(--nx-ink-soft);}

/* 中文 / EN 切换胶囊（当前语言用 surface-3 抬起，不用翡翠绿） */
body.site-nexcaptcha .nx-footer .nx-lang{
  display:inline-flex;
  flex:none;
  align-items:center;
  gap:2px;
  padding:2px 2px 2px .625rem;
  border:1px solid var(--nx-line);
  border-radius:var(--nx-radius-pill);
  background-color:rgb(var(--nx-surface-rgb) / .6);
  font-size:.75rem;
  line-height:1;
}
body.site-nexcaptcha .nx-footer .nx-lang-icon{
  margin-right:.25rem;
  color:var(--nx-faint);
  font-size:.75rem;
  line-height:1;
}
body.site-nexcaptcha .nx-footer .nx-lang .nx-lang-item{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:1.625rem;
  padding:0 .625rem;
  border:0;
  border-radius:var(--nx-radius-pill);
  color:var(--nx-faint);
  text-decoration:none;
  transition:color var(--nxp-t) ease,background-color var(--nxp-t) ease;
}
body.site-nexcaptcha .nx-footer .nx-lang .nx-lang-item.is-active{
  background-color:var(--nx-surface-3);
  color:var(--nx-ink);
}
body.site-nexcaptcha .nx-footer .nx-lang a.nx-lang-item:hover{color:var(--nx-ink);}

@media (min-width:768px){
  body.site-nexcaptcha .nx-footer .nx-footer-cols{grid-template-columns:repeat(4,minmax(0,1fr));}
  body.site-nexcaptcha .nx-footer .nx-footer-bottom{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
  }
  body.site-nexcaptcha .nx-footer .nx-footer-aside{justify-content:flex-end;}
}
@media (min-width:992px){
  body.site-nexcaptcha .nx-footer .nx-footer-top{
    grid-template-columns:minmax(0,1.15fr) minmax(0,2fr);
    gap:4rem;
    padding:5rem 0 4rem;
  }
  body.site-nexcaptcha .nx-footer .nx-footer-meta{
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
    gap:.375rem 1.25rem;
  }
}

/* 底部浮雕大字标：surface-3 → 透明的渐变字，行高 .8 + 负下边距，在页脚底边按基线裁切 */
body.site-nexcaptcha .nx-footer .nx-footer-bigmark{
  position:relative;
  overflow:hidden;
  margin:0 0 -.18rem;
  padding:0 1rem;
  pointer-events:none;
  -webkit-user-select:none;
  user-select:none;
}
body.site-nexcaptcha .nx-footer .nx-footer-bigmark span{
  display:block;
  background-image:linear-gradient(to bottom,var(--nx-surface-3),transparent);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  font-family:var(--nx-font-sans);
  /* 官网是 clamp(3.5rem,15.5vw,14rem)；Geist Bold 的 NEXCAPTCHA 约 6.3em 宽，按可用宽度反推字号，
     任何视口下都整字排下（侧边各 1rem 内边距 + 滚动条），不会把最后一个 A 裁掉。 */
  font-size:14vw;
  font-size:min(14rem,calc((100vw - 3rem) / 6.4));
  font-weight:700;
  line-height:.8;
  letter-spacing:-.05em;
  text-align:center;
  text-transform:uppercase;
  white-space:nowrap;
}

/* 返回顶部按钮：类名与 main.js 行为沿用主题（.showBtn 控制显隐）。这里不碰 opacity / transform，
   否则会压过 style.css 里的 .showBtn。隐藏时同时 visibility:hidden，免得看不见的按钮还能被 Tab 到。
   它是真正浮起来的控件，所以带大阴影。 */
body.site-nexcaptcha .nx-footer .scrollToTopBtn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:2.75rem;
  height:2.75rem;
  padding:0;
  border:1px solid var(--nx-line-strong);
  border-radius:50%;
  background-color:rgb(var(--nx-surface-rgb) / .85);
  color:var(--nx-ink-soft);
  font-size:1rem;
  line-height:1;
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  box-shadow:var(--once-shadow-lg);
  visibility:hidden;
  transition:opacity .4s var(--nx-ease),transform .4s var(--nx-ease),visibility 0s linear .4s,background-color var(--nxp-t) ease,border-color var(--nxp-t) ease,color var(--nxp-t) ease;
}
body.site-nexcaptcha .nx-footer .scrollToTopBtn.showBtn{
  visibility:visible;
  transition:opacity .4s var(--nx-ease),transform .4s var(--nx-ease),visibility 0s linear 0s,background-color var(--nxp-t) ease,border-color var(--nxp-t) ease,color var(--nxp-t) ease;
}
body.site-nexcaptcha .nx-footer .scrollToTopBtn:hover{
  border-color:rgb(var(--nx-ink-rgb) / .2);
  background-color:var(--nx-surface-3);
  color:var(--nx-ink);
}
body.site-nexcaptcha .nx-footer .scrollToTopBtn .bi{line-height:1;}

/* ------------------------------------------------------------
 * 4. 窄屏
 * ------------------------------------------------------------ */
@media (max-width:575.98px){
  body.site-nexcaptcha .nx-post-cta{margin-top:2rem;}
  body.site-nexcaptcha .nx-footer .nx-footer-top{padding-top:3rem;}
  body.site-nexcaptcha .nx-footer .scrollToTopBtn{right:1rem;bottom:1rem;}
}

/* ------------------------------------------------------------
 * 5. 减少动态效果 / 强制颜色 / 打印
 * ------------------------------------------------------------ */
@media (prefers-reduced-motion:reduce){
  body.site-nexcaptcha .nx-dot-pulse::after{animation:none;opacity:0;}
  body.site-nexcaptcha .nx-topbar *,
  body.site-nexcaptcha .nx-post-cta *,
  body.site-nexcaptcha .nx-footer *{
    transition-duration:.01ms!important;
    transition-delay:0s!important;
  }
}
@media (forced-colors:active){
  body.site-nexcaptcha .nx-post-cta .nx-post-cta-fx,
  body.site-nexcaptcha .nx-footer .nx-footer-grid,
  body.site-nexcaptcha .nx-footer .nx-footer-bigmark{display:none;}
}
@media print{
  body.site-nexcaptcha .nx-topbar,
  body.site-nexcaptcha .nx-footer .nx-footer-grid,
  body.site-nexcaptcha .nx-footer .nx-footer-bigmark,
  body.site-nexcaptcha .nx-footer .scrollToTopBtn{display:none!important;}
}
