/* ══ 典藏级门户页 ══ */
body.scrollable{overflow-y:auto;overflow-x:hidden}
.portal{position:relative;z-index:10;min-height:100vh;padding:calc(var(--bar-t) + 60px) var(--pad-x) 76px}
.hero{max-width:1260px;margin:0 auto}
.hero-t{margin:18px 0 22px;font:700 clamp(48px,9.2vw,130px)/.86 var(--serif);letter-spacing:-.062em;
  background:linear-gradient(155deg,#f6f4ed 38%,#aeb8b2 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-t em{display:block;margin-top:16px;color:transparent;font:700 .33em/1 var(--serif);font-style:normal;
  letter-spacing:.12em;-webkit-text-stroke:1px rgba(228,222,203,.28)}
.hero-meta{display:flex;flex-wrap:wrap;gap:36px;margin:32px 0 56px;padding-top:26px;border-top:1px solid var(--hairline)}
.hero-meta div{position:relative;padding-left:15px}
.hero-meta div::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:1px;
  background:linear-gradient(var(--accent),transparent)}
.hero-meta b{display:block;font:400 24px/1 var(--serif)}
.hero-meta small{display:block;margin-top:9px;color:var(--fg-3);font:7px/1.2 var(--mono);letter-spacing:.2em}

.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:1260px;margin:0 auto}
.plate{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:62vh;
  padding:28px 26px;overflow:hidden;border:1px solid var(--hairline);
  background:linear-gradient(180deg,rgba(15,24,31,.44),rgba(4,8,12,.97));
  transition:transform .32s var(--ease),border-color .32s var(--ease),box-shadow .32s var(--ease)}
.plate::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--pc)}
.plate::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(80% 56% at 86% 6%,color-mix(in srgb,var(--pc) 26%,transparent),transparent 60%),
    linear-gradient(150deg,rgba(255,255,255,.04),transparent 44%)}
.plate:hover{transform:translateY(-8px);border-color:color-mix(in srgb,var(--pc) 58%,transparent);
  box-shadow:0 34px 90px color-mix(in srgb,var(--pc) 16%,black)}
.plate-i{position:absolute;top:24px;left:24px;color:var(--fg-3);font:7px/1 var(--mono);letter-spacing:.24em}
.plate-s{position:absolute;top:22px;right:22px;padding:6px 11px;
  color:color-mix(in srgb,var(--pc) 78%,white);font:7px/1 var(--mono);letter-spacing:.2em;
  border:1px solid color-mix(in srgb,var(--pc) 48%,transparent);background:rgba(4,8,12,.55)}
.plate-g{position:absolute;right:-.07em;bottom:-.22em;color:transparent;pointer-events:none;
  font:700 clamp(96px,13.5vw,200px)/.76 var(--serif);letter-spacing:-.08em;
  -webkit-text-stroke:1px color-mix(in srgb,var(--pc) 24%,transparent)}
.plate-body{position:relative;z-index:2;padding-left:13px;border-left:1px solid color-mix(in srgb,var(--pc) 42%,transparent)}
.plate-body small{display:block;color:color-mix(in srgb,var(--pc) 80%,white);font:8.5px/1.2 var(--mono);letter-spacing:.22em}
.plate-body h2{margin:12px 0 13px;font:700 clamp(29px,3.3vw,48px)/.97 var(--serif);letter-spacing:-.048em}
.plate-body p{color:#adb5af;font-size:11.5px;line-height:1.8}
.plate-go{display:flex;align-items:center;justify-content:space-between;margin-top:24px;padding-top:16px;
  border-top:1px solid rgba(255,255,255,.13);color:#d9ded6;font:8px/1 var(--mono);letter-spacing:.18em}
.plate-go i{display:grid;place-items:center;width:34px;height:34px;font-style:normal;
  border:1px solid rgba(255,255,255,.18);border-radius:50%;transition:.26s var(--ease)}
.plate:hover .plate-go i{color:#04070a;background:var(--pc);border-color:var(--pc);transform:translateX(4px)}
.plate.off{opacity:.36;pointer-events:none}
.portal-foot{max-width:1260px;margin:44px auto 0;color:#69736f;font:7px/1 var(--mono);letter-spacing:.22em}

/* 阶段页 */
.phase-page{position:relative;z-index:10;min-height:100vh;padding:calc(var(--bar-t) + 54px) var(--pad-x) 70px}
.p-hero{max-width:1260px;margin:0 auto}
.p-num{color:transparent;font:700 clamp(72px,13.5vw,184px)/.76 var(--serif);letter-spacing:-.07em;
  -webkit-text-stroke:1px color-mix(in srgb,var(--accent) 46%,transparent)}
.p-title{margin:12px 0 20px;font:700 clamp(42px,7.8vw,110px)/.88 var(--serif);letter-spacing:-.06em;
  background:linear-gradient(155deg,#f6f4ed 40%,#b0bab4 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.p-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:30px 0 52px;
  border:1px solid var(--hairline);background:var(--hairline)}
.p-stats div{position:relative;padding:16px 17px;background:rgba(6,11,16,.92)}
.p-stats div::before{content:"";position:absolute;left:0;top:0;width:24%;height:2px;background:var(--accent)}
.p-stats small{display:block;color:var(--fg-3);font:7px/1 var(--mono);letter-spacing:.18em}
.p-stats b{display:block;margin-top:10px;font:500 15.5px/1.3 var(--serif)}
.deck-list{display:grid;gap:12px;max-width:1260px;margin:0 auto}
.deck-row{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:26px;
  padding:28px 30px;overflow:hidden;border:1px solid var(--hairline);
  background:linear-gradient(144deg,rgba(19,30,38,.9),rgba(5,10,14,.97));transition:.28s var(--ease)}
.deck-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--dc)}
.deck-row::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(150deg,rgba(255,255,255,.04),transparent 44%)}
.deck-row:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--dc) 58%,transparent);
  box-shadow:0 24px 66px rgba(0,0,0,.4)}
.deck-seal{position:relative;width:66px;height:66px;display:grid;place-items:center;border-radius:50%;
  color:color-mix(in srgb,var(--dc) 78%,white);font:700 23px/1 var(--serif);
  border:1px solid color-mix(in srgb,var(--dc) 66%,white 8%);box-shadow:inset 0 0 0 6px rgba(0,0,0,.18)}
.deck-seal::after{content:"";position:absolute;inset:-9px;border-radius:50%;
  border:1px dashed color-mix(in srgb,var(--dc) 32%,transparent)}
.deck-row small{display:block;color:var(--fg-3);font:7px/1 var(--mono);letter-spacing:.2em}
.deck-row h2{position:relative;margin:10px 0 8px;font:700 clamp(21px,2.5vw,33px)/1.2 var(--serif);letter-spacing:-.038em}
.deck-ideo{color:color-mix(in srgb,var(--dc) 74%,white);font-size:10.5px;letter-spacing:.1em}
.deck-row p{position:relative;margin-top:11px;color:#aab3ad;font-size:11.5px;line-height:1.76}
.deck-arrow{position:relative;display:grid;place-items:center;width:46px;height:46px;font-size:15px;
  border:1px solid var(--line-2);border-radius:50%;transition:.26s var(--ease)}
.deck-row:hover .deck-arrow{color:#04070a;background:var(--dc);border-color:var(--dc);transform:translateX(3px)}
.deck-row.off{opacity:.38;pointer-events:none}

@media(max-width:1000px){
  .gallery{grid-template-columns:1fr}
  .plate{min-height:40vh}
  .p-stats{grid-template-columns:1fr}
}
@media(max-width:760px){
  .portal,.phase-page{padding:calc(var(--bar-t) + 28px) 16px 48px}
  .hero-meta{gap:22px;margin:24px 0 32px}
  .hero-t em{margin-top:11px;font-size:.29em}
  .deck-row{grid-template-columns:auto 1fr;gap:15px;padding:18px}
  .deck-arrow{display:none}
  .deck-seal{width:52px;height:52px;font-size:19px}
  .p-num{font-size:66px}
}