/* ==========================================================
   血族PVP观察录 · 视觉增强层（首页与文章页共用）
   删除本文件的 <link> 即可恢复原始样式
   ========================================================== */

/* ---------- 全局 ---------- */
html{scroll-padding-top:84px}
::selection{background:rgba(192,33,60,.55);color:#fff}
html{scrollbar-color:#4A3A5E #0B0A12;scrollbar-width:thin}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#0B0A12}
::-webkit-scrollbar-thumb{background:linear-gradient(#5A3A6E,#3A2A4E);border-radius:6px;border:2px solid #0B0A12}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(#7A4A8E,#5A3A6E)}

body{background:
  radial-gradient(1200px 600px at 85% -10%,rgba(90,40,120,.12),transparent 60%),
  radial-gradient(900px 500px at -10% 40%,rgba(140,20,50,.07),transparent 60%),
  var(--bg)}
/* 胶片颗粒 */
body::after{content:"";position:fixed;inset:0;z-index:40;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* 渐隐金线分隔 */
.current,#tier,#about,footer{border-image:linear-gradient(90deg,transparent,rgba(212,175,106,.45) 25%,rgba(212,175,106,.45) 75%,transparent) 1}

/* ---------- 顶部导航 ---------- */
header{position:sticky;top:0;z-index:30;background:rgba(11,10,18,.72);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);
  border-bottom:1px solid transparent;border-image:linear-gradient(90deg,transparent,rgba(212,175,106,.4) 20%,rgba(212,175,106,.4) 80%,transparent) 1;transition:background .3s,box-shadow .3s}
header.hide{transform:translateY(-100%)}
header{transition:background .3s,box-shadow .3s,transform .35s ease}
header.scrolled{background:rgba(9,8,15,.88);box-shadow:0 8px 30px rgba(0,0,0,.45)}
header .wrap{transition:padding .3s}
header.scrolled .wrap{padding-top:8px;padding-bottom:8px}
.logo svg{transition:transform .6s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 0 6px rgba(192,33,60,.45))}
.logo:hover svg{transform:rotate(-25deg) scale(1.08)}
.logo span{background:linear-gradient(180deg,#FFF6E4,#E8C77E);-webkit-background-clip:text;background-clip:text;color:transparent}
nav a{position:relative;color:#DCD4E8;transition:color .2s}
nav a::after{content:"";position:absolute;left:50%;right:50%;bottom:8px;height:1px;background:linear-gradient(90deg,transparent,#E8C77E,transparent);transition:left .3s,right .3s}
nav a:hover::after,nav a.on::after{left:14px;right:14px}
nav a.on{color:#F3E2B0}
@media (max-width:640px){
  html{scroll-padding-top:104px}
  header .wrap{gap:2px;padding-top:8px;padding-bottom:6px}
  nav{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;margin:0 -8px}
  nav::-webkit-scrollbar{display:none}
  nav a{padding:0 10px;min-height:38px;font-size:14px;white-space:nowrap}
}

/* ---------- 魔法阵 & 星火 ---------- */
.fx-circle{position:absolute;pointer-events:none;aspect-ratio:1;mix-blend-mode:screen}
.fx-circle::before,.fx-circle::after{content:"";position:absolute;inset:0;background:center/contain no-repeat}
.fx-circle::before{background-image:url(circle-outer.svg);animation:fxSpin 140s linear infinite}
.fx-circle::after{background-image:url(circle-inner.svg);inset:12%;animation:fxSpin 90s linear infinite reverse}
@keyframes fxSpin{to{transform:rotate(360deg)}}
.fx-embers{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.fx-embers i{position:absolute;bottom:-10px;border-radius:50%;opacity:0;animation:fxRise linear infinite}
@keyframes fxRise{
  0%{transform:translate(0,0) scale(1);opacity:0}
  12%{opacity:var(--o,.8)}
  70%{opacity:calc(var(--o,.8)*.7)}
  100%{transform:translate(var(--dx,20px),calc(-1 * var(--h,700px))) scale(.4);opacity:0}}

/* ---------- 按钮流光 ---------- */
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;z-index:-1;
  background:linear-gradient(100deg,transparent,rgba(255,240,210,.28),transparent);transform:skewX(-20deg);transition:left .7s}
.btn:hover::after{left:130%}
.btn-primary{box-shadow:0 6px 26px rgba(120,50,130,.35),inset 0 1px 0 rgba(255,220,240,.25)}
.btn-primary:hover{box-shadow:0 10px 34px rgba(160,50,120,.5),inset 0 1px 0 rgba(255,220,240,.35)}
.btn-ghost:hover{border-color:rgba(232,199,126,.8);box-shadow:0 0 22px rgba(212,175,106,.18)}

/* ---------- 标题 ---------- */
.eyebrow{display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:28px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.eyebrow::after{content:"";width:6px;height:6px;transform:rotate(45deg);border:1px solid var(--gold)}
.h2,.section h2{background:linear-gradient(180deg,#FFFFFF 10%,#E9DEFA 55%,#C7B2EC);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 10px rgba(120,80,200,.25))}

/* ---------- 金色角饰 ---------- */
.corners{position:relative}
.corners::before,.corners::after{content:"";position:absolute;width:16px;height:16px;pointer-events:none;z-index:2;transition:width .35s,height .35s,opacity .35s;opacity:.75}
.corners::before{top:-1px;left:-1px;border-top:1px solid #E8C77E;border-left:1px solid #E8C77E}
.corners::after{bottom:-1px;right:-1px;border-bottom:1px solid #E8C77E;border-right:1px solid #E8C77E}
.corners:hover::before,.corners:hover::after{width:30px;height:30px;opacity:1}

/* ---------- 回到顶部 ---------- */
.to-top{position:fixed;right:22px;bottom:22px;z-index:35;width:46px;height:46px;border-radius:50%;cursor:pointer;
  border:1px solid rgba(212,175,106,.55);background:radial-gradient(circle at 35% 30%,#3A2550,#15101F);color:#F3E2B0;
  display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.5),0 0 0 4px rgba(212,175,106,.06);
  opacity:0;transform:translateY(12px) scale(.9);pointer-events:none;transition:opacity .3s,transform .3s,box-shadow .3s}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{box-shadow:0 10px 30px rgba(0,0,0,.6),0 0 18px rgba(212,175,106,.35)}
.to-top svg{width:18px;height:18px}

/* ---------- 页脚 ---------- */
.foot-orn{display:flex;justify-content:center;padding:34px 0 0}
.foot-orn span{display:block;width:240px;height:24px;background:url(orn.svg) center/contain no-repeat;opacity:.85}
footer .wrap{padding-top:18px}

/* ---------- 进场淡入 ---------- */
html.js .reveal{opacity:0;transform:translateY(12px);transition:opacity .45s cubic-bezier(.2,.7,.2,1),transform .5s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
html.js .reveal.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  .fx-circle::before,.fx-circle::after,.fx-embers i,.hero h1{animation:none!important}
  html.js .reveal{opacity:1;transform:none;transition:none}
}

/* ==========================================================
   首页
   ========================================================== */
.home .hero .fx-circle{width:min(78vw,760px);right:max(-120px,calc(29% - 380px));top:50%;margin-top:calc(min(78vw,760px) / -2);opacity:.2;z-index:1}
.home .hero-body{z-index:3}
.home .hero h1{background-size:220% 100%;background-image:linear-gradient(100deg,#FFFFFF 0%,#EADFFF 28%,#C9B4F0 46%,#FFF3DA 52%,#E7A9C4 62%,#EADFFF 80%,#FFFFFF 100%);
  animation:fxShine 9s ease-in-out infinite}
@keyframes fxShine{0%,100%{background-position:0% 0}50%{background-position:100% 0}}
.hero-eyebrow{display:flex;align-items:center;gap:12px}
.hero-eyebrow::before{content:"";width:40px;height:1px;background:linear-gradient(90deg,transparent,#D9C08A)}
.scroll-cue{position:absolute;left:max(32px,calc((100% - 1240px) / 2 + 32px));bottom:26px;z-index:3;display:flex;flex-direction:column;align-items:center;gap:8px;
  font-family:var(--latin);font-size:10px;letter-spacing:.4em;color:rgba(217,192,138,.7)}
.scroll-cue i{width:1px;height:38px;background:linear-gradient(#D9C08A,transparent);animation:fxCue 2.2s ease-in-out infinite;transform-origin:top}
@keyframes fxCue{0%{transform:scaleY(0);opacity:0}40%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1) translateY(14px);opacity:0}}
@media (max-width:760px){.scroll-cue{display:none}.home .hero .fx-circle{right:-30%;opacity:.14}}

.current{position:relative;background:linear-gradient(90deg,rgba(60,24,50,.35),rgba(16,14,26,.9) 30%,rgba(16,14,26,.9) 70%,rgba(40,24,70,.35))}
.current .wrap>span:not(.tag){display:inline-flex;align-items:center;gap:12px}
.current .wrap>span:not(.tag)::before{content:"";width:6px;height:6px;transform:rotate(45deg);background:var(--gold);opacity:.65}
.current .tag{padding:3px 10px;border:1px solid rgba(212,175,106,.45);border-radius:2px;background:rgba(212,175,106,.06)}

/* 卡面长廊 */
.strip .pic{transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s,border-color .45s}
.strip .pic::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,transparent 30%,rgba(255,240,220,.22) 48%,transparent 60%);background-size:250% 100%;background-position:120% 0;transition:background-position .9s}
.strip figure:hover .pic{transform:translateY(-6px);border-color:rgba(232,199,126,.85);box-shadow:0 18px 40px rgba(0,0,0,.6),0 0 24px rgba(212,175,106,.22)}
.strip figure:hover .pic::after{background-position:-40% 0}
.strip figcaption{font-family:var(--serif);letter-spacing:.06em;transition:color .3s}
.strip figure:hover figcaption{color:#F3E2B0}
.strip{padding-top:8px}

/* 文章卡 */
.post{box-shadow:0 14px 40px rgba(0,0,0,.35)}
.post:hover{border-color:rgba(212,175,106,.45);transform:translateY(-4px);box-shadow:0 22px 50px rgba(0,0,0,.5),0 0 30px rgba(140,80,200,.12)}
.cover img{transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.post:hover .cover img{transform:scale(1.05)}
.post h3 a{transition:color .2s}
.post:hover h3 a{color:#F3E2B0}
.post-foot::after{content:"阅读全文 →";font-family:var(--serif);font-size:13px;letter-spacing:.1em;color:var(--gold);transition:transform .3s}
.post:hover .post-foot::after{transform:translateX(4px)}

/* 强度榜 */
#tier .orb{animation:fxPulse 8s ease-in-out infinite}
@keyframes fxPulse{0%,100%{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
.row{position:relative;background:linear-gradient(90deg,rgba(255,255,255,.015),transparent 40%),var(--bg);transition:border-color .3s,box-shadow .3s}
.row:hover{border-color:#3E3656}
.row .lab{position:relative;overflow:hidden}
.row .lab::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 2px,transparent 2px 9px)}
.row .lab::after{content:"";position:absolute;top:0;bottom:0;right:0;width:1px;background:linear-gradient(transparent,rgba(255,230,190,.35),transparent)}
.row .lab b{position:relative;font-size:36px;letter-spacing:.04em;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 3px rgba(0,0,0,.55))}
.t0 .lab{background:linear-gradient(160deg,#B0213C,#6E0F22 70%,#4A0A18)}
.t0 .lab b{background-image:linear-gradient(180deg,#FFF6DA 10%,#F2CD7A 50%,#B8803A 90%)}
.t1 .lab{background:linear-gradient(160deg,#5E2550,#3A1430 70%,#2A0E24)}
.t1 .lab b{background-image:linear-gradient(180deg,#FFFFFF 10%,#F1D3E4 50%,#B98AA6 90%)}
.t2 .lab{background:linear-gradient(160deg,#352B55,#221B3A 70%,#18132A)}
.t2 .lab b{background-image:linear-gradient(180deg,#FFFFFF 10%,#D8D2EC 50%,#9A90B8 90%)}
.row.t0{border-color:rgba(212,175,106,.35);box-shadow:0 0 0 1px rgba(212,175,106,.08),0 0 34px rgba(192,33,60,.16)}
.row.t0::before{content:"";position:absolute;inset:-1px;border-radius:3px;pointer-events:none;
  background:linear-gradient(90deg,rgba(232,199,126,.7),transparent 30%,transparent 70%,rgba(232,199,126,.45)) top/100% 1px no-repeat,
             linear-gradient(90deg,rgba(232,199,126,.45),transparent 30%,transparent 70%,rgba(232,199,126,.7)) bottom/100% 1px no-repeat}
.t0 .ava{box-shadow:0 0 0 1px rgba(232,199,126,.55),0 4px 14px rgba(0,0,0,.45)}
.slot.has-skill .ava{transition:transform .25s,box-shadow .25s}
.slot.has-skill:hover .ava{transform:translateY(-4px) scale(1.04)}

/* 关于本站 */
.qq-grid{position:relative;background:linear-gradient(135deg,rgba(40,26,64,.55),rgba(11,10,18,.75));backdrop-filter:blur(4px)}
.qq{padding:4px 0;border-bottom:1px dashed rgba(58,53,80,.6)}
.qq:last-child,.qq:nth-last-child(2):nth-child(odd){border-bottom:0}
.qq-copy{transition:background .2s,border-color .2s,color .2s}
.qq-copy:hover{border-color:rgba(232,199,126,.85);color:#FFF3DA}

/* ==========================================================
   文章页
   ========================================================== */
.read-bar{position:fixed;left:0;top:0;z-index:31;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(0);
  background:linear-gradient(90deg,#C0213C,#E8C77E 60%,#B9A0F0);box-shadow:0 0 10px rgba(232,199,126,.6)}
.article .banner .fx-circle{width:560px;right:max(-100px,calc(31% - 280px));top:50%;margin-top:-280px;opacity:.18;z-index:0}
.article .banner .wrap{z-index:2}
.article .banner{min-height:460px}
.banner h1{background-size:220% 100%;background-image:linear-gradient(100deg,#FFFFFF 0%,#EADFFF 30%,#FFF3DA 50%,#C9B4F0 70%,#FFFFFF 100%);animation:fxShine 9s ease-in-out infinite}
.back{transition:gap .25s,color .2s}
.back:hover{gap:12px}

.toc{top:96px;padding-left:0;border-left:0}
.toc::before{content:"";position:absolute;left:0;top:30px;bottom:0;width:1px;background:linear-gradient(var(--line2),transparent)}
.toc{position:sticky}
.toc a{position:relative;padding-left:18px;transition:color .2s,padding-left .25s}
.toc a::before{content:"";position:absolute;left:-3px;top:50%;width:7px;height:7px;margin-top:-3.5px;transform:rotate(45deg);
  border:1px solid #5A5470;background:var(--bg);transition:background .25s,border-color .25s,box-shadow .25s}
.toc a.on{color:#F3E2B0;padding-left:22px}
.toc a.on::before{background:#E8C77E;border-color:#E8C77E;box-shadow:0 0 10px rgba(232,199,126,.7)}
.toc p{padding-left:0}
@media (max-width:900px){.toc{position:static}.toc::before{display:none}}
.section{scroll-margin-top:0}

.sec-no{display:flex;align-items:center;gap:10px}
.sec-no::after{content:"";flex:1;max-width:160px;height:1px;background:linear-gradient(90deg,rgba(212,175,106,.6),transparent)}

.summary{overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.summary::before{content:"“";position:absolute;right:18px;top:-30px;font-family:Georgia,serif;font-size:180px;line-height:1;color:rgba(232,199,126,.1);pointer-events:none}

.team{position:relative;box-shadow:0 12px 34px rgba(0,0,0,.3);background:linear-gradient(180deg,rgba(255,255,255,.018),transparent 120px),var(--card);transition:border-color .3s,box-shadow .3s}
.team:hover{border-color:#3A3352;box-shadow:0 16px 44px rgba(0,0,0,.42)}
.team:has(.team-tag.def){box-shadow:inset 0 2px 0 rgba(212,175,106,.55),0 12px 34px rgba(0,0,0,.3)}
.team:has(.team-tag.atk){box-shadow:inset 0 2px 0 rgba(192,33,60,.7),0 12px 34px rgba(0,0,0,.3)}
.team-tag.def{background:rgba(212,175,106,.08)}
.team-tag.atk{box-shadow:0 0 14px rgba(192,33,60,.35)}
.mem img,.alt img{transition:transform .25s,box-shadow .25s}
.mem:hover img{transform:translateY(-3px);box-shadow:0 0 0 1px rgba(232,199,126,.6),0 8px 18px rgba(0,0,0,.5)}
.mem.cap img{box-shadow:0 0 0 1px rgba(232,199,126,.75),0 0 16px rgba(232,199,126,.25),0 4px 14px rgba(0,0,0,.45)}
.mem.cap::before{background:linear-gradient(180deg,#F6DE9E,#C99A4A);box-shadow:0 2px 6px rgba(0,0,0,.5)}
.chip{transition:border-color .2s,background .2s}
.chip:hover{border-color:rgba(232,199,126,.9);background:rgba(80,56,124,.55)}
.relic{transition:border-color .2s,transform .2s}
.relic:hover{border-color:rgba(232,199,126,.6);transform:translateY(-1px)}

.article .note{box-shadow:0 0 30px rgba(192,33,60,.12),inset 0 1px 0 rgba(255,200,210,.08)}
.rp-no{position:relative;background:radial-gradient(circle at 35% 30%,#2E2042,#14101E);box-shadow:0 0 0 3px rgba(11,10,18,1),0 0 0 4px rgba(212,175,106,.35)}
.rp-head h3{background:linear-gradient(180deg,#FFF6E4,#E8C77E);-webkit-background-clip:text;background-clip:text;color:transparent}
.rp+.rp{border-top:0;position:relative}
.rp+.rp::before{content:"";position:absolute;left:0;right:0;top:0;height:24px;margin-top:-12px;background:url(orn.svg) center/240px 24px no-repeat}
.idea h4{display:flex;align-items:center;gap:10px}
.idea h4::before{content:"";width:7px;height:7px;transform:rotate(45deg);border:1px solid var(--gold)}
.rep-shot a{position:relative;overflow:hidden;border-radius:4px;transition:transform .35s,box-shadow .35s}
.rep-shot img{transition:transform .6s,border-color .3s}
.rep-shot:hover a{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.55),0 0 20px rgba(212,175,106,.18)}
.rep-shot:hover img{border-color:rgba(232,199,126,.7)}
.rep-shot figcaption{font-family:var(--serif);letter-spacing:.04em}
.rep-note{position:relative;padding-left:44px!important}
.rep-note::before{content:"";position:absolute;left:18px;top:50%;width:12px;height:12px;margin-top:-6px;transform:rotate(45deg);border:1px solid var(--gold);background:rgba(212,175,106,.15)}
.lb img{animation:fxPop .3s ease}
@keyframes fxPop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}

/* ==========================================================
   第二轮精修
   ========================================================== */
body{overflow-x:clip}

/* ---------- 页面淡入 / 切换 ---------- */
html.js body{animation:fxPage .7s ease}
@keyframes fxPage{from{opacity:0}to{opacity:1}}
html.leaving body{opacity:0;transition:opacity .26s ease}

/* ---------- 首屏入场 ---------- */
@keyframes fxUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes fxArt{from{opacity:0;transform:scale(1.07)}to{opacity:1;transform:none}}
@keyframes fxLine{from{transform:scaleX(0)}to{transform:none}}
html.js .home .hero-body>*,html.js .article .banner .wrap>*{animation:fxUp 1.1s cubic-bezier(.2,.7,.2,1) both}
html.js .home .hero-body>:nth-child(1),html.js .article .banner .wrap>:nth-child(1){animation-delay:.15s}
html.js .home .hero-body>:nth-child(2),html.js .article .banner .wrap>:nth-child(2){animation-delay:.28s}
html.js .home .hero-body>:nth-child(3),html.js .article .banner .wrap>:nth-child(3){animation-delay:.42s}
html.js .home .hero-body>:nth-child(4),html.js .article .banner .wrap>:nth-child(4){animation-delay:.54s}
html.js .home .hero-body>:nth-child(5){animation-delay:.66s}
html.js .home .hero h1{animation:fxUp 1.1s cubic-bezier(.2,.7,.2,1) .28s both,fxShine 9s ease-in-out 1.4s infinite}
html.js .article .banner h1{animation:fxUp 1.1s cubic-bezier(.2,.7,.2,1) .42s both,fxShine 9s ease-in-out 1.6s infinite}
html.js .home .divider i{transform-origin:right;animation:fxLine 1.2s cubic-bezier(.2,.7,.2,1) .7s both}
html.js .home .divider i+svg+i{transform-origin:left}
html.js .hero-img,html.js .banner-img{animation:fxArt 2.4s cubic-bezier(.2,.7,.2,1) both}
.hero-img,.banner-img,.hero-glow,.home .hero .fx-circle,.article .banner .fx-circle{transition:translate 1.2s cubic-bezier(.2,.7,.2,1)}
.current{animation:none}

/* ---------- 章节水印字 ---------- */
.ghost-wrap{position:relative}
.ghost-wrap>*:not(.ghost){position:relative;z-index:1}
.ghost{position:absolute;left:-.04em;bottom:-.16em;z-index:0;pointer-events:none;user-select:none;white-space:nowrap;
  font-family:var(--latin);font-weight:700;font-size:clamp(50px,7vw,96px);line-height:1;letter-spacing:.06em;
  color:transparent;-webkit-text-stroke:1px rgba(212,175,106,.11);
  -webkit-mask-image:linear-gradient(90deg,#000 30%,transparent 92%);mask-image:linear-gradient(90deg,#000 30%,transparent 92%)}
html.js .ghost{opacity:0;transform:translateX(-16px);transition:opacity .7s ease .05s,transform .8s cubic-bezier(.2,.7,.2,1) .05s}
html.js .in .ghost,html.js .ghost.in{opacity:1;transform:none}

/* ---------- 光斑跟随 ---------- */
.spot{position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;opacity:0;transition:opacity .45s;mix-blend-mode:screen;
  background:radial-gradient(460px circle at var(--mx,50%) var(--my,50%),rgba(232,199,126,.075),transparent 46%)}
.spot-on:hover>.spot{opacity:1}
@media (hover:none){.spot{display:none}}

/* ---------- 强度榜 ---------- */
.t0 .lab b{background-image:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.95) 50%,transparent 58%),linear-gradient(180deg,#FFF6DA 10%,#F2CD7A 50%,#B8803A 90%);
  background-size:300% 100%,100% 100%;background-repeat:no-repeat;animation:fxGleam 6s ease-in-out 1.5s infinite}
@keyframes fxGleam{0%{background-position:120% 0,0 0}35%,100%{background-position:-20% 0,0 0}}
.row{transition:border-color .3s,box-shadow .3s,background .3s}
.row:hover{background:linear-gradient(90deg,rgba(255,255,255,.03),transparent 50%),var(--bg)}
.slot.has-skill .ava{position:relative}
.slot.has-skill .ava::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(115deg,transparent 35%,rgba(255,240,215,.35) 50%,transparent 65%) 160% 0/250% 100% no-repeat;transition:background-position .7s}
.slot.has-skill:hover .ava::after{background-position:-60% 0}
.slot span{transition:color .25s}

/* ---------- 页脚品牌 ---------- */
.foot-brand{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 16px 6px;text-align:center}
.foot-brand svg{filter:drop-shadow(0 0 8px rgba(192,33,60,.45))}
.foot-brand b{font-family:var(--serif);font-size:19px;font-weight:700;letter-spacing:.14em;background:linear-gradient(180deg,#FFF6E4,#E8C77E);-webkit-background-clip:text;background-clip:text;color:transparent}
.foot-brand small{font-family:var(--latin);font-size:11px;letter-spacing:.36em;color:rgba(212,175,106,.6)}
footer .wrap{border-top:1px solid rgba(58,53,80,.45);margin-top:22px}

/* ---------- 弹层 ---------- */
@keyframes fxFade{from{opacity:0}to{opacity:1}}
.sk.on{animation:fxFade .25s ease;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.sk.on img{animation:fxPop .4s cubic-bezier(.2,.8,.2,1)}
.sk img{border:1px solid rgba(212,175,106,.35)}
.article .lb.on{animation:fxFade .22s ease;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.lb-x,.lb-nav,.sk-x{transition:background .2s,border-color .2s,transform .2s}
.lb-x:hover,.sk-x:hover{transform:rotate(90deg);border-color:rgba(232,199,126,.85)}

/* ---------- 战报放大提示 ---------- */
.rep-shot a::after{content:"";position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;pointer-events:none;
  background:rgba(14,10,24,.72) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F3E2B0' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6'/%3E%3Cpath d='M15 15l5 5M10.5 8v5M8 10.5h5'/%3E%3C/svg%3E") center/22px no-repeat;
  border:1px solid rgba(232,199,126,.6);box-shadow:0 6px 20px rgba(0,0,0,.5);opacity:0;transform:scale(.8);transition:opacity .3s,transform .3s}
.rep-shot:hover a::after{opacity:1;transform:none}
@media (hover:none){.rep-shot a::after{display:none}}

/* ---------- 文末 ---------- */
.fin{display:flex;align-items:center;justify-content:center;gap:16px;margin:8px 0 34px}
.fin i{flex:0 1 160px;height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,106,.6))}
.fin i:last-child{background:linear-gradient(90deg,rgba(212,175,106,.6),transparent)}
.fin b{font-family:var(--latin);font-size:15px;font-weight:500;letter-spacing:.5em;padding-left:.5em;color:#E8C77E;text-shadow:0 0 16px rgba(232,199,126,.4)}
.fin b::before,.fin b::after{content:"◆";font-size:7px;vertical-align:middle;letter-spacing:0;margin:0 14px;color:var(--gold);opacity:.8}
.qq-head{display:flex;align-items:center;gap:10px;margin:36px 0 14px;font-family:var(--latin);font-size:12px;letter-spacing:.28em;color:var(--gold)}
.qq-head::before{content:"";width:28px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.qq-head span{font-family:var(--serif);letter-spacing:.12em;font-size:14px;color:#E8DCC0}

@media (prefers-reduced-motion:reduce){
  html.js body,html.js .home .hero-body>*,html.js .article .banner .wrap>*,html.js .hero-img,html.js .banner-img,html.js .home .divider i,.t0 .lab b{animation:none!important}
  html.js .ghost{opacity:1;transform:none;transition:none}
}
.ghost-no{left:auto;right:0;bottom:auto;top:-.2em;font-size:clamp(80px,11vw,150px);letter-spacing:0;-webkit-text-stroke:1px rgba(212,175,106,.12);
  -webkit-mask-image:linear-gradient(180deg,#000 35%,transparent 95%);mask-image:linear-gradient(180deg,#000 35%,transparent 95%)}
html.js .ghost-no{transform:translateY(16px)}

/* ---------- 强度榜档位标签（典雅版） ---------- */
.row .lab{position:relative;gap:10px;min-height:112px;padding:12px 10px;clip-path:none;
  background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,0) 60%),#0F0C15;
  border-right:1px solid rgba(212,175,106,.16)}
.row .lab::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;right:auto;border:0;background:var(--tc);opacity:.9;animation:none}
.row .lab::after{display:none}
.row .lab b{display:block;white-space:nowrap;text-align:center;font-family:var(--latin);font-weight:500;font-size:36px;line-height:1;letter-spacing:.12em;padding-left:.12em;
  background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--tx);filter:none;animation:none;text-shadow:0 0 22px var(--tg)}
.row .lab b span{font-size:1em;margin:0}
.row .lab .orn{width:26px;height:1px;background:var(--tx);opacity:.45}
.row .lab .orn::before{display:none}
.t0 .lab{--tc:linear-gradient(180deg,#C9A866,#8E1630);--tx:#E6CB93;--tg:rgba(230,203,147,.22)}
.t1 .lab{--tc:linear-gradient(180deg,#B88CA6,#5A2350);--tx:#DCC8D4;--tg:rgba(220,200,212,.14)}
.t2 .lab{--tc:linear-gradient(180deg,#9C96C4,#332A5C);--tx:#C9C4DE;--tg:rgba(201,196,222,.12)}
.row.t0,.row.t1,.row.t2{background:#0D0B12}
.row.t0 .slots,.row.t1 .slots,.row.t2 .slots{background:none}
.row.t0{border-color:rgba(212,175,106,.28);box-shadow:0 0 0 1px rgba(212,175,106,.05),0 10px 30px rgba(0,0,0,.25)}
.row.t0::before{background:linear-gradient(90deg,rgba(232,199,126,.55),transparent 40%) top/100% 1px no-repeat}
@media (max-width:560px){
  .row .lab{min-height:58px;padding:8px 16px;gap:14px;border-right:0;border-bottom:1px solid rgba(212,175,106,.16)}
  .row .lab b{font-size:28px}
  .row .lab .orn{display:none}
}

/* ==========================================================
   第三轮 · 艺术精修
   ========================================================== */

/* ---------- 区块间章节花纹 ---------- */
.sec-orn{position:absolute;left:50%;top:0;z-index:4;width:176px;height:28px;margin:-14px 0 0 -88px;pointer-events:none;
  background:url(orn-mid.svg) center/132px 24px no-repeat,radial-gradient(closest-side,var(--bg) 62%,rgba(11,10,18,0))}
.sec-orn.free{position:relative;left:auto;top:auto;margin:0 auto;display:block;background:url(orn-mid.svg) center/132px 24px no-repeat}
.sec-orn.free::before,.sec-orn.free::after{content:"";position:absolute;top:50%;width:min(28vw,320px);height:1px}
.sec-orn.free::before{right:100%;background:linear-gradient(90deg,transparent,rgba(212,175,106,.4))}
.sec-orn.free::after{left:100%;background:linear-gradient(90deg,rgba(212,175,106,.4),transparent)}
html.js .sec-orn{opacity:0;transform:scale(.8);transition:opacity .5s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
html.js .sec-orn.in{opacity:1;transform:none}
.orn-gap{padding-top:56px}

/* ---------- 卡面长廊画框 ---------- */
.strip .pic::before{content:"";position:absolute;inset:6px;z-index:1;pointer-events:none;border:1px solid rgba(240,214,160,.32);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.25);transition:inset .45s cubic-bezier(.2,.8,.2,1),border-color .45s}
.strip figure:hover .pic::before{inset:9px;border-color:rgba(245,222,170,.6)}
.strip .pic{border-color:rgba(212,175,106,.5)}
.strip{padding-top:12px}
.strip figcaption{position:relative;align-self:center;max-width:100%;padding:4px 18px;font-size:13.5px;letter-spacing:.08em;color:#E2D9EC;
  background:linear-gradient(90deg,transparent,rgba(212,175,106,.1) 22%,rgba(212,175,106,.1) 78%,transparent);
  border-top:1px solid transparent;border-bottom:1px solid transparent;
  border-image:linear-gradient(90deg,transparent,rgba(212,175,106,.45) 25%,rgba(212,175,106,.45) 75%,transparent) 1;white-space:nowrap}
.strip figcaption::before,.strip figcaption::after{content:"";position:absolute;top:50%;width:4px;height:4px;margin-top:-2px;transform:rotate(45deg);background:rgba(212,175,106,.7)}
.strip figcaption::before{left:4px}.strip figcaption::after{right:4px}

/* ---------- 版本信息条 · 书签式 ---------- */
.current{background:linear-gradient(90deg,rgba(60,20,40,.3),rgba(14,12,22,.95) 22%,rgba(14,12,22,.95) 78%,rgba(40,24,70,.3))}
.current::before,.current::after{content:"";position:absolute;left:0;right:0;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(212,175,106,.16) 25%,rgba(212,175,106,.16) 75%,transparent)}
.current::before{top:4px}.current::after{bottom:4px}
.current .wrap{gap:0;padding-top:22px;padding-bottom:22px}
.current .tag{position:relative;margin-right:30px;padding:6px 12px 6px 14px;border:0;border-radius:0;font-size:11px;letter-spacing:.3em;color:#F3E2B0;
  background:linear-gradient(160deg,#9E1E38,#6A0F24);box-shadow:inset 0 0 0 1px rgba(243,226,176,.35),inset 0 0 0 3px #7A1429,inset 0 0 0 4px rgba(243,226,176,.22),0 4px 12px rgba(0,0,0,.4);
  transform:rotate(-2deg)}
.current .wrap>span:not(.tag){padding:2px 26px;gap:0}
.current .wrap>span:not(.tag)::before{display:none}
.current .wrap>span:not(.tag)+span{border-left:1px solid rgba(212,175,106,.3)}
.current b{color:#F3E2B0;font-family:var(--serif);font-weight:700;letter-spacing:.04em}
@media (max-width:640px){
  .current .wrap{gap:10px 0}
  .current .tag{margin-right:100%}
  .current .wrap>span:not(.tag){padding:0 14px 0 0}
  .current .wrap>span:not(.tag)+span{padding-left:14px}
  .current .wrap>span:nth-child(4){border-left:0;padding-left:0}
}

/* ---------- 首屏标题层次 ---------- */
.hero h1 .l1{display:block;font-size:.5em;letter-spacing:.42em;line-height:1.5;margin-bottom:.08em}
.hero h1 .l2{display:block}
.hero-frame{position:absolute;right:clamp(16px,2.6vw,40px);top:clamp(20px,3vw,44px);bottom:clamp(30px,4vw,56px);width:calc(min(58%,820px) - 90px);z-index:1;pointer-events:none;
  border:1px solid rgba(212,175,106,.16);
  -webkit-mask-image:linear-gradient(to right,transparent,#000 22%);mask-image:linear-gradient(to right,transparent,#000 22%)}
.hero-frame::before,.hero-frame::after{content:"";position:absolute;width:22px;height:22px;border-color:rgba(232,199,126,.6);border-style:solid}
.hero-frame::before{top:-1px;right:-1px;border-width:1px 1px 0 0}
.hero-frame::after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}
html.js .hero-frame{animation:fxFade 1.6s ease .9s both}
@media (max-width:760px){.hero-frame{display:none}}

/* ==========================================================
   文章页
   ========================================================== */
/* 阵容卡：站位序号 + 队长缎带 */
.mem{position:relative}
.mem .pos{position:absolute;left:50%;top:-8px;z-index:2;width:22px;height:22px;margin-left:-48px;display:flex;align-items:center;justify-content:center;
  font-family:var(--latin);font-style:normal;font-size:11px;font-weight:700;color:#F3E2B0;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#3A2550,#120D1C);box-shadow:0 0 0 1px rgba(232,199,126,.7),0 2px 6px rgba(0,0,0,.6)}
.mem:has(.alt) .pos{margin-left:-72px}
.mem.cap::before{top:-10px;padding:3px 12px 4px;border-radius:0;font-size:11px;letter-spacing:.24em;text-indent:.24em;color:#2A1608;font-weight:700;
  background:linear-gradient(180deg,#FBE7B2,#D7A954 55%,#B98536);
  clip-path:polygon(0 0,100% 0,calc(100% - 6px) 50%,100% 100%,0 100%,6px 50%);box-shadow:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.55))}

/* 战报画框 */
.rep-shot a{display:block;padding:6px;background:linear-gradient(160deg,#1B1626,#0D0B13);border:1px solid rgba(212,175,106,.28);border-radius:3px;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.6),0 8px 22px rgba(0,0,0,.4)}
.rep-shot img{border-radius:1px;border:1px solid rgba(232,199,126,.22)!important}
.rep-shot:hover a{border-color:rgba(232,199,126,.6)}
.rep-shot figcaption{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.rep-shot .rp-n{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:22px;padding:0 6px;
  font-family:var(--latin);font-size:11px;font-weight:700;letter-spacing:.12em;color:#F3E2B0;
  border:1px solid rgba(232,199,126,.55);background:rgba(212,175,106,.08);transform:skewX(-12deg)}
.rep-shot .rp-n b{display:inline-block;transform:skewX(12deg);font-weight:700}

/* 目录阅读进度 */
.toc::after{content:"";position:absolute;left:0;top:30px;width:1px;height:calc((100% - 30px) * var(--p,0));
  background:linear-gradient(#F3D99A,#C9A35C);box-shadow:0 0 8px rgba(232,199,126,.7);transition:height .25s linear}
@media (max-width:900px){.toc::after{display:none}}

/* ==========================================================
   开场徽标
   ========================================================== */
.bl-intro{display:none}
html.intro .bl-intro{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;
  background:radial-gradient(ellipse at 50% 45%,#1E1534 0%,#0B0A12 62%);animation:introOut .9s cubic-bezier(.4,0,.2,1) 1.3s forwards;cursor:pointer}
html.intro .intro-c{position:absolute;left:50%;top:50%;width:min(64vmin,520px);aspect-ratio:1;margin:calc(min(64vmin,520px) / -2) 0 0 calc(min(64vmin,520px) / -2);
  background:url(circle-outer.svg) center/contain no-repeat;opacity:0;
  animation:introCircle 1.3s cubic-bezier(.2,.7,.2,1) forwards,introSpin 16s linear infinite,introGrow 1.1s cubic-bezier(.4,0,.2,1) 1.25s forwards}
html.intro .intro-c::after{content:"";position:absolute;inset:16%;background:url(circle-inner.svg) center/contain no-repeat;animation:fxSpin 12s linear infinite reverse}
html.intro .bl-intro svg{position:relative;width:54px;height:54px;opacity:0;animation:introMark 1s cubic-bezier(.2,.7,.2,1) .2s forwards,introLift 1s cubic-bezier(.4,0,.2,1) 1.25s forwards;filter:drop-shadow(0 0 14px rgba(192,33,60,.6))}
html.intro .bl-intro b{position:relative;font-family:var(--serif);font-size:22px;font-weight:700;letter-spacing:.32em;padding-left:.32em;opacity:0;
  background:linear-gradient(180deg,#FFF6E4,#E8C77E);-webkit-background-clip:text;background-clip:text;color:transparent;animation:introText .9s ease .45s forwards,introLift 1s cubic-bezier(.4,0,.2,1) 1.25s forwards}
html.intro .bl-intro small{position:relative;font-family:var(--latin);font-size:11px;letter-spacing:.5em;padding-left:.5em;color:rgba(212,175,106,.7);opacity:0;animation:introText .9s ease .6s forwards,introLift 1s cubic-bezier(.4,0,.2,1) 1.25s forwards}
html.intro.intro-skip .bl-intro{animation:introOut .45s cubic-bezier(.4,0,.2,1) forwards}
html.intro.intro-skip .intro-c{animation:introCircle 1.3s cubic-bezier(.2,.7,.2,1) forwards,introSpin 16s linear infinite,introGrow .5s cubic-bezier(.4,0,.2,1) forwards}
@keyframes introCircle{0%{opacity:0;scale:.62}55%{opacity:.5}100%{opacity:.34;scale:1}}
@keyframes introSpin{from{rotate:-50deg}to{rotate:310deg}}
@keyframes introGrow{to{scale:1.28}}
@keyframes introMark{from{opacity:0;scale:.7}to{opacity:1;scale:1}}
@keyframes introLift{to{translate:0 -14px;filter:blur(2px)}}
@keyframes introText{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@keyframes introOut{0%{opacity:1}100%{opacity:0;visibility:hidden}}
html.intro .bl-intro>svg,html.intro .bl-intro>b,html.intro .bl-intro>small{transition:none}
html.intro .bl-intro::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 46%,rgba(232,199,126,.16),transparent 38%);opacity:0;animation:introFlash 1.2s ease .95s forwards}
@keyframes introFlash{0%{opacity:0}45%{opacity:1}100%{opacity:0}}
html.intro{--intro:1.4s}
html.intro .home .hero-body>*,html.intro .article .banner .wrap>*,html.intro .hero-img,html.intro .banner-img,html.intro .hero-frame,html.intro .home .divider i{animation-delay:calc(var(--intro) + var(--ad,0s))!important}
html.intro .home .hero h1{animation-delay:calc(var(--intro) + .28s),calc(var(--intro) + 1.4s)!important}
html.intro .article .banner h1{animation-delay:calc(var(--intro) + .42s),calc(var(--intro) + 1.6s)!important}
.home .hero-body>:nth-child(1),.article .banner .wrap>:nth-child(1){--ad:.15s}
.home .hero-body>:nth-child(2),.article .banner .wrap>:nth-child(2){--ad:.28s}
.home .hero-body>:nth-child(3),.article .banner .wrap>:nth-child(3){--ad:.42s}
.home .hero-body>:nth-child(4),.article .banner .wrap>:nth-child(4){--ad:.54s}
.home .hero-body>:nth-child(5){--ad:.66s}
.home .divider i,.hero-frame{--ad:.8s}

@media (prefers-reduced-motion:reduce){
  html.intro .bl-intro{display:none}
  html.js .sec-orn{opacity:1;transform:none;transition:none}
}

/* ==========================================================
   第四轮
   ========================================================== */

/* ---------- 大图浏览 ---------- */
.lb-fig img,.article .lb img,.sk img{border:1px solid rgba(232,199,126,.45)!important;border-radius:2px!important;
  box-shadow:0 0 0 6px rgba(14,10,22,.92),0 0 0 7px rgba(212,175,106,.28),0 30px 80px rgba(0,0,0,.7),0 0 60px rgba(140,90,200,.12)!important}
.lb-fig{gap:20px}
.lb-fig img{max-height:calc(100vh - 140px)}
.lb-fig figcaption,.article .lb-cap{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:6px 30px;
  font-family:var(--serif);font-size:16px;letter-spacing:.1em;color:#F0E4C8;
  background:linear-gradient(90deg,transparent,rgba(212,175,106,.12) 20%,rgba(212,175,106,.12) 80%,transparent);
  border-top:1px solid transparent;border-bottom:1px solid transparent;
  border-image:linear-gradient(90deg,transparent,rgba(212,175,106,.5) 20%,rgba(212,175,106,.5) 80%,transparent) 1}
.lb-fig figcaption::before,.lb-fig figcaption::after,.article .lb-cap::before,.article .lb-cap::after{content:"";position:absolute;top:50%;width:5px;height:5px;margin-top:-2.5px;transform:rotate(45deg);background:rgba(212,175,106,.8)}
.lb-fig figcaption::before,.article .lb-cap::before{left:8px}
.lb-fig figcaption::after,.article .lb-cap::after{right:8px}
.article .lb-cap{position:fixed;left:50%;right:auto;bottom:22px;transform:translateX(-50%);white-space:nowrap;max-width:calc(100vw - 32px);font-size:14px}
.lb-count{font-family:var(--latin);font-style:normal;font-size:12px;letter-spacing:.24em;color:rgba(212,175,106,.75)}
.lb-fig .lb-count{margin-top:-10px}
.article .lb-cap .lb-count{padding-left:14px;border-left:1px solid rgba(212,175,106,.35)}
.lb-btn,.lb-nav,.lb-x,.sk-x{background:radial-gradient(circle at 35% 30%,rgba(58,37,80,.85),rgba(21,16,31,.85))!important;border-color:rgba(212,175,106,.5)!important;color:#F3E2B0!important;
  box-shadow:0 8px 24px rgba(0,0,0,.5),0 0 0 4px rgba(212,175,106,.05)}
.lb-btn:hover,.lb-nav:hover{box-shadow:0 8px 24px rgba(0,0,0,.5),0 0 18px rgba(212,175,106,.35)}
img.lb-swap{opacity:0;transform:scale(.985);transition:none}
img.lb-show{animation:fxLbIn .38s cubic-bezier(.2,.7,.2,1)}
@keyframes fxLbIn{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}

/* ---------- 回到顶部进度环 ---------- */
.to-top .ring{position:absolute;inset:-4px;width:auto;height:auto;transform:rotate(-90deg);pointer-events:none;overflow:visible}
.to-top .ring circle{fill:none;stroke-width:1.5}
.to-top .ring .bg{stroke:rgba(212,175,106,.16)}
.to-top .ring .fg{stroke:#E8C77E;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;filter:drop-shadow(0 0 3px rgba(232,199,126,.6));transition:stroke-dashoffset .15s linear}
.to-top .ring{width:54px;height:54px}

/* ---------- 导航滑动指示线 ---------- */
nav{position:relative}
.nav-ind{position:absolute;left:0;bottom:7px;height:1px;width:0;pointer-events:none;opacity:0;
  background:linear-gradient(90deg,transparent,#E8C77E 20%,#F6E2AE 50%,#E8C77E 80%,transparent);box-shadow:0 0 8px rgba(232,199,126,.6);
  transition:transform .55s cubic-bezier(.3,.8,.2,1),width .55s cubic-bezier(.3,.8,.2,1),opacity .35s}
.nav-ind::after{content:"";position:absolute;left:50%;top:-2px;width:4px;height:4px;margin-left:-2px;transform:rotate(45deg);background:#F6E2AE;box-shadow:0 0 6px rgba(246,226,174,.8)}
.nav-ind.on{opacity:1}
.has-ind a.on::after{left:50%;right:50%}

/* ---------- 关于本站印记 ---------- */
#about .side::after{content:"";display:block;width:clamp(170px,17vw,230px);aspect-ratio:1;margin-top:44px;
  background:url(seal.svg) center/contain no-repeat;opacity:.3;animation:fxSpin 240s linear infinite}
@media (max-width:860px){#about .side::after{display:none}}

/* ---------- 文章小标题与列表符号 ---------- */
.side-title::before{width:9px;height:9px;border-radius:0;transform:rotate(45deg);background:radial-gradient(#F3D99A 30%,transparent 34%),transparent;border:1px solid #E8C77E;box-shadow:0 0 8px rgba(232,199,126,.35)}
.side-title::after{content:"";flex:0 1 220px;height:1px;margin-left:6px;background:linear-gradient(90deg,rgba(212,175,106,.55),transparent)}
.side-title{gap:14px}
.rp-label::before{width:7px;height:7px;border-radius:0;transform:rotate(45deg);background:#C0213C;box-shadow:0 0 0 1px rgba(232,199,126,.7),0 0 8px rgba(192,33,60,.5)}
.rp-label::after{content:"";flex:0 1 160px;height:1px;margin-left:4px;background:linear-gradient(90deg,rgba(192,33,60,.55),transparent)}
.rp-label{gap:12px}
.points{list-style:none;padding-left:1.3em}
.points li{position:relative}
.points li::before{content:"";position:absolute;left:-1.05em;top:.82em;width:5px;height:5px;transform:rotate(45deg);background:#E8C77E;box-shadow:0 0 5px rgba(232,199,126,.45)}
#about .side>.ghost{top:-6px;bottom:auto}

/* 文章卡整张可点 */
.post h3 a::after{content:"";position:absolute;inset:0;z-index:3}
.post:focus-within{border-color:rgba(212,175,106,.55)}

/* ---------- 手机端性能：去掉全屏混合、减少持续重绘（视觉差别极小） ---------- */
@media (hover:none),(max-width:760px){
  body::after{display:none}
  .fx-circle{mix-blend-mode:normal}
  .home .hero h1,.banner h1{animation:fxUp 1.1s cubic-bezier(.2,.7,.2,1) .28s both!important;filter:drop-shadow(0 0 16px rgba(160,120,230,.3))}
  html.intro .home .hero h1{animation-delay:calc(var(--intro) + .28s)!important}
  html.intro .article .banner h1{animation-delay:calc(var(--intro) + .42s)!important}
  header{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
  .t0 .lab b{animation:none}
  .post-soon::before,#about .side::after{animation:none}
  html.intro .bl-intro b,html.intro .bl-intro small,html.intro .bl-intro svg{filter:none}
  @keyframes introLift{to{translate:0 -14px}}
}

/* 关闭滚动渐显：所有内容直接显示 */
html.js .reveal,html.js .ghost,html.js .ghost-no,html.js .sec-orn{opacity:1!important;transform:none!important;transition:none!important}

/* 手机端：首屏不做入场动画，文字和立绘直接显示 */
@media (hover:none),(max-width:760px){
  html.js body,
  html.js .home .hero-body>*,html.js .article .banner .wrap>*,
  html.js .home .hero h1,html.js .article .banner h1,
  html.js .hero-img,html.js .banner-img,html.js .home .divider i,html.js .hero-frame{animation:none!important;opacity:1;transform:none}
}

/* 单张战报（群友分享） */
.rep-grid.g1{grid-template-columns:minmax(0,460px)}
