/* ============ 基础与变量 ============ */
:root{
  --bg:#14081f;
  --bg-2:#1c0e2e;
  --bg-deep:#0e0518;
  --ink:#ff6b1a;
  --ink-soft:#ff8c47;
  --teal:#00c9b7;
  --yellow:#ffd93d;
  --magenta:#ff3d8d;
  --paper:#fff4de;
  --text:#f3eaff;
  --muted:#b7a6d8;
  --dark:#221031;
  --display:'ZCOOL KuaiLe','Bungee','Noto Sans SC',sans-serif;
  --latin:'Bungee','ZCOOL KuaiLe',cursive;
  --body:'Noto Sans SC',sans-serif;
  --hard:7px 7px 0 rgba(8,3,15,.85);
  --hard-lg:10px 12px 0 rgba(8,3,15,.85);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--body);
  font-size:16px;
  line-height:1.75;
  overflow-x:hidden;
}
/* 全局半调网点纹理 */
body::before{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.045) 1.2px,transparent 1.7px);
  background-size:16px 16px;
}
img,svg{display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--yellow);outline-offset:3px;border-radius:6px}
::selection{background:var(--ink);color:#14081f}
.wrap{max-width:1120px;margin:0 auto;position:relative;z-index:1}
.latin{font-family:var(--latin);font-weight:400;letter-spacing:.04em}
.ic{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ic-fill{width:1em;height:1em;fill:currentColor;stroke:none;flex:none}

/* ============ 顶部油墨条 + 导航 ============ */
.inkbar{height:5px;background:linear-gradient(90deg,var(--ink) 0%,var(--yellow) 33%,var(--teal) 66%,var(--magenta) 100%)}
.nav{
  position:sticky;top:0;z-index:60;
  background:rgba(18,7,30,.82);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:2px solid rgba(255,107,26,.4);
}
.nav-inner{
  max-width:1120px;margin:0 auto;padding:.65rem 1.25rem;
  display:flex;align-items:center;gap:1.2rem;
}
.brand{display:flex;align-items:center;gap:.55rem;text-decoration:none;flex:none}
.brand-splat{width:30px;height:30px;color:var(--ink);transform:rotate(-12deg)}
.brand-name{font-family:var(--display);font-size:1.12rem;color:var(--text);line-height:1.1}
.brand-name small{display:block;font-family:var(--latin);font-size:.58rem;color:var(--teal);letter-spacing:.14em}
.nav-links{
  display:flex;gap:.2rem;overflow-x:auto;white-space:nowrap;
  scrollbar-width:none;-ms-overflow-style:none;
  mask-image:linear-gradient(90deg,#000 92%,transparent);
  -webkit-mask-image:linear-gradient(90deg,#000 92%,transparent);
}
.nav-links::-webkit-scrollbar{display:none}
.nav-link{
  font-size:.86rem;font-weight:700;color:var(--muted);text-decoration:none;
  padding:.35rem .7rem;border-radius:999px;transition:color .2s,background .2s;
}
.nav-link:hover{color:#14081f;background:var(--yellow)}

/* ============ 贴纸通用样式 ============ */
.sticker{
  background:var(--paper);color:var(--dark);
  border:3px solid #14081f;border-radius:20px;
  box-shadow:var(--hard);
  rotate:-1.1deg;
  transition:rotate .25s ease,translate .25s ease,box-shadow .25s ease;
}
.sticker:hover{rotate:0deg;translate:0 -5px;box-shadow:var(--hard-lg)}
.sticker--b{rotate:1.2deg}
.sticker--b:hover{rotate:0deg}
.tag{
  display:inline-block;background:#14081f;color:var(--paper);
  font-size:.72rem;font-weight:700;letter-spacing:.05em;
  border-radius:999px;padding:.18em .75em;margin:.14em .14em .14em 0;
}
.tag--ink{background:var(--ink)}.tag--teal{background:var(--teal);color:#062a26}
.tag--yellow{background:var(--yellow);color:#4a3500}.tag--magenta{background:var(--magenta)}
.zy{
  display:inline-block;vertical-align:super;font-size:.62em;font-weight:900;
  color:var(--magenta);border:1.5px solid var(--magenta);border-radius:6px;
  padding:0 .35em;line-height:1.5;transform:rotate(-4deg);margin-left:.15em;
}
.stamp{
  display:inline-block;font-family:var(--display);
  color:var(--magenta);border:3px solid var(--magenta);border-radius:10px;
  padding:.15em .7em;font-size:.95rem;transform:rotate(-7deg);
  background:rgba(255,61,141,.08);letter-spacing:.1em;
}

/* ============ Hero ============ */
.hero{
  position:relative;overflow:hidden;z-index:1;
  padding:5.2rem 1.25rem 6.5rem;
  background:linear-gradient(rgba(20,8,31,.78),rgba(20,8,31,.58) 55%,rgba(20,8,31,.88)),url("../img/official/hero.jpg") center 28%/cover no-repeat #14081f;
}
.hero .blob{display:none}
.hero-credit{position:absolute;right:.9rem;bottom:.7rem;z-index:2;font-size:.72rem;color:rgba(255,255,255,.55);letter-spacing:.04em}
.blob{position:absolute;filter:blur(70px);opacity:.5;pointer-events:none;z-index:0}
.blob--a{
  width:46vmin;height:46vmin;left:-10vmin;top:-8vmin;
  background:var(--ink);border-radius:58% 42% 55% 45%/52% 60% 40% 48%;
  animation:drift 16s ease-in-out infinite alternate;
}
.blob--b{
  width:52vmin;height:52vmin;right:-14vmin;top:16vmin;
  background:var(--teal);border-radius:45% 55% 48% 52%/60% 42% 58% 40%;
  animation:drift 20s ease-in-out infinite alternate-reverse;opacity:.38;
}
.blob--c{
  width:34vmin;height:34vmin;left:32%;bottom:-16vmin;
  background:var(--magenta);border-radius:60% 40% 42% 58%/48% 55% 45% 52%;
  animation:drift 24s ease-in-out infinite alternate;opacity:.3;
}
@keyframes drift{
  from{transform:translate(0,0) rotate(0deg) scale(1)}
  to{transform:translate(5vmin,-4vmin) rotate(24deg) scale(1.12)}
}
.hero-word{
  position:absolute;left:50%;top:2.5rem;transform:translateX(-50%) rotate(-2deg);
  font-family:var(--latin);font-size:clamp(5rem,17vw,13rem);line-height:1;
  color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.07);
  white-space:nowrap;pointer-events:none;z-index:0;user-select:none;
}
.hero-dots{
  position:absolute;right:-6%;top:-14%;width:56vmin;height:56vmin;border-radius:50%;
  background-image:radial-gradient(rgba(255,107,26,.4) 2px,transparent 2.8px);
  background-size:18px 18px;pointer-events:none;z-index:0;
  -webkit-mask-image:radial-gradient(circle,#000 25%,transparent 66%);
  mask-image:radial-gradient(circle,#000 25%,transparent 66%);
}
.hero-splat{position:absolute;color:var(--yellow);opacity:.16;pointer-events:none;z-index:0}
.hero-splat--1{width:120px;left:6%;bottom:14%;animation:bob 9s ease-in-out infinite alternate}
.hero-splat--2{width:70px;right:10%;top:22%;color:var(--teal);opacity:.22;animation:bob 7s ease-in-out infinite alternate-reverse}
.hero-splat--3{width:46px;left:22%;top:14%;color:var(--magenta);animation:bob 8s ease-in-out infinite alternate}
@keyframes bob{from{transform:translateY(0) rotate(-8deg)}to{transform:translateY(-22px) rotate(10deg)}}
.hero-inner{position:relative;z-index:1;max-width:1120px;margin:0 auto;text-align:center}
.hero-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem;margin-bottom:1.8rem}
.badge-sticker{
  font-family:var(--display);font-size:.92rem;text-decoration:none;
  padding:.35em 1.1em;border:3px solid #14081f;border-radius:999px;
  box-shadow:4px 4px 0 rgba(8,3,15,.85);
  transition:rotate .25s ease,translate .25s ease;
}
.badge-sticker:hover{rotate:0deg !important;translate:0 -3px}
.badge--platform{background:var(--yellow);color:#3d2c00;rotate:-3deg}
.badge--date{background:var(--teal);color:#052b27;rotate:2deg}
.badge--fan{background:var(--paper);color:var(--dark);rotate:-1deg}
.hero-kicker{
  font-family:var(--latin);color:var(--teal);
  font-size:clamp(.8rem,2.4vw,1.05rem);letter-spacing:.35em;margin-bottom:.6rem;
}
.hero-title{
  font-family:var(--display);font-weight:400;
  font-size:clamp(2.7rem,9.5vw,5.4rem);line-height:1.12;
  color:var(--text);
  text-shadow:4px 4px 0 var(--ink),9px 9px 0 rgba(8,3,15,.6);
  transform:rotate(-1.5deg);margin-bottom:.4rem;
}
.hero-latin{
  font-family:var(--latin);
  font-size:clamp(1rem,3.6vw,1.7rem);letter-spacing:.18em;
  color:var(--yellow);text-shadow:3px 3px 0 rgba(8,3,15,.7);
  margin-bottom:1.3rem;
}
.hero-tag{max-width:620px;margin:0 auto 2.2rem;color:var(--muted);font-size:clamp(.95rem,2.4vw,1.08rem)}
.hero-tag strong{color:var(--text)}
.cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:3rem}
.btn{
  font-family:var(--display);font-size:1.05rem;text-decoration:none;
  padding:.7em 1.6em;border:3px solid #14081f;border-radius:16px;
  box-shadow:5px 5px 0 rgba(8,3,15,.85);
  transition:rotate .25s ease,translate .25s ease,box-shadow .25s ease;
}
.btn:hover{translate:0 -4px;box-shadow:7px 9px 0 rgba(8,3,15,.85)}
.btn--primary{background:var(--ink);color:#2b1000;rotate:-1.5deg}
.btn--primary:hover{rotate:0deg}
.btn--ghost{background:transparent;color:var(--teal);border-color:var(--teal);rotate:1.5deg}
.btn--ghost:hover{rotate:0deg;background:rgba(0,201,183,.1)}
.countdown{max-width:640px;margin:0 auto}
.cd-label{
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--display);color:var(--muted);letter-spacing:.2em;
  font-size:.95rem;margin-bottom:1rem;
}
.cd-grid{display:flex;align-items:stretch;justify-content:center;gap:.6rem}
.cd-cell{
  background:var(--paper);color:var(--dark);
  border:3px solid #14081f;border-radius:16px;box-shadow:var(--hard);
  padding:.7rem .4rem .5rem;min-width:74px;flex:1;max-width:120px;
}
.cd-num{
  display:block;font-family:var(--latin);
  font-size:clamp(1.7rem,6vw,2.6rem);line-height:1;color:var(--ink);
}
.cd-cell:nth-child(4) .cd-num{color:var(--teal)}
.cd-cell:nth-child(6) .cd-num{color:#e08700}
.cd-cell:nth-child(8) .cd-num{color:var(--magenta)}
.cd-unit{display:block;font-size:.72rem;font-weight:900;letter-spacing:.3em;margin-top:.35rem;color:#6b567f}
.cd-sep{
  align-self:center;font-family:var(--latin);color:rgba(255,255,255,.35);
  font-size:1.6rem;padding-bottom:.6rem;
}
.released{
  font-family:var(--display);font-size:clamp(1.6rem,5vw,2.4rem);
  color:var(--yellow);text-shadow:3px 3px 0 rgba(8,3,15,.7);
  padding:1.2rem 0;
}

/* ============ 分节与锯齿分隔线 ============ */
.sec{position:relative;padding:4.6rem 1.25rem;z-index:1}
.sec--band{background:var(--bg-2)}
.divider{display:block;width:100%;margin-bottom:-1px;position:relative;z-index:1}
.divider svg{width:100%;height:38px;display:block}
.sec-head{text-align:center;max-width:720px;margin:0 auto 3rem}
.sec-kicker{
  font-family:var(--latin);font-size:.8rem;letter-spacing:.4em;
  color:var(--teal);margin-bottom:.5rem;
}
.sec-title{
  font-family:var(--display);font-weight:400;
  font-size:clamp(1.9rem,5.5vw,2.9rem);line-height:1.2;
  color:var(--text);text-shadow:3px 3px 0 var(--ink);
  transform:rotate(-1deg);
}
.sec-title--teal{text-shadow:3px 3px 0 var(--teal)}
.sec-title--yellow{text-shadow:3px 3px 0 #d9a400}
.sec-title--magenta{text-shadow:3px 3px 0 var(--magenta)}
.sec-sub{color:var(--muted);margin-top:.9rem;font-size:.98rem}

/* ============ 资讯时间线 ============ */
.timeline{list-style:none;position:relative;max-width:760px;margin:0 auto;padding-left:2.2rem}
.timeline::before{
  content:'';position:absolute;left:9px;top:8px;bottom:8px;width:4px;border-radius:2px;
  background:repeating-linear-gradient(180deg,var(--ink) 0 14px,var(--teal) 14px 28px,var(--yellow) 28px 42px);
  opacity:.7;
}
.t-item{position:relative;margin-bottom:1.6rem}
.t-item:last-child{margin-bottom:0}
.t-dot{
  position:absolute;left:-2.2rem;top:1.15rem;width:22px;height:22px;
  color:var(--ink);
}
.t-item:nth-child(3n+2) .t-dot{color:var(--teal)}
.t-item:nth-child(3n) .t-dot{color:var(--yellow)}
.t-card{padding:1.15rem 1.35rem 1.05rem}
.t-date{
  display:inline-block;font-family:var(--latin);font-size:.82rem;
  background:#14081f;color:var(--yellow);border-radius:8px;
  padding:.2em .7em;margin-bottom:.5rem;letter-spacing:.06em;
}
.t-card h3{font-family:var(--display);font-weight:400;font-size:1.2rem;margin-bottom:.25rem;color:var(--dark)}
.t-card p{font-size:.92rem;color:#4c3a63}
.t-card .tag{margin-top:.5rem}

/* ============ 卡片网格 ============ */
.card-grid{display:grid;gap:1.5rem}
@media(min-width:640px){.card-grid--2{grid-template-columns:repeat(2,1fr)}}
@media(min-width:640px){.card-grid--3{grid-template-columns:repeat(2,1fr)}}
@media(min-width:980px){.card-grid--3{grid-template-columns:repeat(3,1fr)}}
@media(min-width:640px){.card-grid--4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:980px){.card-grid--4{grid-template-columns:repeat(4,1fr)}}
.card{padding:1.5rem 1.4rem 1.3rem;position:relative}
.card-ic{
  width:52px;height:52px;border-radius:16px;border:3px solid #14081f;
  display:flex;align-items:center;justify-content:center;
  background:var(--c,var(--ink));color:#14081f;margin-bottom:.9rem;
  box-shadow:4px 4px 0 rgba(8,3,15,.6);transform:rotate(-4deg);
}
.card-ic .ic{width:26px;height:26px}
.card h3{font-family:var(--display);font-weight:400;font-size:1.35rem;color:var(--dark);line-height:1.3}
.card h3 .latin{font-size:.85em;color:#7a6390;letter-spacing:.06em}
.card-role{
  display:inline-block;font-size:.8rem;font-weight:900;color:#fff;
  background:var(--dark);border-radius:999px;padding:.15em .8em;margin:.45rem 0 .6rem;
}
.card p{font-size:.92rem;color:#4c3a63}
.card ul{list-style:none;margin-top:.6rem}
.card ul li{
  font-size:.92rem;color:#4c3a63;padding-left:1.3em;position:relative;margin-bottom:.35rem;
}
.card ul li::before{
  content:'';position:absolute;left:0;top:.5em;width:.62em;height:.62em;
  background:var(--c,var(--ink));border-radius:58% 42% 55% 45%/52% 60% 40% 48%;
  border:1.5px solid #14081f;
}
.card .note{
  margin-top:.8rem;padding:.6rem .8rem;border-radius:12px;
  background:rgba(20,8,31,.06);border:2px dashed rgba(20,8,31,.25);
  font-size:.82rem;color:#5d4a78;
}
.full-row{grid-column:1/-1}

/* ============ 世界观 ============ */
.world-grid{display:grid;gap:1.5rem;align-items:start}
@media(min-width:920px){.world-grid{grid-template-columns:1.5fr 1fr}}
.story-panel{padding:1.6rem 1.5rem}
.story-list{list-style:none}
.story-item{display:flex;gap:.9rem;margin-bottom:1.1rem;align-items:flex-start}
.story-item:last-child{margin-bottom:0}
.story-num{
  flex:none;width:34px;height:34px;border-radius:12px;border:3px solid #14081f;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--latin);font-size:.95rem;color:#14081f;
  background:var(--c,var(--ink));box-shadow:3px 3px 0 rgba(8,3,15,.6);
  transform:rotate(-5deg);
}
.story-item p{font-size:.95rem;color:#4c3a63;padding-top:.2rem}
.story-item strong{color:var(--dark)}
.fact-card{padding:1.4rem 1.3rem}
.fact-card h3{font-family:var(--display);font-weight:400;font-size:1.25rem;color:var(--dark);margin-bottom:.8rem}
.fact-row{display:flex;gap:.7rem;padding:.55rem 0;border-bottom:2px dashed rgba(20,8,31,.18);align-items:baseline}
.fact-row:last-child{border-bottom:none}
.fact-k{
  flex:none;font-size:.75rem;font-weight:900;color:#fff;background:var(--dark);
  border-radius:6px;padding:.15em .55em;
}
.fact-v{font-size:.9rem;color:#4c3a63}

/* ============ 墨槽 Tank ============ */
.tank-grid{display:grid;gap:1.1rem;margin-top:1.1rem}
@media(min-width:760px){.tank-grid{grid-template-columns:repeat(3,1fr)}}
.tank{
  border:3px solid #14081f;border-radius:16px;padding:1.1rem 1rem;
  background:#fff;box-shadow:5px 5px 0 rgba(8,3,15,.5);
  rotate:.8deg;transition:rotate .25s ease,translate .25s ease;
}
.tank:nth-child(2){rotate:-.8deg}
.tank:hover{rotate:0deg;translate:0 -4px}
.tank h4{
  font-family:var(--latin);font-size:1.05rem;letter-spacing:.06em;
  color:var(--c);margin-bottom:.15rem;display:flex;align-items:center;gap:.45rem;
}
.tank h4 .ic{width:20px;height:20px}
.tank-sub{font-size:.78rem;font-weight:900;color:#8a76a3;letter-spacing:.12em;margin-bottom:.7rem}
.tank .tag{background:var(--c);color:#14081f}

/* ============ 难度 / 联机 ============ */
.duo-grid{display:grid;gap:1.5rem}
@media(min-width:860px){.duo-grid{grid-template-columns:1fr 1fr}}

/* ============ 价格表 ============ */
.table-wrap{overflow-x:auto;border-radius:20px}
table.price{
  width:100%;border-collapse:separate;border-spacing:0;
  background:var(--paper);color:var(--dark);
  border:3px solid #14081f;border-radius:20px;overflow:hidden;
  box-shadow:var(--hard);min-width:520px;
}
table.price th,table.price td{padding:.85rem 1.1rem;text-align:left;font-size:.95rem}
table.price thead th{
  font-family:var(--display);font-weight:400;font-size:1.02rem;
  background:var(--ink);color:#2b1000;letter-spacing:.08em;
}
table.price tbody tr:nth-child(even){background:rgba(20,8,31,.05)}
table.price tbody td{border-top:2px dashed rgba(20,8,31,.15)}
table.price td .latin{color:#8a76a3;font-size:.85em}
.price-num{font-weight:900;color:#c24e00;white-space:nowrap}
.facts{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;margin-top:1.6rem}
.fact-chip{
  display:inline-flex;align-items:center;gap:.5rem;
  background:var(--bg-3,#241238);border:2px solid rgba(255,255,255,.18);
  color:var(--text);border-radius:999px;padding:.45em 1.1em;font-size:.88rem;font-weight:700;
}
.fact-chip .ic{color:var(--teal);width:18px;height:18px}

/* ============ 攻略预告 ============ */
.guide-card{text-align:center;padding:1.7rem 1.2rem 1.5rem}
.guide-card .stamp{margin-top:1rem}
.guide-card .card-ic{margin-left:auto;margin-right:auto}

/* ============ 页脚 ============ */
.footer{background:var(--bg-deep);padding:4rem 1.25rem 3rem;position:relative;z-index:1}
.foot-inner{max-width:820px;margin:0 auto;text-align:center}
.foot-brand{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-bottom:1.4rem}
.foot-brand .brand-splat{width:26px;height:26px}
.foot-brand span{font-family:var(--display);font-size:1.1rem;color:var(--text)}
.disclaimer{font-size:.85rem;color:var(--muted);line-height:1.9}
.disclaimer strong{color:var(--text)}
.sources{font-size:.82rem;color:#7c6a99;margin-top:1rem}
.sources a{color:var(--teal);text-decoration:none;border-bottom:1px dashed rgba(0,201,183,.5)}
.sources a:hover{color:var(--yellow);border-color:var(--yellow)}
.foot-ornament{
  display:flex;align-items:center;justify-content:center;gap:1rem;
  margin:2.2rem auto 0;max-width:420px;
}
.foot-ornament::before,.foot-ornament::after{
  content:'';flex:1;height:2px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22));
}
.foot-ornament::after{background:linear-gradient(90deg,rgba(255,255,255,.22),transparent)}
.deerflow{
  font-family:var(--latin);font-size:.72rem;letter-spacing:.14em;
  color:#6f5f8c;text-decoration:none;transition:color .25s;white-space:nowrap;
}
.deerflow:hover{color:var(--teal)}

/* ============ Scroll Reveal ============ */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1)}
.reveal.is-in{opacity:1;transform:none}
.reveal-d1{transition-delay:.08s}.reveal-d2{transition-delay:.16s}
.reveal-d3{transition-delay:.24s}.reveal-d4{transition-delay:.32s}

/* ============ 小屏微调 ============ */
@media(max-width:520px){
  .sec{padding:3.6rem 1rem}
  .hero{padding:4rem 1rem 5rem}
  .cd-cell{min-width:0}
  .cd-sep{display:none}
  .cd-grid{gap:.45rem}
  .t-card{padding:1rem 1.05rem .95rem}
}

/* ============ 减少动效降级 ============ */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none !important;transition:none !important}
  .reveal{opacity:1;transform:none}
}

/* ============ v2 · 多页结构组件 ============ */
/* 面包屑 */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;font-size:.86rem;color:var(--muted);margin-bottom:2rem}
.crumbs a{color:var(--teal);text-decoration:none;border-bottom:1px dashed rgba(0,201,183,.5)}
.crumbs a:hover{color:var(--yellow);border-color:var(--yellow)}
.crumbs-sep{opacity:.45}
.crumbs [aria-current="page"]{color:var(--text);font-weight:700}
/* 主题页页头 */
.sec--first{padding-top:2.4rem}
.wrap--narrow{max-width:880px}
.page-head{text-align:center;max-width:720px;margin:0 auto 2.4rem}
.page-title{font-family:var(--display);font-weight:400;font-size:clamp(2.2rem,6.5vw,3.3rem);line-height:1.15;color:var(--text);text-shadow:3px 3px 0 var(--ink);transform:rotate(-1deg)}
.page-desc{color:var(--muted);margin-top:.8rem;font-size:.98rem}
/* Quick Answer / Quick Facts */
.qa-grid{display:grid;gap:1.5rem;align-items:start}
@media(min-width:880px){.qa-grid{grid-template-columns:1.25fr 1fr}}
.qa-label{font-family:var(--latin);font-size:.72rem;letter-spacing:.28em;color:#c24e00;margin-bottom:.45rem}
.quick-answer{padding:1.4rem 1.5rem;border-left-width:10px;border-left-color:var(--ink)}
.quick-answer>p{font-size:1rem;color:var(--dark);font-weight:700}
.quick-answer>p+p{margin-top:.45rem;font-weight:400;font-size:.92rem;color:#4c3a63}
.quick-facts{padding:1.3rem 1.4rem}
/* 正文节标题 */
.h2-sec{font-family:var(--display);font-weight:400;font-size:clamp(1.45rem,4vw,1.95rem);color:var(--text);text-shadow:2px 2px 0 var(--teal);transform:rotate(-.6deg);margin:3rem 0 1.2rem}
.h2-sec--ink{text-shadow:2px 2px 0 var(--ink)}
.h2-sec--yellow{text-shadow:2px 2px 0 #d9a400}
.h2-sec--magenta{text-shadow:2px 2px 0 var(--magenta)}
/* 发售前待验证清单 */
.verify-list{list-style:none;margin-top:.5rem}
.verify-item{display:flex;gap:.7rem;align-items:flex-start;margin-bottom:.6rem}
.verify-item:last-child{margin-bottom:0}
.verify-badge{flex:none;width:24px;height:24px;border-radius:8px;background:var(--yellow);color:#4a3500;border:2px solid #14081f;font-weight:900;font-size:.82rem;display:inline-flex;align-items:center;justify-content:center;transform:rotate(-4deg)}
.verify-item p{font-size:.92rem;color:#4c3a63;padding-top:.05rem}
/* FAQ */
.faq-item{margin-bottom:1.2rem}
.faq-item:last-child{margin-bottom:0}
.faq-item h3{display:flex;gap:.6rem;align-items:flex-start;font-family:var(--display);font-weight:400;font-size:1.14rem;color:var(--dark);line-height:1.4}
.faq-q{flex:none;width:26px;height:26px;border-radius:8px;background:var(--dark);color:var(--yellow);display:inline-flex;align-items:center;justify-content:center;font-family:var(--latin);font-size:.78rem;transform:rotate(-3deg);margin-top:.1rem}
.faq-item p{margin-top:.45rem;padding-left:2.3rem;font-size:.93rem;color:#4c3a63}
/* 相关攻略 */
.rel-grid{display:grid;gap:1rem}
@media(min-width:560px){.rel-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.rel-grid{grid-template-columns:repeat(4,1fr)}}
.rel-card{display:flex;align-items:center;gap:.7rem;padding:.85rem .95rem;text-decoration:none}
.rel-card .card-ic{width:40px;height:40px;border-radius:12px;margin-bottom:0}
.rel-card .card-ic .ic{width:20px;height:20px}
.rel-card h3{font-family:var(--display);font-weight:400;font-size:1.02rem;color:var(--dark);line-height:1.3}
.rel-card .arr{margin-left:auto;font-family:var(--latin);color:#c24e00;flex:none}
/* 信息来源 */
.src-note{margin-top:2.6rem;padding-top:1.4rem;border-top:2px dashed rgba(255,255,255,.15);font-size:.85rem;color:var(--muted);text-align:center}
.src-note a{color:var(--teal);text-decoration:none;border-bottom:1px dashed rgba(0,201,183,.5)}
.src-note a:hover{color:var(--yellow);border-color:var(--yellow)}
/* 首页主题入口网格 */
.topic-grid{display:grid;gap:1.4rem}
@media(min-width:620px){.topic-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.topic-grid{grid-template-columns:repeat(3,1fr)}}
.topic-card{position:relative;display:flex;flex-direction:column;padding:1.3rem 1.25rem 1.15rem;text-decoration:none}
.topic-card .card-ic{width:46px;height:46px;border-radius:14px;margin-bottom:.8rem}
.topic-card .card-ic .ic{width:23px;height:23px}
.topic-card h3{font-family:var(--display);font-weight:400;font-size:1.28rem;color:var(--dark);line-height:1.3}
.topic-card p{font-size:.88rem;color:#4c3a63;flex:1;margin-top:.3rem}
.topic-go{margin-top:.9rem;font-family:var(--display);font-size:.92rem;color:#c24e00}
.topic-card .tag--soon{position:absolute;top:.9rem;right:.9rem;background:transparent;color:#9d8ab8;border:2px solid #c3b6d9;transform:rotate(4deg)}
/* 导航当前页 */
.nav-link[aria-current="page"]{color:#14081f;background:var(--teal)}

/* 官方影片 */
.video-grid{display:grid;gap:1.4rem}
@media(min-width:860px){.video-grid{grid-template-columns:repeat(3,1fr)}}
.video-card{display:flex;flex-direction:column;padding:1rem 1rem 1.1rem}
.video-wrap{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#0e0518}
.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-card h3{margin-top:.85rem;font-family:var(--display);font-weight:400;font-size:1.1rem;color:var(--dark);line-height:1.35}
.video-card p{margin-top:.3rem;font-size:.88rem;color:#4c3a63}

/* ============ 官方圖像（official images，© Nintendo） ============ */
.of-fig{margin:1.5rem auto}
.of-img{
  display:block;width:100%;max-width:560px;height:auto;margin:0 auto;
  background:var(--paper);
  border:3px solid #14081f;border-radius:20px;
  box-shadow:var(--hard);
}
.of-img--wide{max-width:100%}
.of-cap{
  text-align:center;font-size:.75rem;letter-spacing:.08em;
  color:var(--muted);margin-top:.55rem;
}
.of-row{display:grid;gap:1.2rem;margin:1.5rem auto}
.of-row .of-fig{margin:0}
.of-row .of-img{max-width:100%}
@media(min-width:640px){.of-row{grid-template-columns:repeat(3,1fr)}}
/* 主视觉响应式：平板/手机换对应尺寸官方图 */
@media(max-width:1100px){
  .hero{background-image:linear-gradient(rgba(20,8,31,.78),rgba(20,8,31,.58) 55%,rgba(20,8,31,.88)),url("../img/official/hero_tb.jpg")}
}
@media(max-width:640px){
  .hero{background-image:linear-gradient(rgba(20,8,31,.8),rgba(20,8,31,.6) 55%,rgba(20,8,31,.9)),url("../img/official/hero_sp.jpg");background-position:center 18%}
}
