/* 囧次元 · jiongciyuanapp.org.cn — 夜穹蓝 / 星紫 / 电光青 / 樱绯
   渲染语言：星幕光栅（星点网格 + 同心光弧 + 极光柔光）
   动效机制：纯 CSS @keyframes orbitIn（与滚动位置无关） */

:root{
  --bg:#0B1230;
  --bg2:#101A3E;
  --card:#151F4A;
  --card2:#1B2757;
  --line:rgba(255,255,255,.10);
  --line2:rgba(255,255,255,.17);
  --pri:#7C5CF6;
  --pri2:#9B7CFF;
  --prid:#5B3FD6;
  --cy:#35D6D0;
  --pink:#FF7AA8;
  --ink:#EDF0FF;
  --ink2:#B7C0E6;
  --ink3:#8A93BE;
  --r:18px;
  --wrap:1180px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font:16px/1.75 "PingFang SC","Microsoft YaHei","Hiragino Sans GB","Source Han Sans SC",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p,ul,ol,figure,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}

/* ---------- 入场动效（纯 CSS，不依赖滚动） ---------- */
@keyframes orbitIn{
  from{opacity:0;transform:translateY(16px) scale(.985);filter:blur(3px)}
  to{opacity:1;transform:none;filter:blur(0)}
}
.rise{animation:orbitIn .62s cubic-bezier(.2,.7,.3,1) both}
.d1{animation-delay:.07s}.d2{animation-delay:.14s}.d3{animation-delay:.21s}
.d4{animation-delay:.28s}.d5{animation-delay:.35s}.d6{animation-delay:.42s}
@media (prefers-reduced-motion:reduce){.rise{animation:none;opacity:1;transform:none;filter:none}}

/* ---------- 顶栏 ---------- */
.head{
  position:sticky;top:0;z-index:40;
  background:rgba(11,18,48,.86);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.head-in{display:flex;align-items:center;gap:16px;min-height:68px}
.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}
.brand img{width:42px;height:42px}
.brand .bn{display:block;line-height:1}
.brand b{display:block;font-size:20px;letter-spacing:.5px;font-weight:800;line-height:1.1}
.brand i{display:block;font-style:normal;font-size:10px;color:var(--ink3);letter-spacing:2.6px;margin-top:4px}
.nav{display:flex;gap:6px;margin-left:14px}
.nav a{
  padding:8px 13px;border-radius:11px;font-size:15px;color:var(--ink2);
  white-space:nowrap;transition:background .2s,color .2s;
}
.nav a:hover{color:var(--ink);background:rgba(255,255,255,.06)}
.nav a.on{color:var(--ink);background:rgba(124,92,246,.20);box-shadow:inset 0 0 0 1px rgba(124,92,246,.34)}
.head .btn{margin-left:auto}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 26px;border-radius:14px;font-size:16px;font-weight:700;
  color:#fff;background:linear-gradient(135deg,var(--pri2),var(--prid));
  box-shadow:0 12px 26px rgba(91,63,214,.34);
  transition:transform .2s,box-shadow .2s;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(91,63,214,.46)}
.btn.ghost{background:transparent;box-shadow:inset 0 0 0 1px var(--line2);color:var(--ink)}
.btn.ghost:hover{background:rgba(255,255,255,.06)}
.btn.sm{padding:10px 18px;font-size:14.5px;border-radius:12px}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#0A1030 0%,#0E1740 100%);border-bottom:1px solid var(--line)}
.hero::before{
  content:"";position:absolute;left:0;top:0;right:0;height:100%;pointer-events:none;
  background-image:radial-gradient(circle,rgba(255,255,255,.085) 1px,transparent 1.4px);
  background-size:26px 26px;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.25) 62%,transparent 88%);
  mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.25) 62%,transparent 88%);
}
.hero::after{
  content:"";position:absolute;right:0;top:0;width:46%;height:100%;pointer-events:none;
  background:
    radial-gradient(circle at 72% 30%,rgba(124,92,246,.32),transparent 60%),
    radial-gradient(circle at 38% 84%,rgba(53,214,208,.20),transparent 58%);
}
.halo{
  position:absolute;right:3%;top:9%;width:min(400px,52vw);height:min(400px,52vw);
  border-radius:50%;border:1px solid rgba(255,255,255,.11);pointer-events:none;
  box-shadow:0 0 0 46px rgba(255,255,255,.045),0 0 0 92px rgba(255,255,255,.026),0 0 0 138px rgba(255,255,255,.016);
}
.hero-in{
  position:relative;z-index:2;
  display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  gap:44px;align-items:center;padding:74px 0 78px;
}
.kicker{
  display:inline-flex;align-items:center;gap:9px;
  font-size:12.5px;letter-spacing:1.6px;color:var(--cy);
  text-transform:uppercase;margin-bottom:16px;
}
.kicker::before{content:"";width:7px;height:7px;border-radius:2px;background:var(--pink);transform:rotate(45deg)}
.hero h1{
  font-size:clamp(30px,3.6vw,47px);line-height:1.22;font-weight:800;letter-spacing:.5px;
  background:linear-gradient(120deg,#FFFFFF 28%,#C9BBFF 72%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.lead{font-size:16.5px;color:var(--ink2);margin-top:20px;max-width:34em}
.hero-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:28px}
.cta-note{font-size:13.5px;color:var(--ink3);max-width:22em}
.facts{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.facts li{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink2)}
.facts li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cy);box-shadow:0 0 10px rgba(53,214,208,.8)}
.hero-shot{max-width:300px;margin-left:auto;position:relative}
.hero-shot::before{
  content:"";position:absolute;left:-14%;top:8%;width:128%;height:84%;
  background:radial-gradient(ellipse at 50% 50%,rgba(124,92,246,.42),transparent 66%);
  filter:blur(16px);z-index:0;
}
.hero-shot img{
  position:relative;z-index:1;width:100%;height:auto;border-radius:26px;
  box-shadow:0 28px 62px rgba(3,6,22,.62),0 0 0 1px rgba(255,255,255,.12);
}

/* ---------- 区块 ---------- */
.sec{padding:80px 0;position:relative}
.sec.alt{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{max-width:44em;margin-bottom:38px}
.kicker2{font-size:12.5px;letter-spacing:1.8px;color:var(--cy);display:block;margin-bottom:12px}
.sec h2{font-size:clamp(23px,2.5vw,31px);line-height:1.3;font-weight:800}
.sec-head .sub{color:var(--ink2);margin-top:12px;font-size:15.5px}

/* 核心功能 · 错位 bento */
.feat{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}
.f{
  min-width:0;grid-column:span 2;
  background:var(--card);border:1px solid var(--line);border-radius:var(--r);
  padding:26px 24px;
}
.f:nth-child(even) .ic{background:rgba(53,214,208,.14);box-shadow:inset 0 0 0 1px rgba(53,214,208,.30);color:var(--cy)}
.f .ic{
  width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:rgba(124,92,246,.18);box-shadow:inset 0 0 0 1px rgba(124,92,246,.34);
  color:var(--pri2);font-weight:800;font-size:15px;margin-bottom:15px;
}
.f h3{font-size:18px;font-weight:700;margin-bottom:9px}
.f p{font-size:14.6px;color:var(--ink2);line-height:1.78}

/* 软件预览 */
.shots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.shot{min-width:0}
.shot img{
  width:100%;height:auto;border-radius:18px;background:var(--card);
  box-shadow:0 16px 34px rgba(3,6,22,.55),0 0 0 1px rgba(255,255,255,.10);
}
.shot figcaption{font-size:12.5px;color:var(--ink3);line-height:1.55;margin-top:11px}
.shot figcaption b{display:block;color:var(--ink2);font-weight:600;font-size:13.5px;margin-bottom:2px}

/* 内页入口卡 */
.entries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.entry{
  min-width:0;display:flex;flex-direction:column;
  background:linear-gradient(160deg,var(--card2),var(--card));
  border:1px solid var(--line);border-radius:var(--r);padding:28px 24px;
  transition:transform .22s,border-color .22s;
}
.entry:hover{transform:translateY(-4px);border-color:rgba(124,92,246,.5)}
.entry em{font-style:normal;font-size:12px;letter-spacing:1.6px;color:var(--pink)}
.entry h3{font-size:19px;font-weight:750;margin:12px 0 10px}
.entry p{font-size:14.5px;color:var(--ink2);flex:1}
.entry span{font-size:14px;color:var(--cy);margin-top:18px;font-weight:600}

/* 评价 */
.reviews{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.rv{min-width:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 20px}
.rv .stars{color:var(--pink);font-size:13px;letter-spacing:2px}
.rv p{font-size:14.5px;color:var(--ink2);margin:12px 0 16px;line-height:1.8}
.rv b{font-size:13.5px;color:var(--ink);font-weight:600}
.rv i{display:block;font-style:normal;font-size:12px;color:var(--ink3);margin-top:3px}
.score{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.score .big{font-size:42px;font-weight:800;line-height:1;color:var(--pri2)}
.score p{font-size:14px;color:var(--ink3);max-width:30em}

/* FAQ */
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line);padding:4px 0}
.faq-list summary{
  cursor:pointer;padding:17px 34px 17px 2px;font-size:16.5px;font-weight:650;
  list-style:none;position:relative;
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{
  content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);
  color:var(--cy);font-size:20px;font-weight:700;
}
.faq-list details[open] summary::after{content:"–"}
.faq-list .ans{padding:0 34px 20px 2px;color:var(--ink2);font-size:15px}
.faq-list .ans a{color:var(--cy);border-bottom:1px solid rgba(53,214,208,.42)}

/* CTA 条 */
.cta-band{
  position:relative;overflow:hidden;border-radius:22px;padding:46px 40px;
  background:linear-gradient(120deg,rgba(124,92,246,.30),rgba(53,214,208,.14) 68%,rgba(255,122,168,.18));
  border:1px solid var(--line2);text-align:center;
}
.cta-band h2{font-size:clamp(21px,2.3vw,28px)}
.cta-band .sub{color:var(--ink2);margin:12px auto 24px;max-width:34em;font-size:15px}

/* 内页 hero */
.page-hero{position:relative;overflow:hidden;padding:62px 0 56px;background:linear-gradient(180deg,#0A1030,#0E1740);border-bottom:1px solid var(--line)}
.page-hero::before{
  content:"";position:absolute;left:0;top:0;right:0;height:100%;pointer-events:none;
  background-image:radial-gradient(circle,rgba(255,255,255,.07) 1px,transparent 1.4px);
  background-size:24px 24px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 92%);
  mask-image:linear-gradient(180deg,#000,transparent 92%);
}
.page-hero .wrap{position:relative;z-index:2}
.page-hero h1{font-size:clamp(26px,3vw,38px);font-weight:800;line-height:1.28}
.crumb{font-size:13px;color:var(--ink3);margin-bottom:16px}
.crumb a:hover{color:var(--cy)}

/* 正文 */
.art{max-width:74ch}
.art h2{font-size:clamp(21px,2.2vw,26px);font-weight:750;margin:0 0 16px}
.art h3{font-size:17.5px;font-weight:700;margin:26px 0 9px;color:var(--ink)}
.art p{color:var(--ink2);font-size:15.6px;margin-bottom:15px}
.art p a,.art li a{color:var(--cy);border-bottom:1px solid rgba(53,214,208,.4)}
.art ul{margin:0 0 16px}
.art ul li{color:var(--ink2);font-size:15.6px;padding-left:18px;position:relative;margin-bottom:8px}
.art ul li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:2px;background:var(--pri2);transform:rotate(45deg)}
.blk{padding:44px 0;border-top:1px solid var(--line)}
.blk:first-of-type{border-top:0;padding-top:8px}

/* 内页插图 */
.illus{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:34px;align-items:center;margin:6px 0 8px}
.illus.rev{grid-template-columns:minmax(0,1fr) minmax(0,300px)}
.illus img{width:100%;height:auto;border-radius:20px;box-shadow:0 18px 38px rgba(3,6,22,.55),0 0 0 1px rgba(255,255,255,.10)}
.illus .cap{font-size:13.5px;color:var(--ink3);margin-top:13px;line-height:1.6}

/* 步骤条 */
.steps{counter-reset:s;display:grid;gap:14px;margin:20px 0 6px}
.steps li{
  counter-increment:s;position:relative;padding:18px 20px 18px 62px;
  background:var(--card);border:1px solid var(--line);border-radius:14px;
}
.steps li::before{
  content:counter(s,decimal-leading-zero);position:absolute;left:20px;top:17px;
  font-size:15px;font-weight:800;color:var(--cy);letter-spacing:1px;
}
.steps b{display:block;font-size:16px;margin-bottom:5px}
.steps span{font-size:14.6px;color:var(--ink2)}

/* 交叉入口 */
.cross{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:6px}
.cross a{
  min-width:0;display:block;padding:20px 22px;border-radius:16px;
  background:var(--card);border:1px solid var(--line);transition:border-color .2s,transform .2s;
}
.cross a:hover{border-color:rgba(53,214,208,.45);transform:translateY(-3px)}
.cross b{display:block;font-size:16px;margin-bottom:6px}
.cross span{font-size:14px;color:var(--ink3)}

/* ---------- 页脚 ---------- */
.foot{background:#080E26;border-top:1px solid var(--line);padding:56px 0 30px;margin-top:0}
.foot-in{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:32px}
.foot-brand{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.foot-brand img{width:38px;height:38px}
.foot-brand b{font-size:18px;font-weight:800}
.foot p{font-size:13.5px;color:var(--ink3);line-height:1.85}
.foot h3{font-size:14.5px;font-weight:700;margin-bottom:14px;color:var(--ink)}
.foot li{margin-bottom:9px}
.foot li a{font-size:13.8px;color:var(--ink3)}
.foot li a:hover{color:var(--cy)}
.disc{
  margin-top:40px;padding-top:22px;border-top:1px solid var(--line);
  font-size:13px;color:var(--ink3);line-height:1.9;
}
.copy{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:#6C7599;margin-top:14px}

/* ---------- 断点 ---------- */
@media (max-width:1100px){
  .shots{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:980px){
  .hero-in{grid-template-columns:minmax(0,1fr);gap:36px;padding:56px 0 60px}
  .hero-shot{max-width:264px;margin:0 auto}
  .halo{display:none}
  .feat .f{grid-column:span 3}
  .reviews{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-in{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
  .illus,.illus.rev{grid-template-columns:minmax(0,1fr);gap:18px}
  .illus .shot-col{max-width:280px;margin:0 auto}
  .sec{padding:62px 0}
}
@media (max-width:620px){
  .wrap{padding:0 18px}
  .head-in{flex-wrap:wrap;padding:10px 0 12px;gap:10px;min-height:0}
  .nav{order:3;width:100%;margin-left:0;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}
  .nav a{padding:7px 11px;font-size:14px}
  .head .btn{margin-left:auto;padding:9px 15px;font-size:14px}
  .hero h1{font-size:27px}
  .lead{font-size:15.5px}
  .hero-cta{gap:12px}
  .btn{width:100%}
  .head .btn,.cross a .btn{width:auto}
  .facts{gap:8px 16px}
  .shots{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
  .feat .f{grid-column:span 6}
  .entries,.reviews,.cross{grid-template-columns:minmax(0,1fr)}
  .foot-in{grid-template-columns:minmax(0,1fr)}
  .cta-band{padding:34px 20px}
  .sec{padding:52px 0}
  .art h2{font-size:20px}
}
