/* =====================================================
   新汐斯塔 · 方舟冷调军事风（index / about / map 共享）
   核心：冷灰蓝配色 / 轻斜切 / 战术网格 / 等宽数据感
   ===================================================== */
:root {
  --primary: #7d92b4;            /* 冷灰蓝（替换亮紫） */
  --primary-dark: #5f7290;
  --primary-light: #9fb3d3;
  --accent: #e8a33d;             /* 琥珀压暗，作功能强调 */
  --bg: #0b0e15;                 /* 更深冷蓝黑 */
  --bg-2: #0f141d;
  --bg-3: #141a26;
  --border: rgba(148, 163, 190, 0.14);
  --border-hover: rgba(170, 190, 220, 0.32);
  --text: #eef2f8;
  --text-2: #b8c2d4;
  --text-muted: #6b7a93;
  --radius: 4px;                 /* 圆角收敛，配合轻切角 */
  --radius-sm: 2px;
  --radius-lg: 6px;
  --radius-xl: 10px;
}
body { background: var(--bg); }
/* 全站战术网格纹理（浅、只打底） */
body::before {
  content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background-image:
    linear-gradient(rgba(120, 150, 190, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120, 150, 190, 0.045) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.9), rgba(0,0,0,.25) 70%, transparent);
}
/* ===== 导航：冷底 + 顶部冷蓝发光细线 ===== */
.navbar {
  background: rgba(8, 11, 17, 0.72);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--border);
}
.navbar::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; pointer-events: none;
  background: linear-gradient(90deg, transparent, #7fa8d4 30%, #9fd0e8 50%, #7fa8d4 70%, transparent);
  opacity: .7;
}
.navbar.scrolled { background: rgba(8, 11, 17, 0.88); }
.nav-menu a { letter-spacing: .08em; font-weight: 600; border-radius: 2px; }
.nav-menu a.active::after { height: 1px; width: 26px; background: var(--accent); }
.nav-cta {
  border-radius: 2px;
  clip-path: polygon(6px 0, 100% 0, calc(100% - 6px) 100%, 0 100%);
  background: linear-gradient(135deg, #2c3d57, #1c2737);
  color: #dfe9f5; border: 1px solid rgba(140, 180, 225, 0.35);
  box-shadow: none; letter-spacing: .1em;
}
.nav-cta:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(60, 100, 160, 0.4); }
/* ===== Hero：战术网格 + 冷蓝渐变 ===== */
.hero::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(127, 168, 212, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(127, 168, 212, 0.06) 1px, transparent 1px);
  background-size: 56px 56px;
}
.hero-bg::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(11, 14, 21, 0.35) 0%, rgba(11, 14, 21, 0.92) 100%);
}
.hero h1 {
  letter-spacing: .01em;
  background: linear-gradient(180deg, #f4f7fc 0%, #a9bed8 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.hero h1 .accent {
  background: linear-gradient(180deg, #bfd9f2, #7fa8d4);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.hero p { letter-spacing: .06em; }
.hero-scroll { letter-spacing: .3em; font-size: .78rem; }
/* ===== 按钮：轻斜切 + 字距 ===== */
.btn {
  border-radius: 2px;
  clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
  letter-spacing: .12em; font-weight: 800;
}
.btn-primary { background: linear-gradient(135deg, #e8a33d, #c9852a); color: #14181f; }
.btn-secondary { border-color: var(--border); }
/* ===== 区块标题：菱形标记 + 引线 ===== */
.section-tag {
  display: inline-flex; align-items: center; gap: 10px;
  color: var(--primary-light); font-weight: 700; letter-spacing: .28em; font-size: .8rem;
}
.section-tag::before { content: '◆'; color: var(--accent); font-size: .68rem; }
.section-tag::after {
  content: ''; width: 42px; height: 1px;
  background: linear-gradient(90deg, var(--primary), transparent);
}
.section-title { letter-spacing: .02em; }
/* ===== 卡片：轻切角 + 角标 ===== */
.about-preview, .news-card, .news-empty { border-radius: 4px; }
.news-card {
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}
.news-card::before { height: 1px; background: linear-gradient(90deg, var(--primary), var(--accent)); }
.news-card::after {
  content: ''; position: absolute; top: 8px; right: 8px; width: 7px; height: 7px;
  border-top: 1px solid var(--primary-light); border-right: 1px solid var(--primary-light); opacity: .7;
}
.news-author { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .06em; }
.city-card { border-radius: 4px; }
.city-title { letter-spacing: .03em; }
.city-lord { letter-spacing: .18em; font-size: .9rem; }
.city-dot.active { background: var(--primary-light); }
.about-content p { letter-spacing: .02em; }
