*{margin:0;padding:0;box-sizing:border-box}
:root{
  --amber:#ff9a3c;
  --amber-lt:#ffd08a;
  --cyan:#3ad6ff;
  --pink:#ff2d78;
  --bg:#0a0705;
  --fg:#f2e6d8;
  --dim:#8a7a68;
  --line:rgba(255,154,60,.18);
}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--fg);overflow-x:hidden;cursor:none;
  font-family:"Segoe UI","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}
#webgl{position:fixed;inset:0;z-index:1;display:block}

.grade{
  position:fixed;inset:0;z-index:55;pointer-events:none;mix-blend-mode:screen;
  background:
    radial-gradient(ellipse at 50% 80%, rgba(255,154,60,.17), transparent 58%),
    radial-gradient(ellipse at 50% 26%, rgba(58,214,255,.07), transparent 60%),
    linear-gradient(180deg, rgba(22,13,4,.55) 0%, transparent 30%, transparent 68%, rgba(30,17,5,.68) 100%);
}
.vig{position:fixed;inset:0;z-index:56;pointer-events:none;
  background:radial-gradient(ellipse at 50% 50%, transparent 36%, rgba(6,4,2,.75) 84%, rgba(3,2,1,.96) 100%)}
.film{position:fixed;inset:-50%;z-index:57;pointer-events:none;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:fg .55s steps(1) infinite}
@keyframes fg{0%{transform:translate(0,0)}25%{transform:translate(-2%,3%)}50%{transform:translate(3%,-2%)}75%{transform:translate(-3%,-3%)}100%{transform:translate(2%,2%)}}

#cur{position:fixed;z-index:9000;width:26px;height:26px;pointer-events:none;
  border:1px solid var(--amber);border-radius:50%;transform:translate(-50%,-50%);
  transition:width .2s,height .2s,background .2s}
#cur.big{width:62px;height:62px;background:rgba(255,154,60,.12)}
#curDot{position:fixed;z-index:9001;width:3px;height:3px;background:var(--cyan);
  border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);
  box-shadow:0 0 10px var(--cyan)}

nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;
  justify-content:space-between;align-items:center;padding:20px 52px;
  background:linear-gradient(to bottom,rgba(10,7,5,.92),transparent)}
.logo{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:900;
  letter-spacing:6px;color:var(--amber);text-shadow:0 0 18px rgba(255,154,60,.7)}
.logo svg{width:22px;height:22px;filter:drop-shadow(0 0 8px rgba(58,214,255,.8))}
.logo small{font-size:10px;letter-spacing:3px;color:var(--dim);font-weight:400}
nav .links{display:flex;gap:34px;font-size:11px;letter-spacing:4px;text-transform:uppercase}
nav .links a{color:var(--dim);text-decoration:none;transition:color .3s,text-shadow .3s}
nav .links a:hover{color:var(--amber);text-shadow:0 0 14px rgba(255,154,60,.7)}

/* ---------- hero ---------- */
.hero{position:relative;z-index:100;min-height:100vh;display:flex;flex-direction:column;
  justify-content:flex-end;padding:0 52px 9vh;text-align:left;
  background:linear-gradient(to top,rgba(8,5,3,.96) 0%,rgba(8,5,3,.9) 16%,rgba(8,5,3,.72) 34%,rgba(8,5,3,.44) 52%,rgba(8,5,3,.16) 70%,transparent 86%)}
.tag{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;
  border:1px solid rgba(255,154,60,.4);padding:9px 20px;font-size:10.5px;
  letter-spacing:5px;color:var(--amber);background:rgba(255,154,60,.06);
  margin-bottom:26px;text-transform:uppercase}
.tag .p{width:6px;height:6px;background:var(--amber);border-radius:50%;
  box-shadow:0 0 10px var(--amber);animation:bl 1.4s infinite}
@keyframes bl{0%,100%{opacity:1}50%{opacity:.2}}

h1.big{
  font-size:clamp(52px,12vw,176px);font-weight:900;line-height:.9;
  letter-spacing:-4px;margin-bottom:14px;
  background:linear-gradient(178deg,#fff4e2 0%,#ffd79a 30%,#ff9a3c 62%,#a34e0d 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 34px rgba(255,154,60,.45)) drop-shadow(0 8px 0 rgba(120,40,0,.35));
}
.cn{font-size:clamp(15px,2.1vw,25px);letter-spacing:16px;color:rgba(255,210,150,.7);
  margin-bottom:28px;font-weight:300;text-shadow:0 0 24px rgba(255,154,60,.4)}
.lede{max-width:600px;color:#c4b3a0;font-size:15px;line-height:2.05;margin-bottom:44px}
.lede em{color:var(--cyan);font-style:normal;text-shadow:0 0 14px rgba(58,214,255,.55)}

.btnrow{display:flex;gap:24px;flex-wrap:wrap}
.cbtn{position:relative;padding:19px 50px;font-size:12.5px;font-weight:800;
  letter-spacing:4px;text-transform:uppercase;text-decoration:none;
  color:#150c03;background:linear-gradient(170deg,#ffc887,#ff9a3c 55%,#e07820);
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));
  box-shadow:0 0 34px rgba(255,154,60,.45), 0 12px 28px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.5);
  transition:transform .3s cubic-bezier(.2,.8,.3,1), box-shadow .3s;overflow:hidden}
.cbtn:hover{transform:translateY(-5px);box-shadow:0 0 60px rgba(255,154,60,.85), 0 18px 40px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.6)}
.cbtn .sh{position:absolute;top:0;left:-130%;width:75%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);
  transform:skewX(-22deg);transition:left .7s}
.cbtn:hover .sh{left:135%}
.cbtn.ghost{background:rgba(10,7,5,.55);color:var(--amber-lt);
  border:1px solid rgba(255,154,60,.5);box-shadow:0 0 22px rgba(255,154,60,.16)}
.cbtn.ghost:hover{background:rgba(255,154,60,.14);color:#fff3e0;box-shadow:0 0 52px rgba(255,154,60,.5)}

.scrollhint{position:absolute;bottom:3.5vh;left:52px;font-size:10px;letter-spacing:6px;
  color:var(--dim);display:flex;align-items:center;gap:14px;text-transform:uppercase}
.scrollhint .ln{width:56px;height:1px;background:linear-gradient(90deg,var(--amber),transparent)}

/* ---------- 通用 section ---------- */
.content{position:relative;z-index:100;background:#080604;
  background-image:
    radial-gradient(ellipse at 18% 8%, rgba(255,154,60,.055), transparent 52%),
    radial-gradient(ellipse at 84% 62%, rgba(58,214,255,.04), transparent 52%);
  border-top:1px solid rgba(255,154,60,.2)}
section{max-width:1360px;margin:0 auto;padding:110px 52px}
.panel{background:linear-gradient(158deg,rgba(22,14,7,.78),rgba(8,6,4,.92));
  border:1px solid var(--line);
  padding:58px 52px;position:relative;
  box-shadow:0 0 70px rgba(0,0,0,.7), inset 0 0 90px rgba(255,154,60,.03)}
.panel.cut{clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% 100%,30px 100%,0 calc(100% - 30px))}
.secnum{font-family:Consolas,monospace;font-size:11px;letter-spacing:5px;color:var(--cyan);margin-bottom:14px}
.sechead{margin-bottom:50px}
.sechead h2{font-size:clamp(28px,4.6vw,54px);font-weight:900;letter-spacing:-1.5px;line-height:1.12}
.sechead h2 i{font-style:normal;background:linear-gradient(100deg,var(--amber),#ffd79a 45%,var(--pink));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.sechead p{color:var(--dim);margin-top:18px;max-width:660px;line-height:2;font-size:14.5px}

/* ---------- 工作室 ---------- */
.studiogrid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center}
.studiotext p{color:#c4b3a0;line-height:2.1;font-size:14.8px;margin-bottom:18px}
.studiotext p em{color:var(--amber-lt);font-style:normal}
.factlist{list-style:none;margin-top:28px;border-top:1px solid var(--line)}
.factlist li{display:flex;justify-content:space-between;align-items:baseline;
  padding:15px 2px;border-bottom:1px solid rgba(255,154,60,.09);font-size:13.5px}
.factlist li span:first-child{color:var(--dim);letter-spacing:2px}
.factlist li span:last-child{color:var(--amber-lt);font-weight:700;letter-spacing:1px}
.shedcard{position:relative;border:1px solid var(--line);background:rgba(10,8,6,.7);
  padding:38px 30px;text-align:center;
  box-shadow:0 0 60px rgba(0,0,0,.6), inset 0 0 80px rgba(58,214,255,.04)}
.shedcard svg{width:190px;height:150px;margin-bottom:24px}
.shedcard .q{font-family:Consolas,monospace;font-size:12.5px;color:var(--cyan);line-height:2}
.shedcard .q b{color:var(--amber)}

/* ---------- 游戏专区 ---------- */
.gamehead{display:grid;grid-template-columns:1fr 1.25fr;gap:48px;align-items:center;margin-bottom:60px;
  position:relative;padding:44px 40px;border:1px solid rgba(255,154,60,.2);
  background:linear-gradient(158deg,rgba(20,13,7,.94),rgba(8,6,4,.97))}
.gamelogo{position:relative;text-align:center;
  background:radial-gradient(circle at 50% 45%,rgba(255,154,60,.13),transparent 68%);
  padding:34px 20px;border:1px solid var(--line)}
.gamelogo img{width:100%;max-width:360px;display:block;margin:0 auto;
  filter:drop-shadow(0 0 30px rgba(255,154,60,.35))}
.gamelogo .sub{margin-top:16px;font-size:11px;letter-spacing:6px;color:var(--dim);text-transform:uppercase}
.gametext h3{font-size:clamp(24px,3.4vw,38px);font-weight:900;margin-bottom:18px;letter-spacing:-1px}
.gametext h3 i{font-style:normal;color:var(--amber)}
.gametext p{color:#c4b3a0;line-height:2.05;font-size:14.6px;margin-bottom:16px}
.gametext p em{color:var(--cyan);font-style:normal}

/* 三支柱 */
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:72px}
.pil{position:relative;padding:38px 32px;
  background:linear-gradient(160deg,rgba(26,16,8,.94),rgba(8,6,4,.97));
  border:1px solid rgba(255,154,60,.2);
  transition:transform .14s ease-out, box-shadow .4s, border-color .4s}
.pil:hover{border-color:var(--amber);
  box-shadow:0 28px 76px rgba(255,154,60,.26), 0 0 0 1px rgba(255,154,60,.4)}
.pil .ic{font-size:30px;display:block;margin-bottom:18px;filter:drop-shadow(0 0 16px rgba(255,154,60,.9))}
.pil h4{font-size:19px;margin-bottom:12px;letter-spacing:.5px}
.pil p{color:var(--dim);font-size:13.4px;line-height:2}
.pil .no{position:absolute;top:20px;right:24px;font-family:Consolas,monospace;
  font-size:11px;color:rgba(255,154,60,.32);letter-spacing:2px}
.pil .tagx{display:inline-block;margin-top:16px;font-family:Consolas,monospace;font-size:10.5px;
  letter-spacing:2px;color:var(--cyan);border:1px solid rgba(58,214,255,.3);padding:4px 10px}

/* 阵营 */
.subhead{display:flex;align-items:baseline;gap:18px;margin-bottom:34px;flex-wrap:wrap}
.subhead h3{font-size:clamp(20px,2.6vw,30px);font-weight:900;letter-spacing:-.5px}
.subhead .hint{font-size:12px;color:var(--dim);letter-spacing:2px}
.factions{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}
.fac{position:relative;border:1px solid rgba(255,154,60,.18);background:rgba(10,7,5,.72);
  padding:26px 24px;transition:border-color .35s,box-shadow .35s,transform .2s}
.fac:hover{transform:translateY(-4px)}
.fac .fbar{position:absolute;left:0;top:0;width:3px;height:100%;background:var(--fc,#ff9a3c)}
.fac .fname{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}
.fac .fname b{font-size:20px;letter-spacing:1px;color:var(--fc,#ff9a3c);
  text-shadow:0 0 18px color-mix(in srgb,var(--fc,#ff9a3c) 60%,transparent)}
.fac .fname span{font-family:Consolas,monospace;font-size:10.5px;letter-spacing:3px;color:var(--dim)}
.fac .fdesc{font-size:12.5px;color:var(--dim);line-height:1.85;margin-bottom:18px;min-height:44px}
.fac .members{display:flex;flex-wrap:wrap;gap:8px}
.fac .m{font-size:12px;padding:5px 11px;border:1px solid rgba(255,255,255,.12);
  color:#d9cbba;background:rgba(255,255,255,.03);letter-spacing:.5px}
.fac .m.gold{border-color:rgba(255,208,138,.55);color:#ffd08a;background:rgba(255,180,70,.1)}
.fac .m.purple{border-color:rgba(190,120,255,.45);color:#d0a8ff;background:rgba(150,80,255,.1)}
.fac .m.unknown{border-style:dashed;color:#6d6258;background:transparent}
.fac .fmeta{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,154,60,.1);
  display:flex;justify-content:space-between;font-family:Consolas,monospace;font-size:10.5px;
  letter-spacing:1.5px;color:var(--dim)}
.fac .fmeta b{color:var(--amber)}

/* 角色卡墙 */
.cardwall{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:18px;margin-top:8px}
.hcard{position:relative;overflow:hidden;border:1px solid rgba(255,154,60,.2);
  background:#0b0806;aspect-ratio:.78;transition:transform .3s,box-shadow .4s,border-color .4s}
.hcard:hover{transform:translateY(-6px);border-color:var(--amber);
  box-shadow:0 24px 60px rgba(255,154,60,.3)}
.hcard img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;
  filter:saturate(.94)}
.hcard .cap{position:absolute;left:0;right:0;bottom:0;padding:38px 12px 12px;
  background:linear-gradient(to top,rgba(6,4,3,.96) 0%,rgba(6,4,3,.7) 55%,transparent 100%)}
.hcard .cap b{display:block;font-size:15px;letter-spacing:.5px}
.hcard .cap small{display:block;font-size:10.5px;color:var(--dim);letter-spacing:1.5px;margin-top:4px}
.hcard .cap .q{font-size:11px;color:#9c8e80;margin-top:7px;font-style:italic;line-height:1.5}
.hcard .chip{position:absolute;top:10px;left:10px;font-family:Consolas,monospace;font-size:9.5px;
  letter-spacing:2px;padding:3px 8px;border:1px solid;background:rgba(6,4,3,.7)}
.hcard .chip.gold{color:#ffd08a;border-color:rgba(255,208,138,.5)}
.hcard .chip.purple{color:#d0a8ff;border-color:rgba(190,120,255,.45)}
.hcard .chip.white{color:#cfd6dd;border-color:rgba(200,215,230,.4)}
.hcard .hp{position:absolute;top:10px;right:10px;font-family:Consolas,monospace;font-size:11px;
  color:#ff9a3c;background:rgba(6,4,3,.75);border:1px solid rgba(255,154,60,.35);
  padding:3px 8px;letter-spacing:1px}

/* 地图 */
.maps{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px}
.map{position:relative;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/9;
  background:#0b0806}
.map img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s,filter .6s;
  filter:saturate(.92) brightness(.9)}
.map:hover img{transform:scale(1.06);filter:saturate(1.05) brightness(1)}
.map .mo{position:absolute;inset:0;padding:20px;
  background:linear-gradient(to top,rgba(6,4,3,.95) 0%,rgba(6,4,3,.35) 46%,transparent 78%);
  display:flex;flex-direction:column;justify-content:flex-end}
.map .mo b{font-size:17px;letter-spacing:.5px}
.map .mo small{font-family:Consolas,monospace;font-size:10px;letter-spacing:3px;color:var(--cyan);margin-bottom:5px}
.map .mo .quest{font-size:11.5px;color:#b3a596;margin-top:7px;line-height:1.7;font-style:italic}
.map .mo .rule{font-size:11px;color:var(--amber-lt);margin-top:9px;line-height:1.7}

/* 手牌 */
.hands{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2px;
  background:rgba(255,154,60,.14);border:1px solid var(--line)}
.handc{background:rgba(8,6,4,.95);padding:24px 22px;transition:background .35s}
.handc:hover{background:rgba(255,154,60,.07)}
.handc .hh{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}
.handc .hh b{font-size:15.5px;letter-spacing:.5px}
.handc .hw{font-family:Consolas,monospace;font-size:11px;padding:3px 9px;border:1px solid;
  letter-spacing:1px;white-space:nowrap}
.handc .hw.gold{border-color:rgba(255,208,138,.6);color:#ffd08a;background:rgba(255,180,70,.1)}
.handc .hw.cyan{border-color:rgba(58,214,255,.5);color:var(--cyan);background:rgba(58,214,255,.09)}
.handc .hw.white{border-color:rgba(255,255,255,.28);color:#e0d6c8;background:rgba(255,255,255,.05)}
.handc .hw.blue{border-color:rgba(90,150,255,.6);color:#8fb6ff;background:rgba(90,150,255,.12)}
.handc em{display:block;font-family:Consolas,monospace;font-size:10px;letter-spacing:2.6px;
  color:var(--dim);font-style:normal;margin-bottom:11px}
.handc p{font-size:12.5px;color:#a89a8a;line-height:1.9}

/* 阵营补充字段（JS 生成用） */
.fac .ftag{font-size:12.5px;color:var(--cyan);line-height:1.7;margin-bottom:12px;letter-spacing:.3px}
.fac .fmem{font-size:11.5px;color:var(--dim);line-height:1.85}
.fac .fdot{position:absolute;left:-1px;top:22px;width:3px;height:52px;background:var(--fc,#ff9a3c);
  box-shadow:0 0 14px var(--fc,#ff9a3c)}
.fac em{display:block;font-family:Consolas,monospace;font-size:10px;letter-spacing:3px;
  color:var(--dim);font-style:normal;margin-bottom:9px}
.fac>b{font-size:20px;letter-spacing:1px;color:var(--fc,#ff9a3c)}
.fac .fbar{display:none}

/* 地图补充字段（JS 生成用） */
.map .mbody{position:absolute;inset:0;padding:20px;
  background:linear-gradient(to top,rgba(6,4,3,.95) 0%,rgba(6,4,3,.38) 48%,transparent 80%);
  display:flex;flex-direction:column;justify-content:flex-end}
.map .mbody b{font-size:17px;letter-spacing:.5px}
.map .mbody em{font-family:Consolas,monospace;font-size:10px;letter-spacing:3px;
  color:var(--cyan);font-style:normal;margin-bottom:2px;display:block}
.map .mdesc{font-size:11.5px;color:#b3a596;margin-top:7px;line-height:1.7;font-style:italic}
.map .mfeat{font-size:11px;color:var(--amber-lt);margin-top:9px;line-height:1.7}
.map .mfeat i{display:inline-block;font-style:normal;font-size:9.5px;letter-spacing:2px;
  border:1px solid rgba(255,154,60,.4);color:var(--amber);padding:1px 6px;margin-right:7px;
  vertical-align:1px}

/* ---------- 作品列表 ---------- */
.worklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:26px}
.work{display:block;text-decoration:none;color:inherit;position:relative;
  border:1px solid var(--line);background:linear-gradient(160deg,rgba(24,15,8,.9),rgba(8,6,4,.96));
  transition:transform .3s cubic-bezier(.2,.8,.3,1),border-color .4s,box-shadow .4s;overflow:hidden}
a.work:hover{transform:translateY(-6px);border-color:var(--amber);
  box-shadow:0 30px 70px rgba(255,154,60,.25)}
.work .wthumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:#0b0806;
  border-bottom:1px solid rgba(255,154,60,.14)}
.work .wthumb img{width:100%;height:100%;object-fit:cover;display:block;
  filter:saturate(.85) brightness(.72);transition:filter .6s,transform .6s}
a.work:hover .wthumb img{filter:saturate(1) brightness(.95);transform:scale(1.05)}
.work .wthumb.blank{display:flex;align-items:center;justify-content:center;
  background:repeating-linear-gradient(45deg,rgba(255,154,60,.03) 0 12px,transparent 12px 24px),#0b0806}
.work .wthumb.blank span{font-family:Consolas,monospace;font-size:12px;letter-spacing:6px;
  color:#5c5348;border:1px dashed rgba(255,154,60,.25);padding:12px 26px}
.work .wbody{padding:28px 28px 30px}
.work .wmeta{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.work .wtag{font-family:Consolas,monospace;font-size:10px;letter-spacing:2.5px;
  color:var(--dim);border:1px solid rgba(255,154,60,.25);padding:3px 9px}
.work .wtag.live{color:var(--amber);border-color:rgba(255,154,60,.55);background:rgba(255,154,60,.08)}
.work .wplat{font-family:Consolas,monospace;font-size:10px;letter-spacing:2px;color:#5c5348}
.work h4{font-size:clamp(22px,2.8vw,30px);font-weight:900;letter-spacing:-.5px;margin-bottom:12px}
.work h4 span{font-size:.62em;letter-spacing:3px;color:var(--amber);margin-left:4px}
.work p{color:#a89a8a;font-size:13.6px;line-height:1.95;margin-bottom:20px}
.work .wlink{font-family:Consolas,monospace;font-size:11.5px;letter-spacing:3px;color:var(--amber)}
.work .wlink.dim{color:#5c5348}
.work.soon{opacity:.62}

/* 游戏详情页共用块 */
.backbar{position:relative;z-index:200;padding:88px 52px 0;max-width:1360px;margin:0 auto}
.backbar a{font-family:Consolas,monospace;font-size:11.5px;letter-spacing:3px;
  color:var(--dim);text-decoration:none;transition:color .3s}
.backbar a:hover{color:var(--amber)}

.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-top:8px}
.shot{position:relative;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/9;background:#0b0806}
.shot img{width:100%;height:100%;object-fit:cover;display:block;
  filter:saturate(.92) brightness(.88);transition:transform .6s,filter .6s}
.shot:hover img{transform:scale(1.05);filter:saturate(1.05) brightness(1)}
.shot .cap2{position:absolute;left:0;right:0;bottom:0;padding:30px 16px 13px;
  background:linear-gradient(to top,rgba(6,4,3,.95),transparent)}
.shot .cap2 b{font-size:14.5px;letter-spacing:.5px}
.shot .cap2 small{display:block;font-family:Consolas,monospace;font-size:10px;
  letter-spacing:2.5px;color:var(--cyan);margin-top:3px}

.flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2px;
  background:rgba(255,154,60,.14);border:1px solid var(--line);margin-top:8px}
.fstep{background:rgba(8,6,4,.95);padding:28px 22px;position:relative}
.fstep .fn{font-family:Consolas,monospace;font-size:11px;letter-spacing:3px;
  color:var(--amber);display:block;margin-bottom:12px}
.fstep h5{font-size:15px;margin-bottom:9px;letter-spacing:.4px}
.fstep p{font-size:12.5px;color:var(--dim);line-height:1.9}

/* ---------- 我们怎么做 ---------- */
.crafts{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:2px;
  background:rgba(58,214,255,.14);border:1px solid rgba(58,214,255,.16)}
.cr{background:rgba(8,6,4,.95);padding:32px 26px;transition:background .35s}
.cr:hover{background:rgba(58,214,255,.06)}
.cr .cn2{font-family:Consolas,monospace;font-size:11px;letter-spacing:3px;color:var(--cyan);
  display:block;margin-bottom:14px}
.cr h5{font-size:15.5px;margin-bottom:11px;color:var(--fg);letter-spacing:.4px}
.cr p{font-size:12.5px;color:var(--dim);line-height:1.95}

/* 角色卡本名行 */
.hcard .cap .rn{color:#7d6f60;font-size:10px;margin-top:2px}

/* 联系 */
.mailto{font-size:13px;color:var(--dim);margin-top:30px;padding-top:24px;
  border-top:1px solid rgba(255,154,60,.14)}
.mailto a{color:var(--amber);text-decoration:none;border-bottom:1px solid rgba(255,154,60,.4);
  padding-bottom:1px}
.mailto a:hover{color:var(--amber-lt);border-bottom-color:var(--amber-lt)}

/* 数据 */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:3px;
  background:rgba(255,154,60,.16);border:1px solid var(--line)}
.st{background:rgba(8,6,4,.95);padding:42px 22px;text-align:center;transition:background .4s}
.st:hover{background:rgba(255,154,60,.08)}
.st .n{font-family:Consolas,monospace;font-size:clamp(28px,4.4vw,50px);font-weight:900;
  color:var(--amber);letter-spacing:-3px;
  text-shadow:0 0 30px rgba(255,154,60,.65), 0 0 62px rgba(255,154,60,.28)}
.st .l{font-size:10.5px;letter-spacing:3px;color:var(--dim);margin-top:10px;text-transform:uppercase}

/* 机制清单 */
.mechlist{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2px;
  background:rgba(255,154,60,.14);border:1px solid var(--line);margin-top:8px}
.mech{background:rgba(8,6,4,.95);padding:26px 24px}
.mech h5{font-size:14.5px;margin-bottom:9px;color:var(--amber-lt);letter-spacing:.5px}
.mech p{font-size:12.5px;color:var(--dim);line-height:1.9}
.mech code{font-family:Consolas,monospace;font-size:11.5px;color:var(--cyan)}

/* 下载 */
.dl{position:relative;padding:76px 52px;text-align:center;overflow:hidden;
  background:radial-gradient(circle at 50% 0%,rgba(255,45,120,.14),transparent 58%),
    linear-gradient(164deg,rgba(28,12,10,.95),rgba(8,5,4,.98));
  border:1px solid rgba(255,45,120,.3);
  clip-path:polygon(0 0,calc(100% - 38px) 0,100% 38px,100% 100%,38px 100%,0 calc(100% - 38px))}
.dl h2{position:relative;z-index:2;font-size:clamp(28px,4.8vw,54px);font-weight:900;
  letter-spacing:-2px;margin-bottom:18px}
.dl h2 i{font-style:normal;background:linear-gradient(92deg,var(--pink),var(--amber));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.dl .stage{position:relative;z-index:2;display:inline-block;margin-bottom:26px;
  font-family:Consolas,monospace;font-size:11px;letter-spacing:4px;color:var(--pink);
  border:1px solid rgba(255,45,120,.45);padding:7px 18px;background:rgba(255,45,120,.08)}
.dl p{position:relative;z-index:2;color:var(--dim);margin-bottom:38px;font-size:14.5px;line-height:1.9}
.dlmeta{position:relative;z-index:2;display:flex;justify-content:center;gap:44px;flex-wrap:wrap;
  margin-bottom:42px;font-family:Consolas,monospace;font-size:12px;color:var(--dim);letter-spacing:1.5px}
.dlmeta b{color:var(--amber);text-shadow:0 0 14px rgba(255,154,60,.5)}
.plats{position:relative;z-index:2;display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.plat{padding:16px 38px;border:1px solid rgba(255,154,60,.35);color:var(--fg);text-decoration:none;
  font-size:12.5px;letter-spacing:3px;font-weight:600;background:rgba(255,154,60,.05);transition:all .32s;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
.plat:hover{background:var(--amber);color:#150c03;box-shadow:0 0 48px rgba(255,154,60,.7);transform:translateY(-4px)}
.plat.soon{opacity:.45;cursor:not-allowed;pointer-events:none}

footer{position:relative;z-index:100;text-align:center;padding:64px 52px;
  border-top:1px solid rgba(255,154,60,.1);color:var(--dim);font-size:11px;letter-spacing:3.5px;text-transform:uppercase}
footer b{color:var(--amber)}
footer .fline{margin-top:14px;font-size:10px;letter-spacing:2px;color:#5c5348;text-transform:none}

.rv{opacity:0;transform:translateY(48px);transition:opacity 1s cubic-bezier(.2,.7,.3,1),transform 1s cubic-bezier(.2,.7,.3,1)}
.rv.on{opacity:1;transform:none}

#boot{position:fixed;inset:0;z-index:9999;background:#0a0705;display:flex;
  flex-direction:column;align-items:center;justify-content:center;gap:24px;transition:opacity .9s,visibility .9s}
#boot.off{opacity:0;visibility:hidden}
#boot .bt{font-size:12px;letter-spacing:12px;color:var(--amber);font-weight:900;text-shadow:0 0 26px var(--amber)}
#boot .bar{width:250px;height:2px;background:rgba(255,154,60,.14);overflow:hidden}
#boot .bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--amber),var(--pink));
  box-shadow:0 0 16px var(--amber);animation:ld 1.9s ease-out forwards}
@keyframes ld{to{width:100%}}
#boot .st{font-family:Consolas,monospace;font-size:10.5px;color:var(--dim);letter-spacing:2px}

@media(max-width:900px){
  .studiogrid,.gamehead{grid-template-columns:1fr;gap:30px}
}
@media(max-width:860px){
  body{cursor:auto}#cur,#curDot{display:none}
  nav{padding:16px 22px}nav .links{display:none}
  section{padding:76px 22px}.hero{padding:0 22px 7vh}.panel{padding:36px 24px}
  .dl{padding:52px 24px}.scrollhint{left:22px}
  .cardwall{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
}
@media (prefers-reduced-motion: reduce){*{animation:none!important}.rv{opacity:1;transform:none}}
