@font-face{
  font-family:'Orbitron';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('../fonts/orbitron.woff2') format('woff2');
}

:root{
  /* B2 赛博二次元：深紫墨底 + 荧光粉主色 + 赛博青辅色 + 电子紫点缀 */
  --bg:#0B0616;
  --bg-2:#140B26;
  --bg-3:#221441;
  --card:#1A1030;
  --card-2:#20133A;
  --line:#3B2568;
  --line-2:#2A1A4C;

  --pink:#FF3D9A;
  --pink-lt:#FF7AB8;
  --pink-dk:#D41E77;
  --pink-wash:rgba(255,61,154,.14);

  --cyan:#4FE3E8;
  --cyan-dk:#17C4CE;
  --violet:#A98BFF;
  --violet-dk:#6B48C8;

  --ink:#F2ECFF;
  --ink-2:#B4A8D6;
  --ink-3:#8078A6;

  --foot:#07030E;
  --star:#FF6FB4;

  --wrap:1160px;
  --r:14px;
}

*{box-sizing:border-box;}

html{-webkit-text-size-adjust:100%;}

body{
  margin:0;
  background:var(--bg);
  color:var(--ink-2);
  font:400 16px/1.78 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
}

img{max-width:100%;height:auto;display:block;border:0;}
a{color:var(--cyan);text-decoration:none;}
a:hover{color:var(--pink-lt);}
h1,h2,h3,h4{margin:0;color:var(--ink);line-height:1.3;}
p{margin:0 0 16px;}
ul,ol{margin:0 0 16px;padding-left:22px;}
li{margin:0 0 8px;}
strong{color:var(--ink);}
code,.mono{
  font-family:'Orbitron',ui-monospace,Consolas,monospace;
  word-break:break-all;
  overflow-wrap:anywhere;
}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px;}

/* ── 导航 ───────────────────────────────────── */
.nav{
  position:sticky;top:0;z-index:40;
  background:rgba(11,6,22,.92);
  border-bottom:1px solid var(--line-2);
  backdrop-filter:blur(10px);
}
.nav__inner{max-width:var(--wrap);margin:0 auto;padding:0 24px;height:70px;display:flex;align-items:center;gap:18px;}
.brand{display:flex;align-items:center;gap:10px;flex:0 0 auto;}
.brand img{width:38px;height:38px;border-radius:10px;}
.brand span{font-weight:700;font-size:19px;color:var(--ink);letter-spacing:.2px;}
.nav__links{display:flex;align-items:center;gap:6px;margin-left:auto;}
.nav__links a{
  color:var(--ink-2);font-size:15px;padding:8px 13px;border-radius:8px;
  border:1px solid transparent;white-space:nowrap;
}
.nav__links a:hover,.nav__links a.on{
  color:var(--cyan);border-color:var(--line);background:rgba(79,227,232,.07);
}
/* 导航里的下载按钮（.nav__links a 的优先级更高，必须显式覆盖） */
.nav__links a.btn{
  color:#fff;border-radius:0;padding:11px 20px;border-color:transparent;
  background:linear-gradient(180deg,#FF4FA3,#E8167C);
  box-shadow:4px 4px 0 var(--cyan);
}
.nav__links a.btn:hover{
  color:#fff;border-color:transparent;
  background:linear-gradient(180deg,#FF4FA3,#E8167C);
}

/* ── 按钮：赛博硬阴影贴纸（直角 + 青实心偏移阴影）── */
.btn{
  display:inline-block;padding:14px 30px;border:0;border-radius:0;
  font-size:16px;font-weight:700;letter-spacing:.5px;
  background:linear-gradient(180deg,#FF4FA3,#E8167C);
  color:#fff;cursor:pointer;
  box-shadow:6px 6px 0 var(--cyan);
  transition:transform .12s ease,box-shadow .12s ease;
}
.btn:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 var(--cyan);color:#fff;}
.btn--sm{padding:10px 20px;font-size:15px;box-shadow:4px 4px 0 var(--cyan);}
.btn--ghost{
  background:transparent;color:var(--cyan);
  box-shadow:inset 0 0 0 2px var(--cyan),4px 4px 0 rgba(169,139,255,.35);
}
.btn--ghost:hover{background:rgba(79,227,232,.1);color:var(--cyan);}

/* ── Hero ───────────────────────────────────── */
.hero{
  position:relative;
  background:
    radial-gradient(720px 420px at 12% 4%,rgba(255,61,154,.20),transparent 62%),
    radial-gradient(620px 380px at 88% 12%,rgba(79,227,232,.16),transparent 64%),
    radial-gradient(760px 500px at 50% 108%,rgba(169,139,255,.16),transparent 66%),
    linear-gradient(158deg,#0B0616,#150C28 44%,#1E1040);
  border-bottom:1px solid var(--line-2);
}
.hero::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(115deg,rgba(169,139,255,.075) 0 1px,transparent 1px 14px);
  -webkit-mask-image:linear-gradient(180deg,#000 0,#000 58%,transparent 94%);
  mask-image:linear-gradient(180deg,#000 0,#000 58%,transparent 94%);
}
/* ⚠️ .wrap 与 .hero__inner 是同一个元素：只能写 padding-top / padding-bottom 两条，
   写简写会把 .wrap 的左右 24px 一并清零，内容左边缘会比正文少 24px。 */
.hero__inner{
  position:relative;z-index:2;
  max-width:var(--wrap);margin:0 auto;padding-left:24px;padding-right:24px;
  padding-top:74px;padding-bottom:82px;
  display:grid;grid-template-columns:1fr 360px;gap:52px;align-items:center;
}
.kicker{
  display:inline-block;font-size:13px;letter-spacing:2px;color:var(--cyan);
  border:1px solid var(--line);border-radius:999px;padding:5px 14px;margin-bottom:20px;
  background:rgba(79,227,232,.06);
}
.hero h1{font-size:40px;letter-spacing:.5px;margin-bottom:16px;}
.hero h1 em{font-style:normal;color:var(--pink);}
.hero__msg p{font-size:16.5px;color:var(--ink-2);max-width:640px;}
.hero__act{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:26px 0 22px;}
.hero__meta{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0;}
.hero__meta li{
  font-size:13.5px;color:var(--ink-3);border:1px dashed var(--line);
  border-radius:8px;padding:5px 12px;margin:0;
}
.hero__meta b{color:var(--cyan);font-weight:700;}

/* 机位 */
.phone{
  width:100%;max-width:340px;margin:0 auto;
  border-radius:30px;padding:12px;
  background:linear-gradient(160deg,#2A1A4C,#160D2E);
  box-shadow:0 22px 60px rgba(255,61,154,.20),0 0 0 1px var(--line),
             0 0 60px rgba(79,227,232,.10);
}
.phone img{width:100%;height:auto;border-radius:20px;}
.phone__cap{
  margin-top:12px;text-align:center;font-size:13px;color:var(--ink-3);letter-spacing:.4px;
}

/* ── 区块 ───────────────────────────────────── */
.sec{padding:76px 0;}
.sec--alt{background:var(--bg-2);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);}
.sec__title{font-size:27px;display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.sec__title .cat{flex:0 0 auto;width:26px;height:26px;color:var(--pink);}
.sec__title .cat .e1{fill:var(--cyan);}
.sec__title .cat .e2{fill:var(--pink);}
.sec__rule{width:64px;height:3px;margin:0 0 26px;
  background:linear-gradient(90deg,var(--pink),rgba(169,139,255,0));}
.sub{font-size:15.5px;color:var(--ink-3);margin:-10px 0 26px;}

/* ── 追更日历 ───────────────────────────────── */
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;}
.cal__day{
  background:var(--card);border:1px solid var(--line-2);border-radius:var(--r);
  padding:0 0 14px;overflow:hidden;display:flex;flex-direction:column;
}
.cal__head{
  padding:12px 14px 10px;background:linear-gradient(160deg,rgba(255,61,154,.18),rgba(169,139,255,.10));
  border-bottom:1px solid var(--line-2);
}
.cal__day--hot .cal__head{background:linear-gradient(160deg,rgba(79,227,232,.20),rgba(255,61,154,.14));}
.cal__dow{display:block;font-size:17px;font-weight:700;color:var(--ink);}
.cal__time{display:block;font-size:12.5px;color:var(--cyan);margin-top:3px;letter-spacing:.3px;}
.cal__list{list-style:none;padding:12px 14px 0;margin:0;flex:1;}
.cal__list li{margin:0 0 9px;font-size:13.5px;color:var(--ink-2);display:flex;gap:8px;}
.cal__list li::before{content:'';flex:0 0 auto;width:6px;height:6px;margin-top:7px;background:var(--pink);}
.cal__day--hot .cal__list li::before{background:var(--cyan);}
.cal__tag{
  display:block;margin:10px 14px 0;font-size:12px;color:var(--violet);
  border-top:1px dashed var(--line);padding-top:10px;
}
.cal__note{margin-top:22px;font-size:14.5px;color:var(--ink-3);}
.cal--updates-only .cal__day[data-count="0"]{display:none;}
.cal__filter{margin-top:18px;}

/* ── 更新时段说明 ───────────────────────────── */
/* ⚠️ 这里必须用 auto-fit + minmax，不能写死 repeat(3,1fr)：写死时窄屏每列只分到约 97px，
   而 .slot .t 里的 "12:00" 走 Orbitron、单行最小宽度约 114px，会顶出横向溢出
   （实测 390×844 下 documentElement.scrollWidth = 392 > 375，闸门稳定 FAIL）。 */
.slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;}
.slot{
  background:var(--card);border:1px solid var(--line-2);border-left:3px solid var(--pink);
  border-radius:0 var(--r) var(--r) 0;padding:20px 22px 6px;
}
.slot--cy{border-left-color:var(--cyan);}
.slot--vi{border-left-color:var(--violet);}
.slot h3{font-size:17px;margin-bottom:8px;}
.slot .t{font-family:'Orbitron',sans-serif;font-size:20px;color:var(--pink);display:block;margin-bottom:8px;}
.slot--cy .t{color:var(--cyan);}
.slot--vi .t{color:var(--violet);}
.slot p{font-size:14.5px;}

/* ── 通用卡片栅格 ───────────────────────────── */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.cards--4{grid-template-columns:repeat(4,1fr);gap:16px;}
.card{
  background:var(--card);border:1px solid var(--line-2);border-radius:var(--r);
  padding:22px 22px 8px;
}
.card h3{font-size:17.5px;margin-bottom:10px;}
.card p{font-size:14.5px;color:var(--ink-2);}
.card__tag{font-size:12px;color:var(--cyan);letter-spacing:1.2px;display:block;margin-bottom:10px;}

/* ── 表格 ───────────────────────────────────── */
.table-scroll{overflow-x:auto;border:1px solid var(--line-2);border-radius:var(--r);background:var(--card);}
table{border-collapse:collapse;width:100%;min-width:520px;}
th,td{padding:13px 16px;text-align:left;font-size:14.5px;border-bottom:1px solid var(--line-2);vertical-align:top;}
th{background:rgba(169,139,255,.10);color:var(--ink);font-weight:700;white-space:nowrap;}
tbody tr:last-child td{border-bottom:0;}
td .yes{color:var(--cyan);font-weight:700;}
td .no{color:var(--pink);font-weight:700;}

/* ── 预览栅格 ───────────────────────────────── */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.gallery figure{margin:0;}
.gallery .phone--cell{max-width:none;padding:8px;border-radius:22px;}
.gallery .phone--cell img{border-radius:15px;}
.gallery figcaption{margin-top:10px;font-size:13px;color:var(--ink-3);text-align:center;}

/* ── FAQ ────────────────────────────────────── */
.faq{border-top:1px solid var(--line-2);}
.faq__item{border-bottom:1px solid var(--line-2);padding:22px 0 6px;}
.faq__item h3{font-size:17px;margin-bottom:10px;display:flex;gap:10px;}
.faq__item h3::before{
  content:'Q';flex:0 0 auto;font-family:'Orbitron',sans-serif;color:var(--pink);
  font-size:15px;line-height:1.5;
}
.faq__item p{font-size:15px;}

/* ── prose（正文列必须嵌在 .wrap 里，否则 max-width 会顶掉 .wrap 的 1160px）── */
.prose{max-width:860px;}
.prose h2{font-size:24px;margin:38px 0 14px;}
.prose h3{font-size:18px;margin:26px 0 10px;}
.prose ul,.prose ol{margin-bottom:18px;}
.prose li{font-size:15.5px;}

/* ── 步骤 ───────────────────────────────────── */
.steps{list-style:none;padding:0;counter-reset:s;margin:0 0 20px;}
.steps li{
  position:relative;padding:0 0 20px 54px;counter-increment:s;
  border-left:2px solid var(--line);margin:0 0 0 18px;
}
.steps li:last-child{border-left-color:transparent;padding-bottom:0;}
.steps li::before{
  content:counter(s,decimal-leading-zero);position:absolute;left:-19px;top:-2px;
  width:36px;height:36px;border-radius:50%;
  background:var(--bg-3);border:2px solid var(--pink);color:var(--ink);
  font:700 13px/32px 'Orbitron',sans-serif;text-align:center;
}
.steps b{display:block;color:var(--ink);font-size:16.5px;margin-bottom:6px;}
.steps span{font-size:15px;}

/* ── 提示条 ─────────────────────────────────── */
.note{
  border-left:3px solid var(--cyan);background:rgba(79,227,232,.07);
  border-radius:0 var(--r) var(--r) 0;padding:16px 20px;margin:0 0 22px;
}
.note p{margin:0;font-size:15px;color:var(--ink-2);}
.note b{color:var(--ink);}

/* ── 内页横幅（纯文字，无主视觉图）──────────── */
.page-hero{
  position:relative;
  background:
    radial-gradient(600px 320px at 14% 6%,rgba(255,61,154,.18),transparent 62%),
    radial-gradient(560px 300px at 86% 14%,rgba(79,227,232,.14),transparent 64%),
    linear-gradient(158deg,#0B0616,#170E2C 48%,#1E1040);
  border-bottom:1px solid var(--line-2);
}
.page-hero__inner{
  position:relative;z-index:2;
  max-width:var(--wrap);margin:0 auto;padding-left:24px;padding-right:24px;
  padding-top:56px;padding-bottom:56px;
}
.page-hero h1{font-size:32px;margin-bottom:14px;}
.page-hero p{font-size:16px;max-width:760px;margin:0;color:var(--ink-2);}
.crumb{font-size:13px;color:var(--ink-3);margin-bottom:16px;}
.crumb a{color:var(--ink-3);}
.crumb a:hover{color:var(--cyan);}

/* ── CTA ────────────────────────────────────── */
.cta{
  background:
    radial-gradient(680px 360px at 50% 0,rgba(255,61,154,.20),transparent 66%),
    linear-gradient(160deg,#150C28,#1E1040);
  border-top:1px solid var(--line);
}
.cta__inner{
  max-width:var(--wrap);margin:0 auto;padding-left:24px;padding-right:24px;
  padding-top:64px;padding-bottom:64px;text-align:center;
}
.cta__inner h2{font-size:26px;margin-bottom:26px;}

/* ── 页脚 ───────────────────────────────────── */
.footer{background:var(--foot);border-top:1px solid var(--line-2);padding:44px 0 34px;}
.footer__inner{max-width:var(--wrap);margin:0 auto;padding:0 24px;}
.footer__top{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;margin-bottom:22px;}
.footer__top .brand span{font-size:17px;}
.footer__nav{display:flex;flex-wrap:wrap;gap:6px 20px;margin-left:auto;}
.footer__nav a{font-size:14px;color:var(--ink-3);}
.footer p{font-size:13.5px;color:var(--ink-3);margin:0 0 10px;}
.footer .disc{color:#7C74A0;}

/* ── 响应式 ─────────────────────────────────── */
@media (max-width:980px){
  .hero__inner{grid-template-columns:1fr;gap:38px;padding-top:54px;padding-bottom:58px;}
  .hero h1{font-size:33px;}
  .phone{max-width:300px;}
  .cal{grid-template-columns:repeat(2,1fr);}
  .cards,.cards--4{grid-template-columns:repeat(2,1fr);}
  .gallery{grid-template-columns:repeat(2,1fr);}
  .sec{padding:58px 0;}
  .sec__title{font-size:23px;}
  .page-hero h1{font-size:27px;}
}

@media (max-width:620px){
  /* 品牌词 + 三个内页链接 + CTA 在窄屏会逐字折行：让导航换行、链接平分第二行 */
  .nav__inner{height:auto;flex-wrap:wrap;padding-top:10px;padding-bottom:10px;gap:10px;}
  .nav__links{width:100%;margin-left:0;justify-content:space-between;}
  .nav__links a{padding:7px 8px;font-size:14px;}
  .brand span{font-size:17px;}
  .hero h1{font-size:27px;}
  .hero__act{gap:12px;}
  .btn{padding:12px 22px;font-size:15px;}
  .cal{grid-template-columns:1fr;}
  .cards,.cards--4,.gallery{grid-template-columns:1fr;}
  .gallery .phone--cell{max-width:280px;margin:0 auto;}
  .sec{padding:46px 0;}
  .sec__title{font-size:21px;}
  .prose h2{font-size:20px;}
  .page-hero h1{font-size:23px;}
  .cta__inner h2{font-size:21px;}
  .footer__nav{margin-left:0;}
}
