/* ═══════════════════════════════════════════════════════════════
   OK服务器官网 · 主题样式（复刻 dayz-house.fr 战术 HUD 风格）
   配色：zinc-950 深底 + 翡翠绿 + 危险红 + 琥珀黄
   字体：Orbitron(标题) / Share Tech Mono(HUD) / JetBrains Mono(代码)
   ═══════════════════════════════════════════════════════════════ */
@import url("fonts/fonts.css");

:root{
  --bg:#0a0c0f; --bg2:#060a11;
  --panel:rgba(255,255,255,.02); --panel2:rgba(0,0,0,.25); --panel3:rgba(24,24,27,.55);
  --line:rgba(255,255,255,.06); --line2:rgba(255,255,255,.08);
  --txt:#f4f4f5; --txt2:#a1a1aa; --txt3:#71717a; --txt4:#52525b;
  --em:#34d399; --em2:#10b981; --em3:#059669;
  --red:#ef4444; --red2:#f87171;
  --amber:#fbbf24; --amber2:#f59e0b;
  --blue:#3399ff; --blue2:#5865f2;
  --font-display:"Orbitron","Share Tech Mono",ui-monospace,monospace;
  --font-hud:"Share Tech Mono",ui-monospace,monospace;
  --font-code:"JetBrains Mono",ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--txt);line-height:1.6;
  font-family:var(--font-hud),"Microsoft YaHei","PingFang SC","Noto Sans SC",sans-serif;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%}
::selection{background:rgba(52,211,153,.25);color:#fff}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#0a0c0f}
::-webkit-scrollbar-thumb{background:#27272a;border-radius:6px;border:2px solid #0a0c0f}
::-webkit-scrollbar-thumb:hover{background:#3f3f46}
.wrap{max-width:1280px;margin:0 auto;padding:0 16px}
.font-display{font-family:var(--font-display)}
.font-hud{font-family:var(--font-hud)}
.font-code{font-family:var(--font-code)}
.text-em{color:var(--em)} .text-amber{color:var(--amber)} .text-red{color:var(--red2)} .text-dim{color:var(--txt3)}

/* ─────────── 背景层（图片 + 渐变 + 辉光 + 毒雾 + 噪点 + 扫描线） ─────────── */
.bg-fixed{position:fixed;inset:0;z-index:-30;pointer-events:none}
.bg-fixed img{width:100%;height:100%;object-fit:cover;transform:scale(1.05);opacity:.22;filter:saturate(.35) brightness(.8)}
.bg-tint{position:fixed;inset:0;z-index:-20;pointer-events:none;
  background:linear-gradient(to bottom,rgba(10,12,15,.95),rgba(10,12,15,.85),rgba(10,12,15,.95))}
.bg-fx{position:fixed;inset:0;z-index:-10;pointer-events:none;overflow:hidden}
.blob{position:absolute;border-radius:9999px;filter:blur(150px)}
.blob-a{top:-15%;left:33%;width:900px;height:600px;background:rgba(22,163,74,.06);animation:homeGlow 10s ease-in-out infinite}
.blob-b{bottom:-10%;right:-10%;width:600px;height:500px;background:rgba(220,38,38,.04);animation:homeGlow2 14s ease-in-out infinite}
.blob-c{top:40%;left:-10%;width:400px;height:400px;background:rgba(34,197,94,.03);animation:homeGlow2 16s ease-in-out infinite}
.haze{position:absolute;inset:0}
.haze i{position:absolute;border-radius:9999px;filter:blur(90px);opacity:.5}
.haze i:nth-child(1){width:420px;height:260px;left:8%;top:62%;background:rgba(16,185,129,.05);animation:hazeDrift 26s ease-in-out infinite}
.haze i:nth-child(2){width:380px;height:220px;right:12%;top:34%;background:rgba(245,158,11,.04);animation:hazeDrift 32s ease-in-out infinite reverse}
.haze i:nth-child(3){width:300px;height:200px;left:44%;top:12%;background:rgba(16,185,129,.04);animation:hazeDrift 38s ease-in-out infinite}
.grain{position:fixed;inset:0;z-index:-9;pointer-events:none;opacity:.5;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.35'/%3E%3C/svg%3E")}
.scanlines{position:fixed;inset:0;z-index:-8;pointer-events:none;opacity:.35;mix-blend-mode:soft-light;
  background-image:repeating-linear-gradient(to bottom,rgba(255,255,255,.035) 0,rgba(255,255,255,.035) 1px,transparent 2px,transparent 6px)}
@keyframes homeGlow{0%,100%{opacity:.4;transform:scale(1)}50%{opacity:.65;transform:scale(1.08)}}
@keyframes homeGlow2{0%,100%{opacity:.25;transform:scale(1)}50%{opacity:.4;transform:scale(1.1)}}
@keyframes hazeDrift{0%,100%{transform:translate(0,0)}50%{transform:translate(60px,-40px)}}
@media (prefers-reduced-motion:reduce){
  .blob,.haze i{animation:none!important}
  .scanlines,.grain{opacity:.15}
}

/* ─────────── 顶部导航 ─────────── */
.nav-root{position:fixed;top:0;right:0;left:0;z-index:50;padding:0}
@media(min-width:768px){.nav-root{padding:12px 16px 0;pointer-events:none}}
@media(min-width:1024px){.nav-root{padding:16px 24px 0}}
.nav{pointer-events:auto;position:relative;margin:0 auto;max-width:1280px;
  border-bottom:1px solid rgba(6,78,59,.4);background:rgba(9,9,11,.72);
  -webkit-backdrop-filter:blur(24px) saturate(1.5);backdrop-filter:blur(24px) saturate(1.5);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);padding:10px 0}
@media(min-width:768px){.nav{border-radius:16px;border:1px solid;box-shadow:0 24px 48px -12px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.06);padding:12px 0}}
.nav::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(to right,transparent,rgba(16,185,129,.15),transparent)}
.nav-inner{display:flex;align-items:center;gap:8px;padding:0 12px;position:relative}
@media(min-width:640px){.nav-inner{gap:12px;padding:0 24px}}
.logo{display:flex;align-items:center;gap:10px;flex-shrink:0;border-radius:12px;padding:4px 8px 4px 4px}
.logo:hover{background:rgba(255,255,255,.03)}
.logo-bar{position:relative;width:5px;height:32px;flex-shrink:0}
@media(min-width:640px){.logo-bar{height:36px}}
.logo-bar::before{content:"";position:absolute;inset:0;border-radius:9999px;
  background:linear-gradient(to bottom,rgba(110,231,183,.9),#10b981,rgba(6,78,59,.9));
  box-shadow:0 0 14px rgba(52,211,153,.35)}
.logo-bar::after{content:"";position:absolute;top:4px;bottom:4px;left:50%;width:1px;transform:translateX(-50%);
  border-radius:9999px;background:rgba(255,255,255,.25)}
.logo img{height:32px;width:auto;max-width:9rem;object-fit:contain;filter:drop-shadow(0 6px 20px rgba(0,0,0,.45))}
@media(min-width:640px){.logo img{height:36px}}
.logo-name{font-family:var(--font-display);font-size:.95rem;font-weight:600;letter-spacing:.03em;color:#f4f4f5;white-space:nowrap}
@media(min-width:768px){.logo-name{font-size:1.125rem}}
.nav-links{display:none;flex:1;align-items:center;justify-content:center;gap:2px;min-width:0}
@media(min-width:768px){.nav-links{display:flex}}
.nav-link{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px;
  font-family:var(--font-hud);font-size:13px;color:#a1a1aa;white-space:nowrap;transition:color .2s,background-color .2s}
.nav-link svg{width:18px;height:18px;color:#71717a;transition:color .2s}
.nav-link:hover{color:#f4f4f5;background:rgba(255,255,255,.04)}
.nav-link:hover svg{color:rgba(52,211,153,.9)}
.nav-link.on{color:#f4f4f5;background:rgba(255,255,255,.05)}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:8px;flex-shrink:0}
@media(min-width:768px){.nav-right{margin-left:0}}
.nav-cta{display:none;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:10px;
  background:#10b981;color:#09090b;font-family:var(--font-display);font-size:13px;font-weight:700;
  transition:background-color .2s,transform .1s}
.nav-cta:hover{background:#34d399}
.nav-cta:active{transform:scale(.98)}
@media(min-width:768px){.nav-cta{display:inline-flex}}
.nav-cta svg{width:18px;height:18px}
.menu-btn{position:relative;z-index:60;display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;border:1px solid rgba(6,78,59,.45);background:rgba(9,9,11,.8);color:#e4e4e7;
  clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px));cursor:pointer}
.menu-btn svg{width:20px;height:20px;position:relative}
.menu-btn::before{content:"";position:absolute;inset:0;opacity:.6;
  background:repeating-linear-gradient(-45deg,transparent,transparent 3px,rgba(255,255,255,.03) 3px,rgba(255,255,255,.03) 4px)}
.menu-btn:hover{border-color:rgba(5,150,105,.4);background:#18181b;color:#d1fae5}
@media(min-width:768px){.menu-btn{display:none}}
/* 移动抽屉 */
.drawer{position:fixed;inset:0;z-index:55;display:none}
.drawer.open{display:block}
.drawer-mask{position:absolute;inset:0;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(20rem,86vw);
  background:rgba(9,9,11,.97);border-left:1px solid rgba(6,78,59,.4);padding:88px 20px 24px;
  display:flex;flex-direction:column;gap:6px;animation:slideInFromRight .32s cubic-bezier(.22,1,.36,1) forwards}
@keyframes slideInFromRight{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}
.drawer-title{font-family:var(--font-hud);font-size:11px;letter-spacing:.2em;color:#71717a;text-transform:uppercase;padding:0 10px 10px}
.drawer-item{counter-increment:mnav;display:flex;align-items:center;gap:12px;padding:13px 12px;border-radius:12px;
  border:1px solid rgba(255,255,255,.05);background:rgba(255,255,255,.02);color:#d4d4d8;font-size:15px}
.drawer-item::before{counter-increment:mnav;content:counter(mnav,decimal-leading-zero);
  font-family:var(--font-code);font-size:10px;font-weight:700;color:rgba(113,113,122,.9);width:1.75rem;flex-shrink:0}
.drawer-item svg{width:18px;height:18px;color:#71717a}
.drawer-item:hover{border-color:rgba(16,185,129,.35);color:#d1fae5}
.drawer-item:hover svg{color:#34d399}
.drawer .drawer-cta{margin-top:12px;display:flex;justify-content:center;align-items:center;gap:8px;
  height:44px;border-radius:12px;background:#10b981;color:#09090b;font-family:var(--font-display);font-weight:700}
@media (prefers-reduced-motion:reduce){.drawer-panel{animation:none;opacity:1;transform:none}}

/* ─────────── 通用按钮（三层描边 + 辉光） ─────────── */
.btn{position:relative;display:inline-flex;align-items:center;gap:12px;padding:16px 32px;border-radius:12px;
  font-family:var(--font-display);font-weight:700;overflow:hidden;transition:transform .3s,box-shadow .3s}
.btn .b-bg,.btn .b-hover,.btn .b-top{position:absolute;inset:0;border-radius:12px}
.btn .b-top{height:1px;bottom:auto}
.btn:hover{transform:translateY(-4px)}
.btn svg{position:relative;z-index:2;width:20px;height:20px;flex-shrink:0}
.btn span{position:relative;z-index:2}
.btn-kook{color:#cfe3ff}
.btn-kook .b-bg{background:rgba(51,153,255,.08);border:1px solid rgba(51,153,255,.35)}
.btn-kook .b-hover{background:rgba(51,153,255,.16);opacity:0;transition:opacity .3s}
.btn-kook .b-top{background:linear-gradient(to right,transparent,rgba(110,170,255,.5),transparent)}
.btn-kook:hover{box-shadow:0 25px 50px -12px rgba(51,153,255,.18)}
.btn-kook:hover .b-hover{opacity:1}
.btn-kook svg{color:#7fb6ff}
.btn-guide{color:#4ade80}
.btn-guide .b-bg{background:rgba(34,197,94,.06);border:1px solid rgba(34,197,94,.2)}
.btn-guide .b-hover{background:rgba(34,197,94,.1);opacity:0;transition:opacity .3s}
.btn-guide .b-top{background:linear-gradient(to right,transparent,rgba(34,197,94,.3),transparent)}
.btn-guide:hover{box-shadow:0 25px 50px -12px rgba(34,197,94,.15)}
.btn-guide:hover .b-hover{opacity:1}
.btn-guide svg{color:rgba(34,197,94,.6)}
.btn-join{color:#fca5a5}
.btn-join .b-bg{background:rgba(220,38,38,.12);border:1px solid rgba(239,68,68,.35)}
.btn-join .b-hover{background:rgba(239,68,68,.18);opacity:0;transition:opacity .3s}
.btn-join .b-top{background:linear-gradient(to right,transparent,rgba(248,113,113,.35),transparent)}
.btn-join:hover{box-shadow:0 25px 50px -12px rgba(239,68,68,.2)}
.btn-join:hover .b-hover{opacity:1}
.btn-join svg{color:rgba(248,113,113,.9)}

/* ─────────── HERO ─────────── */
.hero{position:relative;z-index:10;padding:128px 16px 48px;text-align:center}
.hero-badge{display:inline-flex;align-items:center;gap:10px;padding:8px 20px;border-radius:9999px;
  background:rgba(34,197,94,.06);border:1px solid rgba(34,197,94,.15);margin-bottom:32px;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.hero-badge .ico{width:12px;height:12px;color:#4ade80;animation:spin 8s linear infinite}
.hero-badge .ico.rev{animation-direction:reverse}
.hero-badge .txt{font-family:var(--font-hud);font-size:11px;letter-spacing:.2em;color:rgba(74,222,128,.8);text-transform:uppercase}
.hero-badge .dot{width:4px;height:4px;border-radius:9999px;background:#ef4444;animation:pulse 1.6s ease-in-out infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}
.hero h1{font-family:var(--font-display);font-size:clamp(2.6rem,9vw,6rem);font-weight:800;color:#fff;
  letter-spacing:-.02em;line-height:1.05;margin-bottom:20px}
.hero h1 .accent{color:#6ee7b7;text-shadow:0 0 24px rgba(110,231,183,.45),0 0 64px rgba(5,150,105,.25)}
.hero h1 .glow{position:relative;display:inline-block;padding-bottom:12px}
.hero h1 .glow::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);
  width:min(92%,28rem);display:block;height:2px;border-radius:9999px;
  background:linear-gradient(to right,transparent,rgba(110,231,183,.95),transparent);
  box-shadow:0 0 18px rgba(110,231,183,.4),0 0 48px rgba(5,150,105,.14);margin-top:8px}
.hero-sub{color:#d4d4d8;font-size:1.125rem;max-width:36rem;margin:0 auto 12px;line-height:1.7}
@media(min-width:768px){.hero-sub{font-size:1.25rem}}
.hero-sub2{color:#71717a;font-family:var(--font-hud);font-size:.875rem;max-width:32rem;margin:0 auto 48px;line-height:1.7}
.hero-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.fade-up{animation:fadeInUp .6s ease-out both}
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.fade-up{animation:none}.hero-badge .ico,.hero-badge .dot{animation:none}}

/* ─────────── 分隔线（心电 / 毒气 / 血滴 / 危险条） ─────────── */
.divider-pulse{margin:8px 0}
.divider-pulse svg{width:100%;height:40px}
.divider-pulse .pulse-line{fill:none;stroke:rgba(52,211,153,.55);stroke-width:1.5;
  stroke-dasharray:420;stroke-dashoffset:420;animation:ecg 4.5s linear infinite;
  filter:drop-shadow(0 0 6px rgba(52,211,153,.5))}
@keyframes ecg{0%{stroke-dashoffset:420}55%{stroke-dashoffset:0}100%{stroke-dashoffset:-420}}
.divider-gas{margin:16px 0;display:flex;align-items:center;justify-content:center;gap:14px;padding:0 16px}
.divider-gas .line{flex:1;max-width:420px;height:1px;background:linear-gradient(to right,transparent,rgba(34,197,94,.25),transparent)}
.divider-gas svg{width:20px;height:20px;color:rgba(34,197,94,.4);flex-shrink:0}
.divider-blood svg{width:100%;height:40px;display:block}
.divider-blood .blood-path{fill:none;stroke:rgba(220,38,38,.4);stroke-width:1.5}
.divider-blood .blood-drip{fill:rgba(220,38,38,.55);animation:drip 3.6s ease-in infinite}
.divider-blood .blood-drip:nth-child(2){animation-delay:.9s}
.divider-blood .blood-drip:nth-child(3){animation-delay:1.8s}
@keyframes drip{0%{transform:translateY(0);opacity:.9}70%{transform:translateY(14px);opacity:.35}100%{transform:translateY(20px);opacity:0}}
.divider-danger{height:6px;margin:16px 0;opacity:.5;
  background:repeating-linear-gradient(-45deg,#f59e0b 0 10px,#0a0c0f 10px 20px);animation:pulse 3s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.divider-pulse .pulse-line,.divider-blood .blood-drip,.divider-danger{animation:none}}

/* ─────────── 区块头 ─────────── */
.section{position:relative;z-index:10;padding:48px 16px}
.section-head{margin-bottom:32px}
.section-head .row1{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.chip{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.chip svg{width:16px;height:16px}
.chip.em{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.2);color:#4ade80}
.chip.red{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);color:#f87171}
.chip.amber{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.2);color:#fbbf24}
.section-head h2{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:-.02em}
@media(min-width:768px){.section-head h2{font-size:1.875rem}}
.section-sub{font-family:var(--font-hud);font-size:.875rem;color:#71717a;padding-left:44px;margin-bottom:24px}

/* ─────────── 服务器状态卡 ─────────── */
.grid-servers{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:768px){.grid-servers{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1280px){.grid-servers{grid-template-columns:repeat(3,1fr)}}
.server-loading{grid-column:1/-1;border-radius:16px;border:1px solid var(--line);background:var(--panel);
  padding:48px 24px;text-align:center;font-family:var(--font-hud);font-size:.875rem;color:#71717a}
.server-card{position:relative;overflow:hidden;border-radius:16px;border:1px solid var(--line);
  background:rgba(24,24,27,.55);padding:20px;transition:border-color .2s}
.server-card:hover{border-color:rgba(16,185,129,.25)}
.server-card .bar{position:absolute;top:0;bottom:0;left:0;width:4px;
  background:linear-gradient(to bottom,#34d399,#f59e0b);opacity:.7;animation:pulse 3s ease-in-out infinite}
.server-card .s-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-left:8px}
.server-card .s-name{font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:#f4f4f5}
.server-card .s-state{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-hud);font-size:12px}
.server-card .s-state .st-dot{width:8px;height:8px;border-radius:9999px}
.s-online{color:#4ade80}.s-online .st-dot{background:#34d399;box-shadow:0 0 10px rgba(52,211,153,.6);animation:pulse 2.2s ease-in-out infinite}
.s-offline{color:#f87171}.s-offline .st-dot{background:#ef4444}
.s-loading{color:#a1a1aa}.s-loading .st-dot{background:#71717a}
.server-card .s-meta{padding-left:8px;margin-top:4px;font-size:.8rem;color:#a1a1aa}
.server-card .s-ip{padding-left:8px;margin-top:10px;display:block;font-family:var(--font-code);font-size:12px;color:rgba(52,211,153,.75)}
.server-card .s-extra{padding-left:8px;margin-top:8px;font-family:var(--font-hud);font-size:12px;color:#71717a;display:flex;gap:14px;flex-wrap:wrap}
.server-card .s-extra b{color:#e4e4e7;font-weight:600}
.server-note{padding-left:8px;margin-top:12px;font-family:var(--font-hud);font-size:11px;color:#52525b}

/* ─────────── 特色卡 / 指南卡 / FAQ ─────────── */
.grid-cards{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:768px){.grid-cards{grid-template-columns:repeat(3,1fr)}}
.grid-cards.two{grid-template-columns:1fr}
@media(min-width:768px){.grid-cards.two{grid-template-columns:repeat(2,1fr)}}
.feature-card{display:flex;align-items:flex-start;gap:16px;padding:24px;border-radius:20px;
  border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02);transition:border-color .2s,transform .2s}
.feature-card:hover{border-color:rgba(16,185,129,.2);transform:translateY(-2px)}
.feature-card .f-ico{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.feature-card .f-ico svg{width:20px;height:20px}
.feature-card h3{font-family:var(--font-display);font-size:.95rem;font-weight:600;color:#fff;margin-bottom:6px}
.feature-card p{font-size:.875rem;color:#a1a1aa;line-height:1.65}
/* 指南卡 */
.guide-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:18px;
  border:1px solid var(--line);background:rgba(24,24,27,.55);transition:border-color .2s,transform .2s}
.guide-card:hover{border-color:rgba(16,185,129,.3);transform:translateY(-3px)}
.guide-chip{align-self:flex-start;font-family:var(--font-hud);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:#a1a1aa;border:1px solid var(--line2);border-radius:9999px;padding:3px 10px}
.guide-emoji{font-size:26px;line-height:1}
.guide-card h3{font-family:var(--font-display);font-size:1.02rem;color:#fff;font-weight:700}
.guide-card p{font-size:.85rem;color:#a1a1aa;line-height:1.6;flex:1}
.guide-link{font-family:var(--font-hud);font-size:.8rem;color:#34d399;display:inline-flex;align-items:center;gap:6px}
.guide-card:hover .guide-link{color:#6ee7b7}
/* FAQ */
details.faq{border:1px solid var(--line);border-radius:14px;background:var(--panel);margin-bottom:12px;overflow:hidden}
details.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:16px 18px;
  font-family:var(--font-hud);color:#e4e4e7;font-size:.95rem}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::before{content:"▸";color:#34d399;transition:transform .2s;flex-shrink:0}
details.faq[open] summary::before{transform:rotate(90deg)}
details.faq .faq-body{padding:0 18px 18px 42px;color:#a1a1aa;font-size:.9rem;line-height:1.75}
details.faq .faq-body code{font-family:var(--font-code);background:rgba(255,255,255,.05);border:1px solid var(--line);
  border-radius:6px;padding:1px 7px;font-size:.82rem;color:#6ee7b7}
details.faq[open]{border-color:rgba(16,185,129,.25)}

/* ─────────── 页内小标题 / 信息行 ─────────── */
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:.9rem}
.kv dt{color:#71717a;font-family:var(--font-hud);white-space:nowrap}
.kv dd{color:#e4e4e7}
.panel{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:22px}

/* ─────────── 地图页 ─────────── */
.map-shell{position:relative;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#05070a}
.map-view{height:64vh;min-height:380px;overflow:hidden;position:relative;cursor:grab}
.map-view.dragging{cursor:grabbing}
.map-view img{position:absolute;left:0;top:0;max-width:none;transform-origin:0 0;user-select:none;-webkit-user-drag:none}
.map-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 14px;border-top:1px solid var(--line);
  background:rgba(9,9,11,.6);font-family:var(--font-hud);font-size:12px;color:#a1a1aa}
.map-toolbar button{background:rgba(255,255,255,.04);color:#e4e4e7;border:1px solid var(--line2);border-radius:8px;
  padding:6px 12px;cursor:pointer;font-family:var(--font-hud);font-size:12px}
.map-toolbar button:hover{border-color:rgba(16,185,129,.35);color:#d1fae5}
.map-crosshair{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to right,rgba(52,211,153,.0) 49.9%,rgba(52,211,153,.12) 50%,rgba(52,211,153,0) 50.1%),
             linear-gradient(to bottom,rgba(52,211,153,.0) 49.9%,rgba(52,211,153,.12) 50%,rgba(52,211,153,0) 50.1%)}
/* ── 地图实时点位（v3）── */
.map-stage{position:absolute;left:0;top:0;transform-origin:0 0}
.map-stage img{display:block;max-width:none;user-select:none;-webkit-user-drag:none}
.map-markers{position:absolute;inset:0;pointer-events:none}
.mk{position:absolute;width:12px;height:12px;border-radius:9999px;transform:translate(-50%,-50%);pointer-events:auto;cursor:pointer}
.mk::after{content:attr(data-n);position:absolute;left:16px;top:50%;transform:translateY(-50%);
  white-space:nowrap;font-family:var(--font-hud);font-size:11px;padding:2px 8px;border-radius:6px;
  background:rgba(9,9,11,.92);border:1px solid var(--line2);color:#e4e4e7;display:none}
.mk:hover::after{display:block;z-index:5}
.mk-event{background:#fbbf24;box-shadow:0 0 0 3px rgba(251,191,36,.18),0 0 14px rgba(251,191,36,.55);animation:mkPulse 2.2s ease-in-out infinite}
.mk-vehicle{background:#34d399;box-shadow:0 0 0 3px rgba(52,211,153,.18),0 0 14px rgba(52,211,153,.5)}
@keyframes mkPulse{0%,100%{box-shadow:0 0 0 3px rgba(251,191,36,.18),0 0 14px rgba(251,191,36,.55)}
  50%{box-shadow:0 0 0 7px rgba(251,191,36,.06),0 0 20px rgba(251,191,36,.35)}}
.map-toolbar button.on{border-color:rgba(52,211,153,.5);color:#a7f3d0;background:rgba(16,185,129,.12)}
.map-count{color:#71717a}
.map-count b{color:#e4e4e7;font-weight:600}
@media (prefers-reduced-motion:reduce){.mk-event{animation:none}}

/* ─────────── 页脚 ─────────── */
footer.site{position:relative;overflow:hidden;border-top:1px solid var(--line2);background:#0a0c0f;margin-top:0}
footer.site .f-bg{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 15% 20%,rgba(34,197,94,.08),transparent 32%),
             radial-gradient(circle at 85% 10%,rgba(245,158,11,.06),transparent 30%),
             linear-gradient(to bottom,rgba(10,12,15,.92),rgba(3,5,7,.98))}
footer.site .f-topline{position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(to right,transparent,rgba(52,211,153,.35),transparent)}
footer.site .f-scan{position:absolute;left:0;right:0;top:0;height:50%;opacity:.35;
  background-image:repeating-linear-gradient(to bottom,rgba(255,255,255,.04) 0,rgba(255,255,255,.04) 1px,transparent 2px,transparent 6px);
  animation:footerScan 12s linear infinite}
footer.site .f-glow1{position:absolute;left:-64px;top:32px;width:160px;height:160px;border-radius:9999px;background:rgba(180,83,9,.2);filter:blur(64px)}
footer.site .f-glow2{position:absolute;right:-56px;bottom:48px;width:176px;height:176px;border-radius:9999px;background:rgba(4,120,87,.2);filter:blur(64px)}
@keyframes footerScan{0%{transform:translateY(-30%)}100%{transform:translateY(45%)}}
.f-wrap{position:relative;z-index:10;max-width:1280px;margin:0 auto;padding:48px 16px}
.f-grid{display:grid;grid-template-columns:1fr;gap:32px;margin-bottom:40px}
@media(min-width:768px){.f-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1280px){.f-grid{grid-template-columns:repeat(4,1fr)}}
.f-panel{border-radius:16px;border:1px solid var(--line);background:rgba(0,0,0,.25);padding:20px;
  -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.f-brand-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.f-brand-bar{position:relative;width:6px;height:40px;flex-shrink:0}
.f-brand-bar::before{content:"";position:absolute;inset:0;border-radius:9999px;
  background:linear-gradient(to bottom,#6ee7b7,#10b981,#b45309);box-shadow:0 0 16px rgba(16,185,129,.4)}
.f-brand-bar::after{content:"";position:absolute;top:4px;bottom:4px;left:50%;width:1px;transform:translateX(-50%);background:rgba(255,255,255,.35)}
.f-panel h3.f-name{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:#f4f4f5}
.f-panel .f-desc{font-size:.875rem;color:#a1a1aa;line-height:1.7}
.f-cta{margin-top:20px}
.f-kook{display:inline-flex;align-items:center;gap:8px;border-radius:10px;border:1px solid rgba(51,153,255,.25);
  background:rgba(51,153,255,.15);padding:8px 16px;font-size:.875rem;color:#cfe3ff;transition:border-color .2s,background-color .2s}
.f-kook:hover{border-color:rgba(51,153,255,.45);background:rgba(51,153,255,.2)}
.f-kook svg{width:16px;height:16px;color:#7fb6ff}
.f-title{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:#e4e4e7;margin-bottom:16px;font-family:var(--font-hud)}
.f-title svg{width:20px;height:20px;color:#34d399}
.f-list{list-style:none;display:flex;flex-direction:column;gap:8px}
.f-list a{display:flex;align-items:center;gap:8px;border-radius:10px;padding:8px;font-size:.875rem;color:#a1a1aa;transition:color .2s,background-color .2s}
.f-list a:hover{color:#f4f4f5;background:rgba(255,255,255,.04)}
.f-list a svg{width:18px;height:18px;color:#71717a}
.f-list a:hover svg{color:#34d399}
.f-list a .dot-end{margin-left:auto;width:6px;height:6px;border-radius:9999px;background:#3f3f46}
.f-list a:hover .dot-end{background:#fcd34d}
.f-server{position:relative;overflow:hidden;border-radius:10px;border:1px solid var(--line);background:rgba(24,24,27,.55);padding:10px 12px;margin-bottom:10px}
.f-server:hover{border-color:rgba(16,185,129,.25)}
.f-server .bar{position:absolute;top:0;bottom:0;left:0;width:4px;background:linear-gradient(to bottom,#34d399,#b45309);opacity:.7;animation:pulse 3s ease-in-out infinite}
.f-server .n{padding-left:10px;font-size:.875rem;font-weight:600;color:#f4f4f5}
.f-server .m{padding-left:10px;font-size:.75rem;color:#a1a1aa}
.f-server code{display:block;padding-left:10px;margin-top:4px;font-family:var(--font-code);font-size:11px;color:rgba(52,211,153,.75)}
.f-note{font-size:11px;color:#52525b;line-height:1.5}
.f-bottom{position:relative;z-index:10;border-radius:12px;border:1px solid var(--line);background:rgba(0,0,0,.25);padding:14px 18px;
  display:flex;flex-direction:column;gap:12px}
@media(min-width:768px){.f-bottom{flex-direction:row;align-items:center;justify-content:space-between}}
.f-bottom .copy{font-size:.875rem;color:#a1a1aa}
.f-bottom .copy b{color:#6ee7b7;font-weight:600}
.f-signal{display:flex;align-items:center;gap:8px;color:#71717a;font-size:.8rem;font-family:var(--font-hud)}
.f-signal .d1{width:6px;height:6px;border-radius:9999px;background:#fbbf24;animation:footerFlicker 2.8s linear infinite}
.f-signal .d2{width:6px;height:6px;border-radius:9999px;background:#34d399;animation:footerPulse 2.2s ease-in-out infinite}
@keyframes footerFlicker{0%,14%,16%,60%,62%,100%{opacity:1}15%,61%{opacity:.2}}
@keyframes footerPulse{0%,100%{opacity:1;box-shadow:0 0 0 rgba(52,211,153,.25)}50%{opacity:.4;box-shadow:0 0 12px rgba(52,211,153,.45)}}
.f-bottom .f-link{display:inline-flex;align-items:center;gap:8px;color:#a1a1aa;font-size:.85rem}
.f-bottom .f-link:hover{color:#6ee7b7}
.f-legal{max-width:1280px;margin:0 auto;padding:0 16px 36px;position:relative;z-index:10;
  color:#3f3f46;font-size:12px;line-height:1.8;text-align:center}
@media (prefers-reduced-motion:reduce){
  footer.site .f-scan,footer.site .f-server .bar,.f-signal .d1,.f-signal .d2{animation:none!important}
}

/* ─────────── Toast ─────────── */
#toast{position:fixed;left:50%;bottom:32px;transform:translateX(-50%);z-index:100;display:none;
  padding:12px 22px;border-radius:12px;border:1px solid rgba(16,185,129,.3);background:rgba(9,9,11,.92);
  color:#d1fae5;font-family:var(--font-hud);font-size:.85rem;backdrop-filter:blur(8px)}
#toast.show{display:block;animation:toastIn .35s cubic-bezier(.16,1,.3,1)}
@keyframes toastIn{from{opacity:0;transform:translate(-50%,16px) scale(.95)}to{opacity:1;transform:translate(-50%,0) scale(1)}}

/* 页头（内页 hero） */
.page-hero{padding:128px 16px 24px;text-align:center;position:relative;z-index:10}
.page-hero h1{font-family:var(--font-display);font-size:clamp(2rem,6vw,3.4rem);font-weight:800;color:#fff;letter-spacing:-.02em;margin-bottom:12px}
.page-hero .sub{color:#a1a1aa;font-family:var(--font-hud);font-size:.95rem;max-width:44rem;margin:0 auto}
.page-hero .kicker{font-family:var(--font-hud);font-size:11px;letter-spacing:.22em;color:rgba(74,222,128,.75);text-transform:uppercase;margin-bottom:14px}
