*,::before,::after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / 0.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: ;}::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / 0.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: ;}.visible{visibility:visible;}.absolute{position:absolute;}.fixed{position:fixed;}.relative{position:relative;}.sticky{position:sticky;}.grid{display:grid;}.block{display:block;}.inline-block{display:inline-block;}.hidden{display:none;}.h1{height:0.25rem;}.h2{height:0.5rem;}.h3{height:0.75rem;}.min-h-full{min-height:100%;}.w-130px{width:130px;}.w-140px{width:140px;}.w-160px{width:160px;}.w-180px{width:180px;}.w-200px{width:200px;}.w-220px{width:220px;}.w-240px{width:240px;}.w-260px{width:260px;}.w-full{width:100%;}.flex{display:flex;}.inline-flex{display:inline-flex;}.flex-wrap{flex-wrap:wrap;}.border{border-width:1px;}.px{padding-left:1rem;padding-right:1rem;}.tabular-nums{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction);}.underline{text-decoration-line:underline;}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;}.ease{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}/*
 * 悟空 GEO 品牌 tokens（独立系统自己一套，不读 CMS 主题）
 * 色值与官网 `official/src/assets/site.css` 同源：科技蓝紫。
 * 只在 CSS 变量里写字面量，组件一律引用变量（改品牌色只改这里）。
 */
:root {
  --brand-900: #1b2a8f;
  --brand-700: #2438c8;
  --brand-600: #3355f5;
  --violet: #6b4eff;
  --brand-grad: linear-gradient(135deg, #1b2a8f 0%, #2438c8 48%, #6b4eff 100%);

  --ink: #15182b;
  --ink-soft: #37405c;
  --muted: #6b7280;
  --surface: #f6f8ff;
  --surface-2: #eef2ff;
  --line: #e2e7f7;
  --white: #ffffff;

  --success: #0e9f6e;
  --warn: #b45309;
  --danger: #c62828;

  --radius: 8px;
  --radius-lg: 12px;
  --shadow-sm: 0 1px 2px rgba(20, 26, 64, 0.05);
  --shadow: 0 1px 2px rgba(20, 26, 64, 0.05), 0 10px 30px rgba(20, 26, 64, 0.06);
  --header-h: 56px;
}
/* 独立 GEO 系统的全局基线（不进 CMS、不覆盖宿主） */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body,
#app {
  height: 100%;
}

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB',
    'Microsoft YaHei', 'Source Han Sans SC', 'Noto Sans CJK SC', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: var(--ink);
  background: var(--surface);
  -webkit-font-smoothing: antialiased;
}

/* 页面内容统一宽度（后台宽屏不拉满，读起来才顺） */
.geo-page {
  max-width: 1320px;
  margin: 0 auto;
  padding: 16px;
}

/* 卡片标题行：左标题 + 右操作 */
.geo-card__head {
  display: flex;
  align-items: center;
  gap: 12px;
}

.geo-card__title {
  font-size: 15px;
  font-weight: 600;
  color: var(--ink);
}

.geo-card__desc {
  font-size: 12px;
  color: var(--muted);
}

/* 列表页「搜索 / 筛选 / 操作」同一行（窄屏自动换行） */
.geo-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  width: 100%;
}

.geo-toolbar__search {
  width: 320px;
  max-width: 100%;
}

.geo-toolbar__spacer {
  flex: 1 1 auto;
}

.geo-muted {
  color: var(--muted);
}

.geo-mono {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}

/* 回答原文（保留换行，长词可断） */
.geo-answer-text {
  white-space: pre-wrap;
  word-break: break-word;
  font-size: 13px;
  line-height: 1.75;
  color: var(--ink-soft);
}

/* 命中高亮（不做 innerHTML，走分段渲染） */
.geo-hit {
  background: rgba(107, 78, 255, 0.14);
  border-bottom: 1px solid var(--violet);
  border-radius: 2px;
  padding: 0 1px;
}

/* 折线 / 柱状图容器 */
.geo-chart {
  width: 100%;
  overflow: hidden;
}

/* 简单滚动条（表格横向滚动时更淡） */
.geo-scroll-x {
  overflow-x: auto;
}

.geo-topbar[data-v-fccd590f] {
  position: sticky;
  top: 0;
  z-index: 20;
  background: var(--white);
  border-bottom: 1px solid var(--line);
  box-shadow: var(--shadow-sm);
}
.geo-topbar__inner[data-v-fccd590f] {
  display: flex;
  align-items: center;
  gap: 20px;
  height: var(--header-h);
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 16px;
}
.geo-brand[data-v-fccd590f] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}
.geo-brand__mark[data-v-fccd590f] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 7px;
  background: var(--brand-grad);
  color: var(--white);
  font-size: 13px;
  font-weight: 700;
}
.geo-brand__name[data-v-fccd590f] {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.2px;
  color: var(--ink);
}
.geo-nav[data-v-fccd590f] {
  display: flex;
  align-items: center;
  gap: 2px;
  flex: 1 1 auto;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}
.geo-nav[data-v-fccd590f]::-webkit-scrollbar {
  display: none;
}
.geo-nav__link[data-v-fccd590f] {
  flex: 0 0 auto;
  padding: 5px 10px;
  border-radius: 8px;
  font-size: 13px;
  color: var(--ink-soft);
  text-decoration: none;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.geo-nav__link[data-v-fccd590f]:hover {
  background: var(--surface-2);
  color: var(--brand-700);
}
.geo-nav__link.is-active[data-v-fccd590f] {
  background: var(--surface-2);
  color: var(--brand-700);
  font-weight: 600;
}
.geo-topbar__right[data-v-fccd590f] {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}
.geo-user[data-v-fccd590f] {
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  color: var(--ink-soft);
}

.geo-app[data-v-6e08b42b] {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background: var(--surface);
}
.geo-main[data-v-6e08b42b] {
  flex: 1 1 auto;
  min-height: 0;
}
.geo-page--notice[data-v-6e08b42b] {
  padding-bottom: 0;
}
.geo-boot[data-v-6e08b42b] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 60vh;
}
