/* 异次元 - 二次元漫画与番剧 */
:root{
  --violet:#F03A80;
  --violet-2:#C42460;
  --violet-soft:#241A28;
  --violet-pale:#17111A;
  --lime:#FFC94A;
  --ink:#F7EDF2;
  --gray:#B7A2AE;
  --line:#3A2A3C;
  --card:#FFFFFF;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;
  color:var(--ink);background:var(--violet-pale);line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{width:min(1100px,92%);margin:0 auto}
h1,h2,h3,h4{line-height:1.3}

/* header */
.hd{
  position:sticky;top:0;z-index:60;
  background:rgba(255,255,255,.93);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.hd-in{display:flex;align-items:center;gap:22px;height:70px}
.hd-brand{display:flex;align-items:center;gap:11px}
.hd-brand img{border-radius:10px}
.hd-brand b{display:block;font-size:17px;letter-spacing:.04em;color:var(--violet)}
.hd-brand small{display:block;font-size:10.5px;color:var(--gray);letter-spacing:.12em}
.nav{display:flex;gap:6px;margin-left:auto}
.nav a{
  font-size:14px;color:#C6B4BF;padding:7px 12px;border-radius:7px;transition:.2s;
}
.nav a:hover{background:var(--violet-soft);color:var(--violet)}
.nav-toggle{display:none;background:none;border:0;color:var(--violet);cursor:pointer;padding:6px}
.cta{
  background:var(--lime);color:var(--ink);font-weight:800;font-size:14px;
  padding:10px 20px;border-radius:7px;
  box-shadow:0 8px 18px rgba(108,77,246,.2);
  transition:.2s;
}
.cta:hover{transform:translateY(-2px);background:#FFD873}

/* hero */
.hero{
  position:relative;overflow:hidden;
  background:linear-gradient(108deg,#17111A 0%,#17111A 58%,#F03A80 58%,#B01B54 100%);
  padding:64px 0 78px;
}
.hero-in{position:relative;display:grid;grid-template-columns:1.04fr .96fr;gap:46px;align-items:center}
.kick{
  display:inline-block;font-size:12px;letter-spacing:.16em;color:var(--violet);
  background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 14px;margin-bottom:18px;
}
h1{font-size:clamp(44px,6.6vw,74px);font-weight:800;color:var(--ink);letter-spacing:.02em}
h1 span{color:var(--violet);position:relative}
h1 span::after{
  content:"";position:absolute;left:0;right:0;bottom:6px;height:10px;
  background:var(--lime);z-index:-1;
}
.lead{font-size:19px;font-weight:600;color:#E3D2DC;margin:12px 0 14px}
.desc{font-size:15px;color:#C6B4BF;max-width:33em}
.acts{display:flex;align-items:center;gap:16px;margin:26px 0 24px}
.btn{
  display:inline-flex;align-items:center;gap:9px;
  background:var(--violet);color:#fff;font-weight:700;font-size:15px;
  padding:14px 26px;border-radius:7px;
  box-shadow:0 10px 24px rgba(108,77,246,.3);
  transition:.2s;
}
.btn svg{width:18px;height:18px}
.btn:hover{transform:translateY(-2px);background:var(--violet-2)}
.ghost{font-size:14px;font-weight:600;color:var(--violet);border-bottom:1.5px dashed var(--violet);padding-bottom:2px}
.ghost:hover{color:var(--violet-2)}
.facts{list-style:none;display:flex;gap:10px;flex-wrap:wrap}
.facts li{
  background:#fff;border:1px solid var(--line);border-radius:7px;
  padding:10px 14px;min-width:112px;
}
.facts b{display:block;font-size:14px;color:var(--violet)}
.facts span{font-size:11.5px;color:var(--gray)}

/* hero strip */
.strip{position:relative;display:flex;gap:16px;justify-content:flex-end;align-items:flex-start}
.roll{
  width:58%;border-radius:14px;overflow:hidden;
  border:5px solid rgba(255,255,255,.92);
  box-shadow:0 24px 46px rgba(20,10,50,.35);
}
.roll img{width:100%;height:440px;object-fit:cover;object-position:top center}
.strip-side{display:grid;gap:10px;align-content:start;padding-top:6px}
.dot{width:7px;height:22px;border-radius:4px;background:rgba(255,255,255,.35);display:block}
.dot.on{background:var(--lime)}
.strip-side p{font-size:12px;color:#F2DDE6;line-height:1.6;margin:4px 0 2px}
.strip-side p small{color:#907080;font-size:11px}
.mini{
  width:104px;border-radius:10px;overflow:hidden;
  border:4px solid rgba(255,255,255,.92);box-shadow:0 14px 28px rgba(20,10,50,.3);
}
.tagfl{
  position:absolute;left:0;bottom:-14px;
  background:var(--lime);color:var(--ink);font-size:12px;font-weight:800;
  padding:7px 14px;border-radius:7px;
}

/* sections */
.sec{padding:76px 0;background:var(--violet-pale)}
.sec.violet{background:var(--violet-soft)}
.sh{margin-bottom:38px;max-width:44em}
.eyebrow{
  display:inline-block;font-size:11px;letter-spacing:.24em;
  color:var(--violet-2);background:#fff;border-radius:999px;padding:4px 12px;margin-bottom:12px;
}
.sec.violet .eyebrow{background:#fff}
.sh h2{font-size:clamp(25px,3.3vw,33px);color:var(--ink);font-weight:800}
.sh h2::after{content:"";display:block;width:44px;height:3px;background:var(--lime);margin-top:10px}
.sh p{font-size:14px;color:var(--gray);margin-top:10px}

/* features */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tile{
  background:var(--card);border-radius:12px;padding:22px 20px;
  border:1px solid var(--line);
  box-shadow:0 8px 22px rgba(36,28,61,.05);
  transition:.22s;
}
.tile:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(36,28,61,.11);border-color:#5B3A57}
.ti{
  display:grid;place-items:center;width:42px;height:42px;border-radius:9px;
  background:var(--lime);color:var(--ink);margin-bottom:12px;
}
.ti svg{width:20px;height:20px}
.tile h4{font-size:16.5px;color:var(--ink);margin-bottom:6px}
.tile p{font-size:13.5px;color:#C6B4BF}

/* screens */
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}
.col{
  background:#fff;border-radius:14px;padding:10px 10px 14px;
  box-shadow:0 14px 30px rgba(36,28,61,.1);
}
.col img{width:100%;height:300px;object-fit:cover;object-position:top center;border-radius:8px}
.col.lift{margin-top:-22px;box-shadow:0 20px 38px rgba(36,28,61,.18);border:2px solid var(--lime)}
.col.lift img{height:340px}
.col figcaption{font-size:12.5px;color:var(--gray);margin-top:10px;padding:0 4px}
.col figcaption b{display:block;color:var(--violet);font-size:14px;margin-bottom:2px}

/* guide */
.steps{
  list-style:none;display:grid;gap:14px;position:relative;
  padding-left:26px;border-left:2px dashed #5B3A57;
}
.steps li{
  position:relative;display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:center;
  background:#fff;border-radius:10px;padding:14px 18px;
  border:1px solid var(--line);
}
.steps li::before{
  content:"";position:absolute;left:-33px;top:50%;width:12px;height:12px;
  margin-top:-6px;border-radius:50%;background:var(--lime);border:2px solid #fff;
}
.steps b{
  font-size:13px;font-weight:800;color:var(--violet);
  width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  background:var(--violet-soft);
}
.steps span{font-size:14.5px;color:#E3D2DC}
.gnote{
  margin-top:18px;font-size:13px;color:#E3D2DC;
  background:#fff;border-radius:8px;padding:12px 16px;
  border-left:3px solid var(--violet);
}

/* faq */
.qa{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.q{
  background:#fff;border-radius:10px;padding:18px 20px;
  border:1px solid var(--line);
}
.q h3{
  font-size:15.5px;color:var(--ink);display:flex;gap:9px;align-items:baseline;
}
.q h3::before{
  content:"?";color:var(--ink);background:var(--lime);font-weight:800;font-size:12px;
  width:18px;height:18px;border-radius:5px;display:grid;place-items:center;flex:0 0 auto;
  line-height:1;
}
.q p{font-size:13.5px;color:#C6B4BF;margin-top:7px;padding-left:27px}

/* reviews */
.bubbles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.bub{
  background:#fff;border-radius:10px;padding:20px;
  border-top:3px solid var(--violet);
  box-shadow:0 12px 26px rgba(36,28,61,.08);
}
.bub blockquote{font-size:13.8px;color:#E3D2DC;line-height:1.8}
.who{
  display:flex;align-items:center;gap:8px;margin-top:14px;
  padding-top:10px;border-top:1px dashed var(--line);
  font-size:11.5px;color:var(--gray);
}
.who i{
  font-style:normal;width:26px;height:26px;border-radius:7px;
  display:grid;place-items:center;background:var(--lime);color:var(--ink);
  font-size:12px;font-weight:700;
}

/* get */
.get{
  background:linear-gradient(150deg,var(--violet) 0%,#9E1A4C 72%,#FF6B9E 100%);
  color:#fff;padding:66px 0 74px;
}
.get-in{display:grid;justify-items:center;text-align:center;gap:13px}
.get img{border-radius:12px;background:#fff;padding:3px}
.get h2{font-size:clamp(25px,3.5vw,34px);font-weight:800}
.get h2 em{font-style:normal;color:var(--lime)}
.get p{font-size:14.5px;color:#E3CBD6;max-width:40em}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:4px 0 8px}
.chips span{
  font-size:12px;color:#F2DDE6;border:1px solid rgba(255,255,255,.35);
  border-radius:5px;padding:5px 12px;
}
.get .btn{background:var(--lime);color:var(--ink);box-shadow:0 12px 26px rgba(0,0,0,.18)}
.get .btn:hover{background:#FFD873}

/* footer */
.ft{background:#241A28;color:#C6B4BF;padding:42px 0 28px;font-size:13px}
.ft-in{display:grid;gap:14px}
.ft-l{display:flex;align-items:center;gap:10px;color:var(--violet);font-size:16px}
.ft-l img{border-radius:8px}
.ft p{max-width:52em;line-height:1.8}
.ft-nav{display:flex;gap:18px;flex-wrap:wrap;padding:12px 0;border-top:1px solid #2E2033;border-bottom:1px solid #2E2033}
.ft-nav a:hover{color:var(--violet-2)}
.ft-c{color:#8E7684;font-size:12px;line-height:1.9}

/* backtop */
.backtop{
  position:fixed;right:22px;bottom:86px;z-index:50;width:42px;height:42px;
  display:grid;place-items:center;border:0;border-radius:9px;
  background:var(--violet);color:#fff;cursor:pointer;
  box-shadow:0 10px 22px rgba(108,77,246,.3);
  opacity:0;pointer-events:none;transition:.25s;
}
.backtop.show{opacity:1;pointer-events:auto}

@media (max-width:960px){
  .hero{background:linear-gradient(170deg,#17111A 0%,#1D141F 100%)}
  .hero-in{grid-template-columns:1fr;gap:36px}
  .strip{justify-content:center}
  .roll img{height:400px}
  .tiles{grid-template-columns:1fr 1fr}
  .cols{grid-template-columns:1fr 1fr}
  .col.lift{margin-top:0}
  .col.lift img{height:300px}
  .qa{grid-template-columns:1fr}
  .bubbles{grid-template-columns:1fr}
  .nav{
    position:fixed;left:0;right:0;top:70px;
    background:#fff;flex-direction:column;gap:0;
    padding:8px 0 14px;border-bottom:1px solid var(--line);
    display:none;
  }
  .nav.open{display:flex}
  .nav a{border-radius:0;padding:12px 6%}
  .nav-toggle{display:block;margin-left:auto}
  .cta{padding:9px 16px;font-size:13px}
}
@media (max-width:600px){
  .hero{padding:44px 0 58px}
  .sec{padding:52px 0}
  .tiles{grid-template-columns:1fr}
  .cols{grid-template-columns:1fr}
  .roll{width:64%}
  .roll img{height:330px}
  .facts li{min-width:calc(50% - 5px)}
  h1{font-size:clamp(38px,11vw,52px)}
}
.mini img{height:190px;object-fit:cover;object-position:top center}

/* Gookaai - 炭黑玫粉 · 拱形图框首屏 */
:root{
  --pink:#F03A80;
  --pink-d:#C42460;
  --gold:#FFC94A;
  --bg:#17111A;
  --bg2:#1B121D;
  --card:#221826;
  --line:#3A2A3C;
  --text:#F7EDF2;
  --muted:#B7A2AE;
}
body{background:var(--bg);color:var(--text)}

.hd{background:rgba(23,17,26,.9);border-bottom:1px solid var(--line)}
.hd-brand b{color:var(--pink)}
.hd-brand small{color:#8E7684}
.nav a{color:#C6B4BF}
.nav a:hover{background:#2A1D2E;color:var(--pink)}
.cta{background:var(--gold);color:#1A1018;box-shadow:0 8px 20px rgba(240,58,128,.22)}
.cta:hover{background:#FFD873}

/* hero：左拱形图框 + 右文案 */
.hero{
  position:relative;overflow:hidden;padding:58px 0 74px;
  background:
    radial-gradient(680px 520px at 18% 22%,rgba(240,58,128,.2),transparent 70%),
    radial-gradient(520px 420px at 92% 88%,rgba(255,201,74,.1),transparent 72%),
    #17111A;
}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:100% 64px;
}
.hero-in{position:relative;display:grid;grid-template-columns:.92fr 1.08fr;gap:58px;align-items:center}
.archside{position:relative;display:grid;justify-items:center}
.archcard{
  position:relative;width:100%;max-width:352px;padding:9px;
  border-radius:186px 186px 22px 22px;
  background:linear-gradient(168deg,#F03A80 0%,#7A2A5C 52%,#FFC94A 100%);
  box-shadow:0 26px 60px rgba(0,0,0,.5);
}
.archcard img{
  width:100%;height:496px;object-fit:cover;object-position:center 22%;
  border-radius:178px 178px 14px 14px;
}
.arc-tag{
  position:absolute;left:-4px;top:70px;z-index:2;
  writing-mode:vertical-rl;letter-spacing:.28em;font-size:10.5px;color:#8E7684;
}
.rank{
  position:absolute;right:-10px;bottom:26px;z-index:3;display:flex;gap:10px;align-items:center;
  background:#241A28;border:1px solid var(--line);border-radius:12px;padding:10px 16px;
  box-shadow:0 16px 34px rgba(0,0,0,.42);
}
.rank b{font-size:26px;line-height:1;color:var(--gold);letter-spacing:-.04em}
.rank span{font-size:12px;color:var(--text);line-height:1.5}
.rank small{display:block;font-size:10.5px;color:#8E7684;letter-spacing:.06em}
.arc-line{
  position:absolute;left:50%;bottom:-26px;width:1px;height:40px;
  background:linear-gradient(#F03A80,transparent);
}

.hcopy{position:relative}
.kick{background:#241A28;border-color:var(--line);color:var(--pink)}
h1{font-size:clamp(46px,6.4vw,76px);color:#FFF6FA;letter-spacing:-.03em}
h1 span{color:var(--pink);background:none}
h1 span::after{display:none}
.lead{font-size:19.5px;color:#E3D2DC;margin:12px 0 14px}
.desc{font-size:15px;color:var(--muted);max-width:34em}
.acts{margin:26px 0 24px}
.btn{background:var(--pink);box-shadow:0 12px 28px rgba(240,58,128,.3)}
.btn:hover{background:var(--pink-d)}
.ghost{color:var(--pink);border-bottom-color:rgba(240,58,128,.5)}
.facts li{background:#221826;border-color:var(--line);border-radius:10px}
.facts b{color:var(--pink)}
.facts span{color:#8E7684}

/* sections */
.sec{background:var(--bg)}
.sec.alt{background:var(--bg2)}
.eyebrow{background:#241A28;color:var(--pink)}
.sec.alt .eyebrow{background:#241A28}
.sh h2{color:#FFF6FA}
.sh h2::after{background:var(--pink)}
.sh p{color:var(--muted)}

/* features：宽窄交错的拼贴 */
.fgrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.fc{
  position:relative;background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:24px 22px 20px;overflow:hidden;transition:.22s;
}
.fc::after{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(var(--pink),rgba(240,58,128,0));
}
.fc:hover{transform:translateY(-4px);border-color:#5B3A57;box-shadow:0 18px 34px rgba(0,0,0,.4)}
.fc-wide{grid-column:span 2;background:linear-gradient(120deg,#2A1A2C 0%,#221826 62%)}
.fc:last-child{grid-column:1/-1}
.fn{display:block;font-size:11px;font-weight:800;letter-spacing:.2em;color:var(--pink);margin-bottom:10px}
.fc h4{font-size:17px;color:#FFF6FA}
.fc p{font-size:13.5px;color:var(--muted);margin-top:7px}
.fc-wide p{max-width:34em}

/* screens：穿孔胶片长廊 */
.film{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
  padding:22px 14px 18px;border-radius:16px;
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.16) 0 6px,transparent 6px 18px) top/100% 6px no-repeat,
    repeating-linear-gradient(90deg,rgba(255,255,255,.16) 0 6px,transparent 6px 18px) bottom/100% 6px no-repeat,
    #100B12;
  border:1px solid var(--line);
}
.fr{position:relative;background:#1B121E;border-radius:8px;overflow:hidden}
.fr img{width:100%;height:300px;object-fit:cover;object-position:top center;border-radius:8px}
.fnum{
  position:absolute;left:10px;top:10px;z-index:2;
  width:22px;height:22px;border-radius:5px;display:grid;place-items:center;
  background:rgba(23,17,26,.82);border:1px solid rgba(255,201,74,.5);
  color:var(--gold);font-size:11px;font-weight:800;
}
.fr figcaption{font-size:12.3px;color:#8E7684;line-height:1.7;padding:10px 4px 12px}
.fr figcaption b{display:block;color:var(--pink);font-size:13.5px;margin-bottom:2px}
.fr:nth-child(even){margin-top:16px}

/* guide：阶梯式序号 */
.stair{list-style:none;display:grid;gap:10px;counter-reset:st}
.stair li{
  display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:center;
  background:var(--card);border:1px solid var(--line);border-radius:10px;
  padding:15px 20px;
}
.stair li:nth-child(2){margin-left:26px}
.stair li:nth-child(3){margin-left:52px}
.stair li:nth-child(4){margin-left:78px}
.stair li:nth-child(5){margin-left:104px}
.stair b{
  font-size:22px;font-weight:800;letter-spacing:-.03em;color:transparent;
  -webkit-text-stroke:1px var(--pink);
}
.stair span{font-size:14.5px;color:#DCC9D4}
.gnote{background:#241A28;border-left:3px solid var(--gold);color:var(--muted)}

/* faq：行式，问左答右 */
.frow{display:grid;gap:0;border-top:1px solid var(--line)}
.fq{
  display:grid;grid-template-columns:44px 1fr 1.1fr;gap:18px;align-items:start;
  padding:18px 6px;border-bottom:1px solid var(--line);
}
.qi{font-size:13px;font-weight:800;color:var(--pink);letter-spacing:.04em;padding-top:2px}
.fq h3{font-size:15.5px;color:#FFF6FA;line-height:1.6}
.fq p{font-size:13.5px;color:var(--muted);line-height:1.8}
.fq:hover{background:#1C1420}

/* reviews */
.rvw{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}
.rv{
  position:relative;background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:26px 22px 20px;
}
.rv:nth-child(2){margin-top:18px;border-color:#5B3A57}
.rq{
  position:absolute;right:16px;top:-2px;font-size:52px;line-height:1;color:#4A2C43;
  font-family:Georgia,serif;
}
.rv blockquote{font-size:13.8px;color:#DCC9D4;line-height:1.85;position:relative}
.who{border-top:1px dashed #3A2A3C;color:#8E7684}
.who i{background:#33223A;color:var(--gold);border-radius:50%}

/* get */
.get{background:linear-gradient(155deg,#F03A80 0%,#A81C52 58%,#3A1229 100%)}
.get h2 em{color:var(--gold)}
.get p{color:#FFE1EC}
.get .btn{background:var(--gold);color:#1A1018;box-shadow:0 12px 28px rgba(0,0,0,.28)}
.get .btn:hover{background:#FFD873}
.chips span{color:#FFE1EC;border-color:rgba(255,255,255,.38)}

/* footer */
.ft{background:#110B13;color:#B7A2AE}
.ft-l{color:var(--pink)}
.ft-nav{border-color:#2E2033}
.ft-c{color:#6E5866}
.backtop{background:var(--pink);box-shadow:0 10px 24px rgba(240,58,128,.32)}

@media (max-width:960px){
  .hero-in{grid-template-columns:1fr;gap:40px}
  .archcard{max-width:300px}
  .archcard img{height:400px;object-position:center 34%}
  .arc-tag{display:none}
  .rank{right:0;bottom:10px}
  .fgrid{grid-template-columns:1fr 1fr}
  .film{grid-template-columns:1fr 1fr}
  .fr img{height:280px}
  .stair li:nth-child(n){margin-left:0}
  .rvw{grid-template-columns:1fr}
  .rv:nth-child(2){margin-top:0}
  .nav{background:#1B121D;border:1px solid var(--line)}
}
@media (max-width:700px){
  .fgrid{grid-template-columns:1fr}
  .fc-wide{grid-column:auto}
  .fc:last-child{grid-column:auto}
  .film{grid-template-columns:1fr;gap:12px;padding:18px 10px 14px}
  .fr{display:grid;grid-template-columns:106px 1fr;align-items:center;background:#1B121E}
  .fr img{height:176px;border-radius:8px 0 0 8px}
  .fr figcaption{padding:10px 12px}
  .fr:nth-child(even){margin-top:0}
  .fnum{left:8px;top:8px}
  .fq{grid-template-columns:36px 1fr;gap:10px}
  .fq p{grid-column:2;margin-top:4px}
  .sec{padding:54px 0}
  .archcard img{height:340px;object-position:center 34%}
  .facts li{min-width:96px;padding:8px 12px}
}

/* backtop 修复：JS 加 on 类 */
.backtop.on{opacity:1;pointer-events:auto}
