@charset "utf-8";
/** 本文件仅保留：1) 页面主题变量（.geo-page 变量块） 2) 页面专属样式 3) 与公共层不同的覆盖规则。
 * 其余公共样式已统一抽取至 inc_style.css（全站公共样式表，先于本文件加载）。
 * 命名规范：页面根类 .geo-page（与公共层根类 .tncms-builder 叠加于同一 <main> 元素）；
 * 公共层组件类（builder-* / capability-card / site-capability-card / scenario-card 等）不改名，
 * 一律以 .geo-page 作用域前缀覆盖，与 channel_product_edu.css 的 .edu-page 模式一致。*/
/*腾数智搜GEO：AI 搜索优化一站式解决方案，品牌蓝视觉系统（紫为辅助色）。*/
.geo-page {
  --builder-blue: #2288fc;
  --builder-blue-dark: #1a6fd4;
  --builder-cyan: #674aff;
  /*主题色派生变量：供 inc_style.css 公共样式层通过 var() 引用（与本页主题色一一对应，勿删）*/
  --builder-hero-a: #f5faff;
  --builder-hero-b: #e6f1fe;
  --builder-hero-c: #f0f7ff;
  --builder-grid-rgb: 34, 136, 252;
  --builder-glow-one-rgb: 34, 136, 252;
  --builder-glow-one-alpha: .13;
  --builder-glow-two-rgb: 103, 74, 255;
  --builder-glow-two-alpha: .1;
  --builder-blue-rgb: 34, 136, 252;
  --builder-demo-a: #2288fc;
  --builder-demo-b: #674aff;
  --builder-cta-a: #0f4c9b;
  --builder-cta-b: #2288fc;
  --builder-cta-c: #6db3ff;
  --builder-shadow-rgb: 15, 76, 155;
  --builder-tpl-glow-a-rgb: 34, 136, 252;
  --builder-tpl-glow-a-alpha: .09;
  --builder-period-line-rgb: 96, 164, 250;
  --builder-tab-active: #2288fc;
  --builder-device-a: #6db3ff;
  --builder-device-b: #2288fc;
  --builder-device-c: #0f4c9b;
  --builder-ink: #0f1f38;
  --builder-muted: #5b6b82;
  --builder-line: #dfeaf6;
  --builder-soft: #f4f9ff;
  --geo-section-blue-background: radial-gradient(circle at 8% 12%, rgba(34, 136, 252, .045), transparent 24rem), linear-gradient(180deg, #eff7ff 0%, #f6fbff 100%);
  --builder-proof-background: #fff;
  --builder-capabilities-background: var(--geo-section-blue-background);
  --builder-workflow-background: #fff;
  --builder-functions-background: var(--geo-section-blue-background);
  --builder-scenarios-background: #fff;
  --builder-service-assure-background: var(--geo-section-blue-background);
  --builder-custom-content-background: #fff;
  color: var(--builder-ink);
  overflow: clip;
}
.geo-page .builder-hero { display: flex; flex-direction: column; min-height: calc(100vh - var(--tncms-header-height, 4.375rem)); min-height: calc(100svh - var(--tncms-header-height, 4.375rem)); }
.geo-page .builder-hero .container { flex: 1; display: flex; flex-direction: column; }
.geo-page .builder-hero .row { flex: 1; padding-top: 0; align-items: center; }
.geo-page .capability-card h3 { margin: 0 0 1rem; font-size: 1.3rem; font-weight: 700; line-height: 1.4; }
.geo-page .capability-card p { max-width: 27.5rem; margin: 0; color: var(--builder-muted); font-size: .95rem; line-height: 1.8; }
.geo-page .workflow-steps h3 { margin: 0.062rem 0 0.438rem; font-size: 1.1rem; line-height: 1.45; }
.geo-page .workflow-steps p { margin: 0; color: var(--builder-muted); font-size: .9rem; line-height: 1.75; }
.geo-page .scenario-card { position: relative; height: 100%; min-height: 23.125rem; padding: 1.875rem 1.688rem; overflow: hidden; border: 1px solid #dce8f5; border-radius: 0.938rem; background: #fff; transition: transform .25s, box-shadow .25s; }
.geo-page .scenario-card:hover { transform: translateY(-0.375rem); box-shadow: 0 1.125rem 2.375rem rgba(15,76,155,.09); }
.geo-page .scenario-card > span { position: absolute; top: 1.188rem; right: 1.375rem; color: #e8f1fb; font-size: 2.6rem; font-weight: 800; }
.geo-page .scenario-card > i { display: flex; width: 3rem; height: 3rem; align-items: center; justify-content: center; margin: 1.125rem 0 2.062rem; border-radius: 0.812rem; background: #e8f2fe; color: var(--builder-blue); font-size: 1.25rem; }
.geo-page .scenario-card h3 { font-size: 1.3rem; line-height: 1.4; }
.geo-page .scenario-card p { min-height: 3.25rem; margin: 0.75rem 0 1.562rem; color: var(--builder-muted); font-size: .92rem; line-height: 1.8; }
.geo-page .scenario-card li { position: relative; margin-top: 0.688rem; padding-left: 0.938rem; color: #4c5f78; font-size: .82rem; line-height: 1.7; }
.geo-page .scenario-card li::before { content: ''; position: absolute; top: .55em; left: 0; width: 0.312rem; height: 0.312rem; border-radius: 50%; background: var(--builder-blue); }
/*适用场景 Tab：编号与粗体 Chevron，与建站页一致*/
.geo-page .builder-scenario-tabs button::before { content: counter(builder-scenario-tab, decimal-leading-zero); display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border: 1px solid #d3e2f2; border-radius: .875rem; background: rgba(255,255,255,.78); color: #8aa0bb; font-size: .6875rem; font-weight: 750; letter-spacing: .06em; transition: inherit; }
.geo-page .builder-scenario-tabs button.active { border-color: var(--scenario-tab-dark); background: var(--scenario-tab-dark); color: #fff; box-shadow: 0 1rem 2.25rem rgba(15,42,84,.18); }
.geo-page .service-item { display: flex; height: 100%; gap: 0.938rem; padding: 1.438rem; border: 1px solid rgba(209,226,243,.9); border-radius: 0.812rem; background: rgba(255,255,255,.78); }
.geo-page .service-item > i { display: flex; width: 2.5rem; height: 2.5rem; flex: 0 0 2.5rem; align-items: center; justify-content: center; border-radius: 0.625rem; background: #e8f2fe; color: var(--builder-blue); font-size: 1rem; }
.geo-page .service-item h3 { margin: 0.062rem 0 0.438rem; font-size: 1.05rem; line-height: 1.45; }
.geo-page .service-item p { margin: 0; color: var(--builder-muted); font-size: .82rem; line-height: 1.75; }
@media (max-width: 991.98px) {
  /*复位基础规则的 100vh 首屏（.geo-page 作用域优先级高于公共层 .builder-hero 移动端正置规则，需显式复位）*/
  .geo-page .builder-hero { min-height: auto; }
  .geo-page .builder-hero .row { padding-top: 1.25rem; }
}
@media (max-width: 767.98px) {
  .geo-page .builder-hero .row { padding-top: .5rem; }
  .geo-page .capability-card h3, .geo-page .scenario-card h3 { font-size: 1.2rem; }
}
@media (max-width: 479.98px) {
  .geo-page .scenario-card { min-height: 21.562rem; }
}
@media (prefers-reduced-motion: reduce) {
  .geo-page .capability-card, .geo-page .scenario-card, .geo-page .function-card, .geo-page .builder-hero-actions .btn { transition: none; }
}
/*核心能力：以独立主题色区分能力（复用公共层 site-capability-card 交互）*/
.geo-page .builder-capabilities .row>div:nth-child(4n+2) .site-capability-card { --cap-color: #674aff; --cap-soft: #f1eefe; --cap-shadow: rgba(103,74,255,.18); }
.geo-page .builder-capabilities .row>div:nth-child(4n+3) .site-capability-card { --cap-color: #f59e0b; --cap-soft: #fef6e7; --cap-shadow: rgba(245,158,11,.18); }
.geo-page .builder-capabilities .row>div:nth-child(4n+4) .site-capability-card { --cap-color: #0ea5e9; --cap-soft: #ecf7fe; --cap-shadow: rgba(14,165,233,.18); }
/** 首屏诊断台 mock（geo-dash-*）：AI 声量诊断面板，浏览器框内自适应*/
.geo-dash { position: relative; display: flex; flex: 1; flex-direction: column; margin: 0.875rem; overflow: hidden; border: 1px solid #dce8f5; border-radius: 0.75rem; background: #fff; box-shadow: 0 0.75rem 1.75rem rgba(15, 76, 155, .1); }
.geo-dash-top { display: flex; height: 2.625rem; flex: 0 0 2.625rem; align-items: center; gap: 1rem; padding: 0 1rem; border-bottom: 1px solid #eaf1f9; background: #fbfdff; }
.geo-dash-top > b { display: flex; align-items: center; gap: 0.375rem; margin-right: auto; color: #14335c; font-size: .68rem; }
.geo-dash-top > b i { color: var(--builder-blue); font-size: .78rem; }
.geo-dash-top nav { display: flex; gap: 0.875rem; color: #7d92ab; font-size: .56rem; }
.geo-dash-top nav span.active { color: var(--builder-blue); font-weight: 700; }
.geo-dash-top > em { padding: 0.25rem 0.625rem; border: 1px solid var(--builder-blue); border-radius: 1rem; color: var(--builder-blue); font-size: .5rem; font-style: normal; font-weight: 700; }
.geo-dash-main { display: flex; flex: 1; gap: 0.75rem; margin: 0.75rem 0.75rem 0; }
.geo-dash-score { display: flex; flex: 0 0 8.75rem; flex-direction: column; align-items: center; justify-content: center; gap: 0.375rem; padding: 0.75rem 0.5rem; border-radius: 0.625rem; background: linear-gradient(150deg, #f0f7ff, #e8f1fd); }
.geo-dash-score > span { color: #4c5f78; font-size: .5rem; font-weight: 700; }
.geo-dash-score > em { display: flex; align-items: center; gap: 0.187rem; padding: 0.187rem 0.5rem; border-radius: 1rem; background: #e7f8ef; color: #16a34a; font-size: .46rem; font-style: normal; font-weight: 700; }
.geo-dash-ring { position: relative; width: 4.5rem; height: 4.5rem; }
.geo-dash-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.geo-dash-ring circle { fill: none; stroke-width: 7; }
.geo-dash-ring .ring-bg { stroke: #dbe8f6; }
.geo-dash-ring .ring-val { stroke: var(--builder-blue); stroke-linecap: round; stroke-dasharray: 158 188.5; }
.geo-dash-ring > div { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 0.125rem; }
.geo-dash-ring b { color: var(--builder-blue); font-size: 1.05rem; }
.geo-dash-ring small { color: #7d92ab; font-size: .46rem; }
.geo-dash-models { display: flex; min-width: 0; flex: 1; flex-direction: column; justify-content: center; gap: 0.5rem; padding: 0.75rem 0.875rem; border-radius: 0.625rem; background: #f7fbff; }
.geo-dash-models > span { display: flex; align-items: center; gap: 0.5rem; }
.geo-dash-models b { flex: 0 0 3.4rem; overflow: hidden; color: #24405f; font-size: .5rem; text-overflow: ellipsis; white-space: nowrap; }
.geo-dash-models div { height: 0.375rem; flex: 1; overflow: hidden; border-radius: 1rem; background: #e2edf9; }
.geo-dash-models div i { display: block; height: 100%; border-radius: 1rem; background: linear-gradient(90deg, var(--builder-blue), var(--builder-cyan)); }
.geo-dash-models em { flex: 0 0 1.2rem; color: var(--builder-blue); font-size: .5rem; font-style: normal; font-weight: 800; text-align: right; }
.geo-dash-tags { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 0.375rem; padding: 0.75rem 0.75rem 0; }
.geo-dash-tags span { padding: 0.25rem 0.562rem; border-radius: 1rem; background: #eef5fe; color: #38648f; font-size: .48rem; font-weight: 700; }
.geo-dash-foot { display: flex; align-items: center; justify-content: space-between; margin: 0.75rem 0.75rem 0.875rem; padding: 0.5rem 0.75rem; border-radius: 0.625rem; background: linear-gradient(120deg, #eef4ff, #f2eefe); }
.geo-dash-foot span { display: flex; align-items: center; gap: 0.312rem; color: #38648f; font-size: .5rem; font-weight: 700; }
.geo-dash-foot span i { color: var(--builder-blue); }
.geo-dash-foot em { padding: 0.312rem 0.625rem; border-radius: 1rem; background: linear-gradient(120deg, var(--builder-blue), var(--builder-cyan)); color: #fff; font-size: .52rem; font-style: normal; font-weight: 700; }
/** 特色功能视觉 mock（geo-fn-*）：诊断 / 监控 / 创作 / 信源 / 看板 / 训练
 * 公共层 .builder-function-visual 为背景容器，内部元素在此定义*/
/*功能视觉底色：公共层为蓝色渐变，本页统一改品牌蓝系*/
.geo-page .builder-function-visual { background: linear-gradient(145deg, #e6f1fe, #d8e9fd); }
.geo-page .function-tone-2 .builder-function-visual { background: linear-gradient(145deg, #e7f2fe, #dbe9fb); }
.geo-page .function-tone-3 .builder-function-visual { background: linear-gradient(145deg, #ecf2fe, #e0e7fb); }
.geo-page .function-tone-4 .builder-function-visual { background: linear-gradient(145deg, #e4f1fd, #d6e9fa); }
.geo-page .function-tone-5 .builder-function-visual { background: linear-gradient(145deg, #e9f3fe, #ddeafb); }
.geo-page .function-tone-6 .builder-function-visual { background: linear-gradient(145deg, #e4f0fd, #d6e7fa); }
.geo-fn-diag, .geo-fn-watch, .geo-fn-write, .geo-fn-source, .geo-fn-board, .geo-fn-train { position: relative; z-index: 1; display: flex; flex-direction: column; width: min(24rem, 82%); overflow: hidden; border: 1px solid rgba(255,255,255,.7); border-radius: 1rem; background: rgba(255,255,255,.92); box-shadow: 0 1.5rem 3rem rgba(15, 76, 155, .14); }
/*AI 可见度诊断*/
.geo-fn-diag-head { display: flex; align-items: center; justify-content: space-between; padding: 0.812rem 0.875rem 0; }
.geo-fn-diag-head b { color: #14335c; font-size: .62rem; }
.geo-fn-diag-head span { padding: 0.187rem 0.5rem; border-radius: 1rem; background: #e7f8ef; color: #16a34a; font-size: .46rem; font-weight: 700; }
.geo-fn-diag-body { display: flex; align-items: center; gap: 0.875rem; padding: 0.75rem 0.875rem 0; }
.geo-fn-diag-ring { position: relative; width: 5rem; height: 5rem; flex: 0 0 5rem; }
.geo-fn-diag-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.geo-fn-diag-ring circle { fill: none; stroke-width: 7; }
.geo-fn-diag-ring .ring-bg { stroke: #dbe8f6; }
.geo-fn-diag-ring .ring-val { stroke: var(--builder-blue); stroke-linecap: round; stroke-dasharray: 158 188.5; }
.geo-fn-diag-ring > div { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.geo-fn-diag-ring b { color: var(--builder-blue); font-size: 1.1rem; line-height: 1.2; }
.geo-fn-diag-ring small { color: #7d92ab; font-size: .44rem; }
.geo-fn-diag-bars { display: flex; min-width: 0; flex: 1; flex-direction: column; gap: 0.5rem; }
.geo-fn-diag-bars > span { display: flex; align-items: center; gap: 0.5rem; }
.geo-fn-diag-bars b { flex: 0 0 3.4rem; color: #4c5f78; font-size: .48rem; }
.geo-fn-diag-bars div { height: 0.375rem; flex: 1; overflow: hidden; border-radius: 1rem; background: #e2edf9; }
.geo-fn-diag-bars div i { display: block; height: 100%; border-radius: 1rem; background: linear-gradient(90deg, var(--builder-blue), var(--builder-cyan)); }
.geo-fn-diag-tags { display: flex; gap: 0.375rem; margin: 0.75rem 0.875rem 0.875rem; }
.geo-fn-diag-tags span { padding: 0.25rem 0.562rem; border-radius: 1rem; background: #eef5fe; color: #38648f; font-size: .48rem; font-weight: 700; }
/*GEO 品牌监控*/
.geo-fn-watch-head { display: flex; align-items: center; justify-content: space-between; padding: 0.812rem 0.875rem 0; }
.geo-fn-watch-head b { color: #14335c; font-size: .62rem; }
.geo-fn-watch-head em { display: flex; align-items: center; gap: 0.312rem; color: #5b6b82; font-size: .48rem; font-style: normal; }
.geo-fn-watch-head em i { width: 0.375rem; height: 0.375rem; border-radius: 50%; background: #16a34a; animation: geoWatchPulse 1.2s ease-in-out infinite; }
@keyframes geoWatchPulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .3; }
}
.geo-fn-watch-chart { position: relative; height: 6.25rem; margin: 0.625rem 0.875rem 0; overflow: hidden; border-radius: 0.625rem; background: #f7fbff; }
.geo-fn-watch-chart svg { width: 100%; height: 100%; }
.geo-fn-watch-chart .grid { fill: none; stroke: #e2edf9; stroke-width: 1; }
.geo-fn-watch-chart .area { fill: rgba(34, 136, 252, .12); }
.geo-fn-watch-chart .line { fill: none; stroke: var(--builder-blue); stroke-linecap: round; stroke-width: 2.5; }
.geo-fn-watch-dot { position: absolute; top: 11%; right: 6%; width: 0.5rem; height: 0.5rem; border: 2px solid #fff; border-radius: 50%; background: var(--builder-cyan); box-shadow: 0 0.187rem 0.5rem rgba(103, 74, 255, .45); }
.geo-fn-watch-rows { display: flex; flex-direction: column; gap: 0.375rem; padding: 0.625rem 0.875rem 0.875rem; }
.geo-fn-watch-rows > span { display: flex; align-items: center; justify-content: space-between; padding: 0.437rem 0.625rem; border: 1px solid #eaf1f9; border-radius: 0.5rem; background: #fff; }
.geo-fn-watch-rows b { color: #24405f; font-size: .52rem; }
.geo-fn-watch-rows em { display: flex; align-items: center; gap: 0.187rem; font-size: .52rem; font-style: normal; font-weight: 800; }
.geo-fn-watch-rows em.up { color: #16a34a; }
.geo-fn-watch-rows em.down { color: #ef4444; }
/*GEO 内容创作*/
.geo-fn-write-head { display: flex; align-items: center; justify-content: space-between; padding: 0.812rem 0.875rem 0; }
.geo-fn-write-head b { color: #14335c; font-size: .62rem; }
.geo-fn-write-head span { display: flex; align-items: center; gap: 0.25rem; padding: 0.187rem 0.5rem; border-radius: 1rem; background: #eef4ff; color: var(--builder-cyan); font-size: .46rem; font-weight: 700; }
.geo-fn-write-q { display: flex; align-items: center; gap: 0.375rem; margin: 0.625rem 0.875rem 0; padding: 0.5rem 0.75rem; border-radius: 0.5rem; background: linear-gradient(120deg, #eef4ff, #f2eefe); color: #24405f; font-size: .55rem; font-weight: 700; }
.geo-fn-write-q i { color: var(--builder-blue); }
.geo-fn-write-lines { display: flex; flex-direction: column; gap: 0.437rem; padding: 0.75rem 0.875rem 0; }
.geo-fn-write-lines span { height: 0.5rem; border-radius: 0.25rem; background: linear-gradient(90deg, #e2edf9 0%, #f2f7fd 60%, #e2edf9 100%); background-size: 200% 100%; animation: geoWriteShimmer 1.6s linear infinite; }
.geo-fn-write-lines span.short { width: 56%; }
@keyframes geoWriteShimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
.geo-fn-write-foot { display: flex; align-items: center; justify-content: space-between; margin: 0.75rem 0.875rem 0.875rem; padding: 0.5rem 0.75rem; border-radius: 0.625rem; background: #f7fbff; }
.geo-fn-write-foot span { display: flex; align-items: center; gap: 0.312rem; color: #5b6b82; font-size: .48rem; }
.geo-fn-write-foot span i { color: var(--builder-cyan); }
.geo-fn-write-foot em { padding: 0.312rem 0.625rem; border-radius: 1rem; background: linear-gradient(120deg, var(--builder-blue), var(--builder-cyan)); color: #fff; font-size: .52rem; font-style: normal; font-weight: 700; }
/*智能信源布局*/
.geo-fn-source-head { display: flex; align-items: center; justify-content: space-between; padding: 0.812rem 0.875rem 0; }
.geo-fn-source-head b { color: #14335c; font-size: .62rem; }
.geo-fn-source-head em { padding: 0.187rem 0.5rem; border-radius: 1rem; background: #e8f2fe; color: var(--builder-blue); font-size: .46rem; font-style: normal; font-weight: 700; }
.geo-fn-source-rows { display: flex; flex-direction: column; gap: 0.5rem; padding: 0.75rem 0.875rem 0.875rem; }
.geo-fn-source-rows > span { display: flex; align-items: center; gap: 0.625rem; padding: 0.562rem 0.625rem; border: 1px solid #eaf1f9; border-radius: 0.625rem; background: #fff; }
.geo-fn-source-rows i { display: flex; width: 2.125rem; height: 2.125rem; flex: 0 0 2.125rem; align-items: center; justify-content: center; border-radius: 0.5rem; background: linear-gradient(140deg, var(--builder-blue), var(--builder-cyan)); color: #fff; font-size: .85rem; }
.geo-fn-source-rows div { display: flex; min-width: 0; flex: 1; flex-direction: column; gap: 0.125rem; }
.geo-fn-source-rows b { color: #24405f; font-size: .55rem; }
.geo-fn-source-rows small { color: #8aa0bb; font-size: .46rem; }
.geo-fn-source-rows em { padding: 0.187rem 0.5rem; border-radius: 1rem; background: #e7f8ef; color: #16a34a; font-size: .46rem; font-style: normal; font-weight: 700; }
.geo-fn-source-rows > span:last-child em { background: #fff3e0; color: #b45309; }
/*数据分析看板*/
.geo-fn-board-head { display: flex; align-items: center; justify-content: space-between; padding: 0.812rem 0.875rem 0; }
.geo-fn-board-head b { color: #14335c; font-size: .62rem; }
.geo-fn-board-head em { padding: 0.187rem 0.5rem; border-radius: 1rem; background: #e8f2fe; color: var(--builder-blue); font-size: .46rem; font-style: normal; font-weight: 700; }
.geo-fn-board-chart { display: flex; height: 6.875rem; align-items: flex-end; gap: 0.5rem; margin: 0.625rem 0.875rem 0; padding: 0.625rem 0.75rem 0; border-radius: 0.625rem 0.625rem 0 0; background: #f7fbff; }
.geo-fn-board-chart i { flex: 1; border-radius: 0.25rem 0.25rem 0 0; background: linear-gradient(180deg, var(--builder-blue), var(--builder-cyan)); opacity: .88; }
.geo-fn-board-chart i:nth-child(2n) { opacity: .62; }
.geo-fn-board-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem; margin: 0.625rem 0.875rem 0.875rem; }
.geo-fn-board-stats span { display: flex; flex-direction: column; align-items: center; gap: 0.125rem; padding: 0.437rem 0; border-radius: 0.5rem; background: #f4f9ff; color: #5b6b82; font-size: .44rem; }
.geo-fn-board-stats b { color: var(--builder-blue); font-size: .62rem; }
/*AI 大模型训练*/
.geo-fn-train-head { display: flex; align-items: center; justify-content: space-between; padding: 0.812rem 0.875rem 0; }
.geo-fn-train-head b { color: #14335c; font-size: .62rem; }
.geo-fn-train-head em { padding: 0.187rem 0.5rem; border-radius: 1rem; background: #eef4ff; color: var(--builder-cyan); font-size: .46rem; font-style: normal; font-weight: 700; }
.geo-fn-train-models { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.5rem; padding: 0.75rem 0.875rem 0; }
.geo-fn-train-models span { display: flex; align-items: center; gap: 0.437rem; padding: 0.562rem 0.625rem; border: 1px solid #eaf1f9; border-radius: 0.625rem; background: #fff; color: #24405f; font-size: .55rem; font-weight: 700; }
.geo-fn-train-models i { color: var(--builder-blue); font-size: .78rem; }
.geo-fn-train-bar { display: flex; align-items: center; gap: 0.625rem; margin: 0.75rem 0.875rem 0.875rem; padding: 0.625rem 0.75rem; border-radius: 0.625rem; background: linear-gradient(120deg, #eef4ff, #f2eefe); }
.geo-fn-train-bar small { flex: 0 0 auto; color: #38648f; font-size: .5rem; font-weight: 700; }
.geo-fn-train-bar div { height: 0.437rem; flex: 1; overflow: hidden; border-radius: 1rem; background: rgba(255,255,255,.9); }
.geo-fn-train-bar div i { display: block; height: 100%; border-radius: 1rem; background: linear-gradient(90deg, var(--builder-blue), var(--builder-cyan)); }
.geo-fn-train-bar b { color: var(--builder-cyan); font-size: .62rem; }
/** 应用场景视觉 mock（geo-scn-*）：置于公共层 .builder-scenario-site 内
 * 公共层场景底色为蓝系，本页统一改品牌蓝系*/
.geo-page .builder-scenario-visual { background: linear-gradient(145deg, #e6f1fe 0%, #d4e6fc 100%); }
.geo-page .builder-scenario-tone-2 { background: linear-gradient(145deg, #e9f3fe 0%, #d8e8fb 100%); }
.geo-page .builder-scenario-tone-3 { background: linear-gradient(145deg, #e4f0fd 0%, #d2e5fa 100%); }
.geo-page .builder-scenario-tone-4 { background: linear-gradient(145deg, #ecf2fe 0%, #dfe7fb 100%); }
.geo-page .builder-scenario-site header b { background: #0f4c9b; }
.geo-scn-hero { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1rem 1.2rem 0; padding: 1.1rem 1.2rem; border-radius: 0.75rem; background: linear-gradient(135deg, #2288fc, #0f4c9b); color: #fff; }
.geo-scn-hero small { font-size: .5rem; font-weight: 700; letter-spacing: .16em; opacity: .8; }
.geo-scn-hero strong { display: block; margin-top: 0.437rem; font-size: 1.15rem; line-height: 1.35; }
.geo-scn-hero p { margin: 0.5rem 0 0; font-size: .55rem; opacity: .85; }
.geo-scn-hero em { display: inline-flex; align-items: center; gap: 0.25rem; margin-top: 0.625rem; padding: 0.312rem 0.75rem; border-radius: 1rem; background: #fff; color: var(--builder-blue); font-size: .52rem; font-style: normal; font-weight: 700; }
.geo-scn-hero aside { display: flex; flex-direction: column; align-items: center; gap: 0.375rem; }
.geo-scn-hero aside > i { font-size: 1.6rem; opacity: .85; }
.geo-scn-hero aside span { display: flex; flex-direction: column; align-items: center; font-size: .44rem; opacity: .85; }
.geo-scn-hero aside b { font-size: .68rem; opacity: 1; }
.geo-scn-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.625rem; padding: 0.75rem 1.2rem 1.2rem; }
.geo-scn-grid span { display: flex; flex-direction: column; align-items: flex-start; gap: 0.312rem; padding: 0.625rem 0.687rem; border: 1px solid rgba(255,255,255,.7); border-radius: 0.625rem; background: rgba(255,255,255,.82); }
.geo-scn-grid i { display: flex; width: 1.625rem; height: 1.625rem; align-items: center; justify-content: center; border-radius: 0.437rem; background: #e8f2fe; color: var(--builder-blue); font-size: .75rem; }
.geo-scn-grid b { color: #14335c; font-size: .52rem; }
.geo-scn-grid small { color: #7d92ab; font-size: .42rem; line-height: 1.5; }
@media (max-width: 991.98px) {
  .geo-dash { margin: 0.625rem; }
  .geo-dash-main { flex-direction: column; }
  .geo-dash-score { flex: 0 0 auto; flex-direction: row; padding: 0.5rem 0.75rem; }
  .geo-dash-ring { width: 3rem; height: 3rem; }
  .geo-dash-ring b { font-size: .72rem; }
  .geo-dash-tags span:nth-child(n+4) { display: none; }
}
@media (max-width: 479.98px) {
  .geo-dash-top nav { display: none; }
  .geo-scn-hero { margin: 0.75rem 0.875rem 0; padding: 0.875rem; }
  .geo-scn-grid { padding: 0.625rem 0.875rem 0.875rem; }
}
/** 大屏适配（原 channel_highres.css 本页专属部分；置于文件末尾以保持最后的覆盖顺序）*/
@media (min-width: 992px) {
  .geo-page .builder-hero { min-height: clamp(40rem, 72vh, 44rem); }
}
@media (min-width: 1400px) {
  .geo-page .builder-hero { min-height: var(--tncms-product-hero-height); }
}
@media (min-width: 1400px) and (max-height: 899.98px) {
  .geo-page .builder-hero { min-height: clamp(39rem, calc(100svh - 4.375rem), 42rem); }
  .geo-page .builder-hero .row { padding-top: .75rem; }
}
