/* 平行世界AI 双生世界线 · 深夜蓝黑 × 宝石蓝 × 暖橙 */
*{margin:0;padding:0;box-sizing:border-box}
img{max-width:100%;height:auto;display:block}
:root{
  --bg:#0a0e1c;
  --bg2:#101731;
  --bg3:#16204a;
  --ink:#f5f7ff;
  --ink-dim:#aab4d8;
  --brand:#3d6bff;
  --brand-l:#7a9bff;
  --warm:#ff8a3d;
  --warm-l:#ffb066;
  --line:rgba(122,155,255,.3);
  --line-w:rgba(255,176,102,.38);
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;line-height:1.75;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.wrap{max-width:1140px;margin:0 auto;padding:0 22px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ============ 顶栏 ============ */
.hd{position:sticky;top:0;z-index:50;background:rgba(10,14,28,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hd-in{display:flex;align-items:center;gap:18px;height:66px}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}
.brand img{border-radius:10px}
.brand-t{display:flex;flex-direction:column;line-height:1.2}
.brand-t strong{font-size:19px;letter-spacing:.5px}
.brand-t small{font-size:11px;color:var(--ink-dim)}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{padding:8px 12px;font-size:14px;color:var(--ink-dim);border-radius:9px;transition:color .2s}
.nav a:hover{color:var(--ink)}
.nav a.on{color:var(--warm-l)}
.nav a.on::after{content:"";display:block;height:2px;border-radius:2px;background:var(--warm);margin-top:2px}
.hd-r{display:flex;align-items:center;gap:12px;margin-left:auto}
.nav + .hd-r{margin-left:0}
.burger{display:none;width:40px;height:40px;background:none;border:1px solid var(--line);border-radius:10px;cursor:pointer}
.burger span{display:block;width:18px;height:2px;background:var(--ink);margin:4px auto;border-radius:2px;transition:.25s}
.burger.on span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger.on span:nth-child(2){opacity:0}
.burger.on span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ============ 按钮 ============ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;border-radius:12px;cursor:pointer;transition:transform .18s,background .18s,border-color .18s;border:1px solid transparent;font-size:15px;padding:10px 20px}
.btn:active{transform:translateY(1px)}
.btn-pri{background:var(--brand);color:#fff;border-color:var(--brand)}
.btn-pri:hover{background:var(--brand-l)}
.btn-warm{background:var(--warm);color:#23130a;border-color:var(--warm)}
.btn-warm:hover{background:var(--warm-l)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--warm);color:var(--warm-l)}
.btn-lg{padding:14px 28px;font-size:16px;border-radius:14px}
.hd-cta{padding:9px 18px;font-size:14px}

/* ============ 英雄区：世界线分岔 ============ */
.hero{position:relative;padding:88px 0 100px;background:
  radial-gradient(700px 430px at 88% 12%,rgba(61,107,255,.22),transparent 65%),
  radial-gradient(520px 380px at 4% 88%,rgba(255,138,61,.13),transparent 60%),
  linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%);overflow:hidden}
.hero-grid{position:absolute;inset:0;pointer-events:none;opacity:.5;background:
  repeating-linear-gradient(90deg,rgba(122,155,255,.07) 0 1px,transparent 1px 72px),
  repeating-linear-gradient(0deg,rgba(122,155,255,.07) 0 1px,transparent 1px 72px)}
.hero-in{display:grid;grid-template-columns:1.12fr .88fr;gap:56px;align-items:center;position:relative}
.kick{display:flex;align-items:center;gap:9px;font-size:13px;letter-spacing:2.5px;color:var(--warm-l);font-weight:700;margin-bottom:14px}
.kick-dot{width:10px;height:10px;border-radius:50%;background:var(--warm);box-shadow:0 0 0 4px rgba(255,138,61,.25);animation:blink 1.6s ease-in-out infinite}
@keyframes blink{50%{box-shadow:0 0 0 8px rgba(255,138,61,.08)}}
.hero-l h1{font-size:56px;line-height:1.05;letter-spacing:1px;background:linear-gradient(115deg,#fff 25%,var(--brand-l) 62%,var(--warm-l));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-slogan{font-size:24px;font-weight:700;margin:14px 0 18px}
.hero-slogan em{font-style:normal;color:var(--warm)}
.lead{color:var(--ink-dim);font-size:15.5px;max-width:530px}
.hero-acts{display:flex;gap:14px;margin:28px 0 24px;flex-wrap:wrap}
.hero-points{list-style:none;display:flex;gap:12px;flex-wrap:wrap}
.hero-points li{border:1px solid var(--line);border-radius:11px;padding:8px 16px;font-size:13px;color:var(--ink-dim);background:rgba(61,107,255,.07);border-left:3px solid var(--brand)}
.hero-points li:nth-child(2){border-left-color:var(--warm)}
.hero-points li:nth-child(3){border-left-color:var(--brand-l)}
.hero-points b{display:inline;font-size:20px;color:var(--warm-l);margin-right:7px;line-height:1.2}
.hero-r{position:relative;display:flex;justify-content:center;min-height:480px;align-items:center}
.fork{position:absolute;inset:0;pointer-events:none}
.fk-line{position:absolute;left:50%;bottom:6%;width:2px;height:78%;transform-origin:bottom center;background:linear-gradient(0deg,var(--brand) 0%,rgba(122,155,255,.05) 100%)}
.fk-a{transform:rotate(-30deg)}
.fk-b{transform:rotate(0deg);background:linear-gradient(0deg,var(--warm) 0%,rgba(255,176,102,.05) 100%)}
.fk-c{transform:rotate(27deg)}
.fk-dot{position:absolute;left:calc(50% - 6px);bottom:calc(6% - 6px);width:12px;height:12px;border-radius:50%;background:var(--warm);box-shadow:0 0 0 6px rgba(255,138,61,.2)}
.hero-shot{position:relative;z-index:2;width:252px;border:2px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:14px 14px 0 rgba(255,138,61,.3);background:var(--bg3)}
.wl-tag{position:absolute;z-index:3;background:var(--bg3);border:1px solid var(--line);border-radius:13px;padding:9px 14px;line-height:1.35}
.wl-tag b{display:block;color:var(--brand-l);font-size:16px}
.wl-tag span{font-size:12px;color:var(--ink-dim)}
.wt-a{top:52px;left:-8px;transform:rotate(-5deg);border-left:3px solid var(--brand)}
.wt-b{bottom:56px;right:-8px;transform:rotate(4deg);border-left:3px solid var(--warm)}
.wt-b b{color:var(--warm-l)}

/* ============ 数据带 ============ */
.stats{padding:0 0 20px;margin-top:-42px;position:relative;z-index:4}
.st-in{display:grid;grid-template-columns:repeat(4,1fr);background:var(--bg3);border:1px solid var(--line);border-radius:18px;box-shadow:8px 8px 0 rgba(61,107,255,.35);overflow:hidden}
.st{padding:24px 16px;text-align:center;border-left:1px dashed var(--line)}
.st:first-child{border-left:none}
.st b{display:block;font-size:32px;color:var(--warm-l);line-height:1.2;font-variant-numeric:tabular-nums}
.st span{font-size:13px;color:var(--ink-dim)}

/* ============ 通用区块头 ============ */
section{padding:76px 0}
.sec-head{max-width:660px;margin-bottom:38px}
.sec-kick{font-size:13px;letter-spacing:3px;font-weight:800;color:var(--warm-l);margin-bottom:10px}
.sec-head h2{font-size:32px;line-height:1.3}
.sec-sub{color:var(--ink-dim);margin-top:10px;font-size:15px}

/* ============ 频道矩阵 ============ */
.channels{background:var(--bg)}
.ch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ch-card{background:var(--bg2);border:1px solid var(--line);border-radius:16px;padding:24px 22px;position:relative;border-top:3px solid var(--brand)}
.ch-card:nth-child(2){border-top-color:var(--warm)}
.ch-card:nth-child(3){border-top-color:var(--brand-l)}
.ch-card:nth-child(4){border-top-color:var(--warm-l)}
.ch-card:nth-child(5){border-top-color:var(--brand)}
.ch-no{position:absolute;top:16px;right:18px;font-size:26px;font-weight:800;color:transparent;-webkit-text-stroke:1px var(--line);letter-spacing:1px}
.ch-card h3{font-size:19px;margin-bottom:10px}
.ch-card p{font-size:13.5px;color:var(--ink-dim);min-height:96px}
.ch-tag{display:inline-block;font-size:12px;color:var(--warm-l);border:1px solid var(--line-w);border-radius:999px;padding:3px 12px;margin-top:14px}
.ch-card:nth-child(odd) .ch-tag{color:var(--brand-l);border-color:var(--line)}
.ch-side{background:linear-gradient(150deg,var(--bg3),var(--bg2));border:1px dashed var(--line-w);border-radius:16px;padding:24px 22px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px}
.ch-side h3{font-size:19px;color:var(--warm-l)}
.ch-side p{font-size:13.5px;color:var(--ink-dim)}
.ch-side .btn{margin-top:6px}

/* ============ 双界对照 ============ */
.dual{background:linear-gradient(180deg,var(--bg2) 0%,var(--bg) 100%);border-top:1px solid var(--line)}
.du-panel{display:grid;grid-template-columns:1fr 46px 1fr;background:var(--bg3);border:1px solid var(--line);border-radius:20px;box-shadow:-10px 10px 0 rgba(61,107,255,.22);overflow:hidden}
.du-col{padding:34px 32px}
.du-label{display:inline-block;font-size:14px;font-weight:800;letter-spacing:2px;padding:5px 16px;border-radius:999px;margin-bottom:20px}
.du-real .du-label{color:var(--ink-dim);border:1px solid var(--line)}
.du-para .du-label{color:#23130a;background:var(--warm)}
.du-col ul{list-style:none}
.du-col li{font-size:14.5px;padding:11px 0 11px 22px;position:relative;color:var(--ink-dim)}
.du-col li + li{border-top:1px dashed var(--line)}
.du-col li::before{content:"";position:absolute;left:2px;top:19px;width:8px;height:8px;border-radius:50%}
.du-real li::before{background:var(--line)}
.du-para li{color:var(--ink)}
.du-para li::before{background:var(--warm)}
.du-seam{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;border-left:2px dashed var(--line-w);background:rgba(255,138,61,.05)}
.du-seam i{width:10px;height:10px;border-radius:50%;border:2px solid var(--warm);background:var(--bg3)}

/* ============ 剧情画面 ============ */
.story{background:var(--bg)}
.sy-in{display:grid;grid-template-columns:250px 1fr 250px;gap:40px;align-items:center}
.sy-shot{position:relative;border:2px solid var(--line);border-radius:20px;overflow:hidden;background:var(--bg3)}
.sy-shot::after{content:"";position:absolute;inset:0;box-shadow:inset 0 -70px 50px -30px rgba(10,14,28,.9);pointer-events:none}
.sy-a{transform:rotate(-3deg)}
.sy-b{transform:rotate(3deg)}
.sy-a{background:var(--brand)}
.sy-b{background:var(--warm)}
.sy-shot img{position:relative;z-index:0}
.sy-shot figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:12px 16px;font-size:12.5px;color:var(--ink);letter-spacing:1px}
.sy-quote{padding:0 8px}
.sy-line{font-size:26px;font-weight:800;line-height:1.5;background:linear-gradient(110deg,var(--brand-l),var(--warm-l));-webkit-background-clip:text;background-clip:text;color:transparent;border-left:4px solid var(--warm);padding-left:18px}
.sy-desc{margin:18px 0;color:var(--ink-dim);font-size:15px}
.sy-points{list-style:none;display:flex;flex-direction:column;gap:10px}
.sy-points li{font-size:14px;padding-left:24px;position:relative;color:var(--ink)}
.sy-points li::before{content:"◆";position:absolute;left:0;color:var(--brand-l);font-size:12px;top:2px}
.sy-points li:nth-child(2)::before{color:var(--warm)}

/* ============ 角色图鉴 ============ */
.roster{background:linear-gradient(135deg,#0d1230 0%,#131a3f 55%,#1a1436 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ro-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ro-card{background:rgba(10,14,28,.55);border:1px solid var(--line);border-radius:16px;padding:22px 20px;border-top:3px solid var(--brand)}
.ro-card:nth-child(2){border-top-color:var(--warm)}
.ro-card:nth-child(3){border-top-color:var(--warm-l)}
.ro-card:nth-child(4){border-top-color:var(--brand-l)}
.ro-head b{display:block;font-size:20px;letter-spacing:1px}
.ro-head span{font-size:12px;color:var(--warm-l);letter-spacing:1px}
.ro-card:nth-child(odd) .ro-head span{color:var(--brand-l)}
.ro-card p{font-size:13.5px;color:var(--ink-dim);margin:14px 0;min-height:118px}
.ro-meta{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--ink-dim);border-top:1px dashed var(--line);padding-top:12px}
.ro-meta span:last-child{color:var(--warm-l)}

/* ============ 新手上路 ============ */
.guide{background:var(--bg)}
.gu-in{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.gu-step{display:flex;flex-direction:column;gap:16px}
.gu-shot{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line)}
.gu-step:nth-child(1) .gu-shot{box-shadow:9px 9px 0 rgba(61,107,255,.4)}
.gu-step:nth-child(2) .gu-shot{box-shadow:10px 7px 0 rgba(255,138,61,.38)}
.gu-step:nth-child(3) .gu-shot{box-shadow:7px 10px 0 rgba(122,155,255,.4)}
.gu-text b{font-size:17px;color:var(--warm-l);display:block;margin-bottom:6px}
.gu-step:nth-child(2) .gu-text b{color:var(--brand-l)}
.gu-text p{font-size:13.5px;color:var(--ink-dim)}

/* ============ 常见疑问：世界线档案 ============ */
.faq{background:linear-gradient(180deg,var(--bg2) 0%,var(--bg) 100%);border-top:1px solid var(--line)}
.fq-panel{background:var(--bg3);border:1px solid var(--line);border-radius:20px;box-shadow:8px 12px 0 rgba(255,138,61,.2);overflow:hidden}
.acc-item + .acc-item{border-top:1px solid var(--line)}
.acc-q{width:100%;display:flex;align-items:center;gap:16px;background:none;border:0;color:var(--ink);font-size:16.5px;font-weight:700;text-align:left;padding:20px 24px;cursor:pointer;font-family:inherit}
.fq-no{flex-shrink:0;font-size:11.5px;letter-spacing:1.5px;color:var(--warm-l);border:1px solid var(--line-w);border-radius:7px;padding:3px 9px;font-weight:800}
.acc-item:nth-child(odd) .fq-no{color:var(--brand-l);border-color:var(--line)}
.acc-ic{position:relative;margin-left:auto;width:16px;height:16px;flex-shrink:0}
.acc-ic::before,.acc-ic::after{content:"";position:absolute;background:var(--warm-l);border-radius:2px;transition:transform .25s}
.acc-ic::before{left:0;top:7px;width:16px;height:2px}
.acc-ic::after{left:7px;top:0;width:2px;height:16px}
.acc-item.on .acc-ic::after{transform:rotate(90deg) scaleY(0)}
.acc-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.acc-item.on .acc-a{max-height:320px}
.acc-a p{padding:0 24px 22px 24px;color:var(--ink-dim);font-size:14.5px}

/* ============ 世界回声 ============ */
.notes{background:var(--bg)}
.nt-line{position:relative;max-width:820px;margin-left:8px;padding-left:34px;border-left:2px dashed var(--line-w)}
.nt-item{position:relative;padding:18px 0}
.nt-node{position:absolute;left:-44px;top:30px;width:14px;height:14px;border-radius:50%;background:var(--bg);border:3px solid var(--warm)}
.nt-item:nth-child(even) .nt-node{border-color:var(--brand)}
.nt-body{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:18px 22px;border-left:3px solid var(--warm)}
.nt-item:nth-child(even) .nt-body{border-left-color:var(--brand)}
.nt-text{font-size:14.5px;color:var(--ink)}
.nt-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;border-top:1px dashed var(--line);padding-top:10px}
.nt-meta b{font-size:13px;color:var(--warm-l)}
.nt-item:nth-child(even) .nt-meta b{color:var(--brand-l)}
.nt-meta time{font-size:12px;color:var(--ink-dim);font-variant-numeric:tabular-nums}

/* ============ 下载：世界线闸门 ============ */
.download{background:linear-gradient(180deg,var(--bg) 0%,#0c1030 100%);border-top:1px solid var(--line)}
.dl-gate{position:relative;border:1px solid var(--line-w);border-radius:24px;overflow:hidden;box-shadow:0 20px 50px rgba(61,107,255,.3);background:var(--bg3)}
.dl-door{position:absolute;top:0;bottom:0;width:16%;pointer-events:none}
.dl-l{left:0;background:linear-gradient(90deg,rgba(61,107,255,.4),rgba(61,107,255,0));border-right:1px solid var(--line)}
.dl-r{right:0;background:linear-gradient(-90deg,rgba(255,138,61,.38),rgba(255,138,61,0));border-left:1px solid var(--line-w)}
.dl-core{position:relative;z-index:2;text-align:center;padding:64px 30px}
.dl-core h2{font-size:34px;line-height:1.3}
.dl-sub{color:var(--ink-dim);margin:14px auto 26px;max-width:520px;font-size:15px}
.dl-list{list-style:none;display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.dl-list li{font-size:12.5px;color:var(--ink-dim);border:1px solid var(--line);border-radius:999px;padding:5px 14px}
.dl-list li::before{content:"✓";color:var(--warm-l);margin-right:6px}

/* ============ 页脚 ============ */
.ft{background:#070a16;border-top:1px solid var(--line);padding:52px 0 30px}
.ft-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;padding-bottom:30px;border-bottom:1px solid rgba(122,155,255,.15)}
.ft-brand p{margin-top:16px;font-size:13px;color:var(--ink-dim);max-width:420px}
.ft-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 20px;align-content:start}
.ft-nav a{font-size:13.5px;color:var(--ink-dim);padding:4px 0;transition:color .2s}
.ft-nav a:hover{color:var(--warm-l)}
.ft-base{text-align:center;padding-top:22px}
.ft-base p{font-size:12.5px;color:var(--ink-dim);line-height:1.9}

/* ============ 悬浮投诉 + 返回顶部 ============ */
.float-complaint{position:fixed;right:24px;bottom:220px;z-index:60;width:62px;background:var(--bg3);border:1px solid var(--line-w);border-radius:14px;color:var(--warm-l);display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 0;font-size:12px;line-height:1.2;transition:border-color .2s,transform .2s}
.float-complaint:hover{border-color:var(--warm);transform:translateY(-2px)}
.float-complaint span{writing-mode:horizontal-tb;font-weight:700}
.backtop{position:fixed;right:24px;bottom:160px;z-index:60;width:44px;height:44px;border-radius:12px;background:var(--brand);color:#fff;border:0;font-size:18px;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;transform:translateY(8px)}
.backtop.show{opacity:1;pointer-events:auto;transform:translateY(0)}

/* ============ 入场动画 ============ */
.rv{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:translateY(0)}

/* ============ 响应式 ============ */
@media (max-width:1024px){
  .hero-in{grid-template-columns:1fr;gap:44px}
  .hero-r{min-height:0}
  .hero-l h1{font-size:44px}
  .ch-grid{grid-template-columns:repeat(2,1fr)}
  .ro-grid{grid-template-columns:repeat(2,1fr)}
  .ro-card p{min-height:0}
  .sy-in{grid-template-columns:1fr;gap:34px;max-width:460px;margin:0 auto}
  .sy-a{transform:rotate(-2deg)}
  .sy-b{transform:rotate(2deg)}
  .gu-in{grid-template-columns:1fr;max-width:520px;margin:0 auto}
  .du-panel{grid-template-columns:1fr}
  .du-seam{flex-direction:row;padding:14px 0;border-left:0;border-top:2px dashed var(--line-w)}
}
@media (max-width:768px){
  .nav{position:fixed;top:66px;left:0;right:0;z-index:49;display:none;flex-direction:column;background:rgba(10,14,28,.98);border-bottom:1px solid var(--line);padding:14px 20px;gap:6px}
  .nav.open{display:flex}
  .burger{display:block}
  .hd-cta{display:none}
  section{padding:56px 0}
  .hero{padding:60px 0 70px}
  .hero-l h1{font-size:36px}
  .hero-slogan{font-size:20px}
  .hero-shot{width:216px}
  .wt-a{left:0;top:26px}
  .wt-b{right:0;bottom:30px}
  .st-in{grid-template-columns:repeat(2,1fr)}
  .st:nth-child(3){border-left:none}
  .st{border-top:1px dashed var(--line)}
  .st:nth-child(-n+2){border-top:none}
  .ch-grid{grid-template-columns:1fr}
  .ch-card p{min-height:0}
  .ro-grid{grid-template-columns:1fr}
  .sec-head h2{font-size:26px}
  .dl-core h2{font-size:26px}
  .ft-grid{grid-template-columns:1fr;gap:26px}
  .nt-meta{flex-direction:column;align-items:flex-start;gap:4px}
  .float-complaint{right:18px;bottom:204px;width:56px;font-size:11px}
  .backtop{right:18px;bottom:144px}
  .sy-line{font-size:21px}
}
