/* ==========================================================================
   VPNBF — home.css(首页专属)
   首屏装置微调、事实数据条、节点预览说明、套餐预览、线路状态组件
   ========================================================================== */

/* ============================ 首屏 ============================ */

.hero{
  position:relative;
  z-index:1;
  overflow-x:clip;
  max-width:100%;
  padding-top:34px;
}
.hero .wrap{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  position:relative;
  z-index:1;
}

.hero-glow{
  position:absolute;
  pointer-events:none;
  z-index:0;
  inset:32% 4% -8% 46%;
  background:radial-gradient(closest-side,rgba(217,195,238,.5),rgba(217,195,238,0) 100%);
  filter:blur(26px);
}

.hero h1{margin-top:22px;max-width:15em}

.hero-sub{
  margin-top:14px;
  font-size:17px;
  line-height:1.65;
  color:var(--text-muted);
  max-width:44em;
}
.hero-sub strong{font-weight:600;color:var(--text)}

.hero .cta-row{margin-top:26px;justify-content:center}

/* 平台 + 国旗横排 */
.eco{margin-top:22px}

/* 信任点行 */
.trust{margin-top:14px}

/* 首屏装置 */
.stage{margin-left:auto;margin-right:auto}

/* ============================ 事实数据条 ============================ */

.facts-strip{
  position:relative;
  z-index:1;
  padding-top:26px;
  padding-bottom:44px;
}
.facts-strip .wrap{display:flex;justify-content:center}

/* ============================ 节点预览 ============================ */

.node-note{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:20px;
  min-width:0;
}
.node-note .card-flat{display:flex;flex-direction:column;gap:8px}
.node-note h3{font-size:18px}
.node-note p{
  font-size:14px;
  line-height:1.75;
  color:var(--text-muted);
  max-width:none;
}
.node-note + .callout{margin-top:18px}

.more-link{
  margin-top:26px;
  font-size:14.5px;
}
.more-link a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:32px;
  color:var(--accent);
  font-weight:500;
}
.more-link a:hover{color:var(--accent-dark)}
.more-link svg{width:14px;height:14px;flex:none}

/* ============================ 套餐预览 ============================ */

.pack-block{margin-top:34px}
.pack-block .sec-head{margin-bottom:18px}
.pack-block .sec-head h3{font-family:var(--font-display);font-weight:400}
.pack-block .lead{font-size:15px}

/* ============================ 线路状态(servers.js 注入) ============================ */

.server-status{
  display:block;
  position:relative;
  overflow:hidden;
  max-width:100%;
  min-width:0;
  min-height:120px;
  margin-top:20px;
  margin-bottom:20px;
}
.server-status:empty{display:none}
.server-status > *{max-width:100%;min-width:0}

.server-status .srv-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  min-width:0;
}
.server-status .srv-row{
  display:grid;
  grid-template-columns:14px 22px minmax(0,1fr) auto auto auto;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:8px 14px;
  background:var(--bg-panel);
  border:1px solid var(--border);
  border-radius:var(--r-md);
  box-shadow:var(--highlight);
  min-width:0;
}
.server-status .srv-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--success);
  box-shadow:0 0 0 3px rgba(63,143,94,.16);
  flex:none;
  animation:srv-breathe 2.6s ease-in-out infinite;
}
@keyframes srv-breathe{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.55;transform:scale(.82)}
}
.server-status .srv-flag{
  width:22px;
  height:22px;
  border-radius:50%;
  flex:none;
  box-shadow:0 0 0 1px rgba(var(--ink-rgb),.08);
}
.server-status .srv-name{
  font-size:13.5px;
  font-weight:500;
  color:var(--text);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-width:0;
}
.server-status .srv-type{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  overflow:hidden;
  min-height:24px;
  padding:2px 10px;
  border-radius:var(--r-pill);
  font-family:var(--font-mono);
  font-size:11.5px;
  color:var(--text-muted);
  background:var(--bg-panel2);
  border:1px solid var(--border);
  white-space:nowrap;
  text-overflow:ellipsis;
}
.server-status .srv-ms,
.server-status .srv-bw{
  font-family:var(--font-mono);
  font-size:12.5px;
  letter-spacing:-.01em;
  white-space:nowrap;
  text-align:right;
}
.server-status .srv-ms{color:var(--success);min-width:52px}
.server-status .srv-bw{color:var(--text-muted);min-width:64px}

/* ============================ 为什么选我们 ============================ */

.why-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  min-width:0;
}
.why-grid .card{display:flex;flex-direction:column;gap:10px}
.why-grid h3{font-size:20px}
.why-grid p{font-size:14.5px;line-height:1.78;color:var(--text-muted);max-width:none}

/* ============================ 响应式 ============================ */

@media (max-width:1100px){
  .node-note{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:900px){
  .hero h1{font-size:clamp(34px,6vw,48px)}
  .server-status .srv-grid{grid-template-columns:minmax(0,1fr)}
}

@media (max-width:768px){
  .hero{padding-top:24px}
  .hero-glow{inset:26% 0 -6% 24%}
  .hero-sub{font-size:15.5px}
  .node-note{grid-template-columns:minmax(0,1fr)}
  .why-grid{grid-template-columns:minmax(0,1fr)}
  .facts-strip{padding-bottom:36px}
}

@media (max-width:640px){
  .hero h1{font-size:32px}
  .hero .cta-row{width:100%}
  .eco{min-height:0}
  .trust{gap:6px 12px}
}

@media (prefers-reduced-motion:reduce){
  .server-status .srv-dot{animation:none}
}