/* ==========================================================================
   nodes.css — 全球节点页专属样式
   颜色、圆角、字体、间距一律取自 base.css 的 :root 令牌,不重复定义通用组件。
   ========================================================================== */

/* ---------- 1. 页头 ---------- */
.page-head{
  position:relative;
  overflow-x:clip;
  max-width:100%;
  border-bottom:1px solid var(--border);
  background:
    radial-gradient(720px 380px at 86% -12%,var(--halo-rose),transparent 72%),
    radial-gradient(520px 300px at 2% 110%,var(--halo-warm),transparent 74%),
    linear-gradient(180deg,var(--bg-hero-top) 0%,var(--bg) 100%);
}
.page-head .wrap{
  padding-top:var(--sp-7);
  padding-bottom:var(--sp-7);
}
.page-head h1{margin-top:var(--sp-3)}
.page-head .lead{
  margin-top:var(--sp-4);
  max-width:64ch;
}
.page-head .trust-row{margin-top:var(--sp-5)}
.page-head .stat-band{margin-top:var(--sp-6)}

/* ---------- 2. 线路类型图例 ---------- */
.legend-row{
  display:flex;
  flex-wrap:wrap;
  gap:var(--sp-3) var(--sp-5);
  margin-bottom:var(--sp-6);
  padding:var(--sp-4) var(--sp-5);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  background:var(--bg-panel);
  box-shadow:var(--hairline);
}
.legend-row li{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  font-size:13px;
  line-height:1.6;
  color:var(--text-muted);
}
.legend-key{
  display:inline-flex;
  align-items:center;
  flex:none;
  padding:2px 10px;
  border:1px solid var(--border-strong);
  border-radius:var(--pill);
  font-family:var(--font-mono);
  font-size:11.5px;
  font-weight:600;
  color:var(--text);
  white-space:nowrap;
}
.legend-key--iepl{
  border-color:var(--accent);
  background:var(--accent-tint);
  color:var(--accent);
}
.legend-key--relay{
  border-color:var(--accent-rose);
  background:var(--accent-tint-2);
  color:var(--accent-rose);
}
.legend-key--direct{
  border-color:var(--success);
  background:var(--success-tint);
  color:var(--success);
}

/* ---------- 3. 地区分块 ---------- */
.region-block{margin-top:var(--sp-6)}
.region-block h3{
  margin-bottom:var(--sp-3);
  padding-left:12px;
  border-left:4px solid var(--accent);
  font-size:18px;
  line-height:1.3;
}

/* ---------- 4. 线路类型说明 ---------- */
.type-tabs{margin-bottom:var(--sp-5)}
.type-panel{
  min-width:0;
  padding:var(--sp-6);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  background:var(--bg-panel);
  box-shadow:var(--shadow-card);
}
.type-panel h3{margin-bottom:var(--sp-3)}
.type-panel p{
  font-size:14.5px;
  line-height:1.82;
  color:var(--text-muted);
}
.type-panel p+p{margin-top:10px}
.type-flow{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:var(--sp-4);
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--text-muted);
}
.type-flow span{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:var(--bg-panel-2);
  color:var(--text);
  white-space:nowrap;
}
.type-flow em{
  font-style:normal;
  font-weight:700;
  color:var(--accent-rose);
}
.type-panel .spec-fact{margin-top:var(--sp-5)}

/* ---------- 5. 选线建议卡片 ---------- */
.pick-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(232px,1fr));
  gap:var(--sp-4);
}
.pick-card{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
  padding:var(--sp-5);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  background:var(--bg-panel);
  box-shadow:var(--shadow-soft);
  transition:transform .2s ease,box-shadow .2s ease;
}
.pick-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-card);
}
.pick-scene{
  display:inline-flex;
  align-self:flex-start;
  align-items:center;
  padding:2px 10px;
  border-radius:var(--pill);
  background:var(--accent-tint);
  color:var(--accent);
  font-size:11.5px;
  font-weight:700;
  letter-spacing:0.02em;
  white-space:nowrap;
}
.pick-card h3{
  font-size:16px;
  line-height:1.4;
}
.pick-card p{
  font-size:13.5px;
  line-height:1.78;
  color:var(--text-muted);
}
.pick-pick{
  margin-top:auto;
  padding-top:6px;
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--accent);
}

/* ---------- 6. 换线验证步骤 ---------- */
.step-list{
  display:flex;
  flex-direction:column;
  gap:var(--sp-3);
  counter-reset:nodes-step;
}
.step-item{
  display:flex;
  gap:var(--sp-4);
  padding:var(--sp-4) var(--sp-5);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--bg-panel);
  box-shadow:var(--hairline);
}
.step-item::before{
  counter-increment:nodes-step;
  content:counter(nodes-step);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  flex:none;
  border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--accent-rose));
  color:var(--on-accent);
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:700;
}
.step-body{min-width:0}
.step-body b{
  display:block;
  font-size:14.5px;
  font-weight:700;
  color:var(--text);
}
.step-body p{
  margin-top:3px;
  font-size:13.5px;
  line-height:1.78;
  color:var(--text-muted);
}
.verify-more{
  margin-top:var(--sp-5);
  font-size:14px;
  line-height:1.9;
  color:var(--text-muted);
}

/* ---------- 7. 覆盖地区墙 ---------- */
.region-wall{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  background:var(--bg-panel);
  box-shadow:var(--hairline);
}
.wall-row{
  display:grid;
  grid-template-columns:104px minmax(0,1fr);
  gap:var(--sp-4);
  align-items:start;
  padding:var(--sp-4) var(--sp-5);
  border-top:1px solid var(--border);
}
.wall-row:first-child{border-top:0}
.wall-name{
  padding-top:5px;
  font-size:12.5px;
  font-weight:700;
  letter-spacing:0.06em;
  color:var(--text-muted);
}
.wall-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  min-width:0;
}

/* ---------- 8. 响应式 ---------- */
@media (max-width:768px){
  .page-head .wrap{
    padding-top:var(--sp-6);
    padding-bottom:var(--sp-6);
  }
  .type-panel{padding:var(--sp-5)}
  .wall-row{
    grid-template-columns:1fr;
    gap:8px;
  }
  .wall-name{padding-top:0}
}
@media (max-width:640px){
  .legend-row{padding:var(--sp-4)}
  .step-item{padding:var(--sp-4)}
  .pick-grid{grid-template-columns:1fr}
}