/* ===================== 奶蛙尖塔 · 视觉 =====================
   原则：所有东西都有清晰的墨线（3px）+ 硬投影，不用模糊光晕；
   配色：夜靛 / 墨 / 奶茶金 / 灯笼红 / 奶白 / 泥沼青 */
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
:root{--ink:#2a1a33;--night:#1b1438;--night2:#2c2263;--gold:#f7c948;--gold2:#e0a21c;--gold3:#b07a12;--red:#e8484f;--red2:#b52a3a;--milk:#fff4dc;--milk2:#f3dfb6;--moss:#2f6b5a;--sky:#5fb0f0;
 --num:"Arial Rounded MT Bold","SF Pro Rounded",-apple-system,"Helvetica Neue",Arial,"PingFang SC",sans-serif;--body:"NW Serif","Songti SC","PingFang SC","Microsoft YaHei",serif}
html,body{width:100%;height:100%;overflow:hidden;background:#0d0a1c;color:var(--ink);font-family:"NW Black","NW Serif","ZCOOL KuaiLe","PingFang SC","Microsoft YaHei",sans-serif;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
img{-webkit-user-drag:none;pointer-events:none}
.ico{width:100%;height:100%;display:block;overflow:visible}
#stage{position:absolute;left:50%;top:50%;width:1280px;height:720px;transform-origin:50% 50%;overflow:hidden;background:var(--night)}
#rotTip{display:none}
.scr{position:absolute;inset:0;display:none}
.scr.on{display:block;animation:scrIn .3s ease}
@keyframes scrIn{from{opacity:0}to{opacity:1}}
.num{font-family:var(--num);font-weight:800}

/* ============ 背景 ============ */
#bg{position:absolute;inset:0;overflow:hidden}
#bg>*{position:absolute;pointer-events:none}
.scene{inset:0;width:100%;height:100%}
.ffly{width:5px;height:5px;border-radius:50%;background:#fff6a8;box-shadow:0 0 0 3px rgba(255,246,168,.25);animation:ffly 7s ease-in-out infinite}
@keyframes ffly{0%,100%{transform:translate(0,0);opacity:.2}30%{opacity:1}50%{transform:translate(30px,-40px)}80%{opacity:.8}}
.bgmap{background:#3a2342}
.parch{left:10px;top:66px;right:10px;bottom:10px;border-radius:22px;background:#f1dcae;border:4px solid var(--ink);box-shadow:inset 0 0 0 6px #f8e9c6,inset 0 0 0 9px #c99a5a,0 6px 0 var(--ink)}
.parch::before{content:"";position:absolute;inset:14px;border-radius:14px;background-image:radial-gradient(rgba(140,90,40,.16) 1.2px,transparent 1.6px);background-size:9px 9px}
.parch::after{content:"";position:absolute;inset:0;border-radius:18px;background:radial-gradient(ellipse at 50% 50%,transparent 62%,rgba(150,95,40,.28))}
.bgmap .stars2{inset:0;background-image:radial-gradient(1.5px 1.5px at 12% 20%,#fff,transparent),radial-gradient(1px 1px at 52% 8%,#fff,transparent),radial-gradient(1.5px 1.5px at 82% 4%,#fff,transparent)}

/* ============ 通用：按钮 ============ */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:190px;height:62px;padding:0 30px;border-radius:16px;font-size:27px;color:var(--ink);letter-spacing:3px;
 background:linear-gradient(var(--gold) 0 55%,var(--gold2) 55%);border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink),inset 0 3px 0 rgba(255,255,255,.55);transition:transform .08s}
.btn:active{transform:translateY(4px);box-shadow:0 1px 0 var(--ink),inset 0 3px 0 rgba(255,255,255,.55)}
.btn.ghost{color:var(--milk);background:linear-gradient(#3b2d74 0 55%,#2f2360 55%);box-shadow:0 5px 0 var(--ink),inset 0 3px 0 rgba(255,255,255,.18)}
.btn.pink{color:#fff;background:linear-gradient(#ff6a72 0 55%,var(--red) 55%);text-shadow:0 2px 0 var(--red2)}
.btn.light{color:var(--ink);background:linear-gradient(#fffaf0 0 55%,var(--milk2) 55%)}
.btn.sm{min-width:120px;height:48px;font-size:21px;padding:0 18px;border-radius:13px}
.btn[disabled]{filter:grayscale(.9) brightness(.85);pointer-events:none}
.btn small{font-size:16px;letter-spacing:0;opacity:.75}

/* ============ 顶栏 ============ */
#top{position:absolute;left:0;right:0;top:0;height:60px;display:none;align-items:center;gap:12px;padding:0 14px;z-index:40;background:#21184a;border-bottom:3px solid var(--ink);box-shadow:inset 0 -3px 0 #3e3080,0 3px 0 rgba(42,26,51,.35);color:var(--milk)}
#top.on{display:flex}
#top .face{width:46px;height:46px;border-radius:50%;background:#ffe08a;border:3px solid var(--ink);overflow:hidden;flex:none}
#top .face img{width:140%;height:140%;object-fit:cover;object-position:50% 6%;margin:-8% -20%}
.hpPill{position:relative;width:170px;height:30px;border-radius:15px;background:#3a1530;border:3px solid var(--ink);overflow:hidden}
.hpPill i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(#ff7a86 0 45%,#e8484f 45%)}
.hpPill span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:800 16px var(--num);color:#fff;-webkit-text-stroke:3px var(--ink);paint-order:stroke}
.hpIco{width:30px;height:30px;margin-right:-22px;z-index:2;flex:none}
.goldBox{display:flex;align-items:center;gap:6px;font:800 20px var(--num);color:var(--gold);-webkit-text-stroke:3px var(--ink);paint-order:stroke}
.goldBox .ico{width:28px;height:28px}
#top .pots{display:flex;gap:6px;margin-left:4px}
.pot{position:relative;width:34px;height:40px;border-radius:10px;background:rgba(255,255,255,.06);border:2.5px dashed #5a4b9a;display:flex;align-items:center;justify-content:center}
.pot.full{border:3px solid var(--ink);background:#3b2d74;cursor:pointer}
.flask{width:22px;height:28px;position:relative}
.flask::before{content:"";position:absolute;left:7px;top:0;width:8px;height:9px;background:#e8e0d0;border:2px solid var(--ink);border-radius:2px}
.flask::after{content:"";position:absolute;left:0;bottom:0;width:22px;height:22px;border-radius:50%;border:2.5px solid var(--ink);box-sizing:border-box;background:radial-gradient(circle at 32% 30%,#fff 0 2.5px,transparent 3px),linear-gradient(transparent 35%,var(--pc) 35%);background-color:rgba(255,255,255,.35)}
#top .relics{display:flex;gap:5px;max-width:440px;overflow:hidden;padding:2px}
.rl{position:relative;width:40px;height:40px;border-radius:50%;background:#ffe9b0;border:3px solid var(--ink);box-shadow:inset 0 -4px 0 #e6b85a;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:none;cursor:pointer}
.rl img{width:118%;height:118%;object-fit:contain;margin-top:8px}
.rl.pulse{animation:rlp .6s ease}
@keyframes rlp{50%{transform:scale(1.35) rotate(-8deg)}}
#top .floor{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:18px;color:#c9bdf5}
#top .floor b{font-weight:400;font-size:22px;color:var(--ink);background:var(--gold);border:3px solid var(--ink);border-radius:10px;padding:0 10px;line-height:30px}
.tbtn{height:42px;min-width:42px;padding:0 10px;border-radius:12px;background:#3b2d74;border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink);color:#fff;display:flex;align-items:center;gap:4px;font:800 18px var(--num)}
.tbtn .ico{width:26px;height:26px}
.tbtn:active{transform:translateY(3px);box-shadow:none}

/* ============ 标题 ============ */
#title{color:var(--milk)}
.logo h1 span{display:inline-block}
.logo h1 span:nth-child(2n){transform:translateY(8px) rotate(3deg)}
.logo h1 span:nth-child(2n+1){transform:rotate(-3deg)}
.ribbon{position:relative;display:inline-block;margin:12px 0 0 18px;padding:6px 34px;font-size:24px;letter-spacing:5px;color:var(--milk);background:var(--red);border:3px solid var(--ink);clip-path:polygon(0 0,100% 0,96% 50%,100% 100%,0 100%,4% 50%)}
.ribbon.b{background:var(--ink);padding:9px 40px;clip-path:polygon(0 0,100% 0,96% 50%,100% 100%,0 100%,4% 50%)}
.ver{display:inline-block;margin-left:14px;padding:2px 10px;border-radius:8px;font-size:15px;color:var(--ink);background:var(--milk);border:2.5px solid var(--ink);vertical-align:6px;letter-spacing:1px}
.plat{position:absolute;left:50%;bottom:-18px;width:86%;height:46px;transform:translateX(-50%);z-index:-1}
.plat::before{content:"";position:absolute;inset:0;border-radius:50%;background:#5aa25a;border:3px solid var(--ink);box-shadow:inset 0 -9px 0 #3f7d45,0 5px 0 rgba(20,10,30,.5);clip-path:polygon(0 0,46% 0,50% 50%,54% 0,100% 0,100% 100%,0 100%)}
.plat.stone::before{background:#8c84a8;box-shadow:inset 0 -9px 0 #645c82,0 5px 0 rgba(20,10,30,.5);clip-path:none}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* ============ 英雄选择 ============ */
.hsTitle{position:absolute;top:34px;left:0;right:0;text-align:center}
.hsTitle .ribbon{font-size:34px;padding:8px 60px;margin:0}
.hsRow{position:absolute;top:126px;left:50px;right:50px;display:flex;gap:22px;justify-content:center}
.hcard{position:relative;width:262px;height:420px;border-radius:22px;padding:14px;background:#2f2466;border:4px solid var(--ink);box-shadow:0 6px 0 var(--ink),inset 0 0 0 3px #4a3b8e;display:flex;flex-direction:column;align-items:center;color:var(--milk);transition:transform .2s}
.hcard.on{background:#fff0c8;color:var(--ink);box-shadow:0 6px 0 var(--ink),inset 0 0 0 3px var(--gold);transform:translateY(-10px)}
.hcard .pic{width:226px;height:226px;border-radius:16px;background:repeating-conic-gradient(from 0deg at 50% 70%,rgba(255,255,255,.08) 0 10deg,transparent 10deg 20deg)}
.hcard.on .pic{background:repeating-conic-gradient(from 0deg at 50% 70%,rgba(247,201,72,.35) 0 10deg,transparent 10deg 20deg)}
.hcard .pic img{width:100%;height:100%;object-fit:contain}
.hcard h3{font-weight:400;font-size:32px;margin-top:6px;letter-spacing:3px}
.hcard .tag{font-size:16px;margin-top:2px;padding:1px 12px;border-radius:8px;background:var(--red);color:#fff;border:2px solid var(--ink)}
.hcard p{font:600 14px/1.5 var(--body);text-align:center;margin-top:10px;opacity:.9}
.hcard .hst{display:flex;gap:8px;margin-top:auto;font:800 16px var(--num)}
.hcard .hst span{padding:3px 10px;border-radius:9px;background:var(--ink);color:var(--milk);display:flex;align-items:center;gap:4px}
.hcard .hst .ico{width:18px;height:18px}
.hcard.lock .pic img{filter:brightness(0) opacity(.5)}
.hcard.lock .lk{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%) rotate(-8deg);padding:5px 18px;border-radius:10px;background:var(--gold);color:var(--ink);font-size:22px;border:3px solid var(--ink);letter-spacing:3px;white-space:nowrap}
.hsGo{position:absolute;bottom:34px;left:0;right:0;display:flex;justify-content:center;gap:20px}

/* ============ 地图 ============ */
#mapWrap{position:absolute;inset:0}
#mapSvg{position:absolute;left:0;top:0}
#mapSvg path{fill:none;stroke:#8a6438;stroke-width:4;stroke-dasharray:1 10;stroke-linecap:round}
#mapSvg path.done{stroke:var(--red);stroke-dasharray:none;stroke-width:5}
#mapSvg path.next{stroke:var(--red2);stroke-dasharray:1 10;animation:dash 1s linear infinite;stroke-width:5}
@keyframes dash{to{stroke-dashoffset:-22}}
.mn{position:absolute;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--milk);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);transition:transform .15s}
.mn .ico{width:34px;height:34px}
.mn img{width:54px;height:54px;object-fit:contain;margin-top:-4px}
.mn.t-E{background:#ffb7a8}
.mn.t-t{background:#ffe08a}
.mn.past{opacity:.45}
.mn.visited{background:#d9c49a}
.mn.visited::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:4px solid var(--red);border-right-color:transparent;transform:rotate(-30deg)}
.mn.av{cursor:pointer;z-index:3;animation:avp 1s ease-in-out infinite}
@keyframes avp{50%{transform:scale(1.14)}}
.mn.boss{width:156px;height:156px;margin:-78px 0 0 -78px;background:#c95a5a;border-width:4px;box-shadow:0 6px 0 var(--ink),inset 0 0 0 6px #e58a7a}
.mn.boss img{width:176px;height:176px;margin-top:-30px}
.mn.boss b{position:absolute;bottom:-40px;font-weight:400;font-size:22px;white-space:nowrap;letter-spacing:2px;padding:2px 14px;border-radius:10px;background:var(--ink);color:var(--gold)}
.mn.boss.av{animation:avb 1.2s ease-in-out infinite}
@keyframes avb{50%{transform:scale(1.06)}}
.mn.cur{z-index:4}
.mn.cur::before{content:"";position:absolute;top:-56px;width:54px;height:54px;background:var(--hero) center/contain no-repeat;animation:bob 1.4s ease-in-out infinite}
.mapHead{position:absolute;left:30px;top:80px;z-index:2}
.mapHead .ribbon{margin:0;font-size:22px;padding:5px 34px}
.mapHead small{display:block;margin:6px 0 0 8px;font-size:17px;color:#7a5428}
.legend{position:absolute;right:26px;bottom:24px;display:flex;gap:14px;padding:7px 16px;border-radius:12px;background:var(--milk);border:3px solid var(--ink);font-size:16px;color:var(--ink)}
.legend span{display:flex;align-items:center;gap:4px}
.legend .ico,.legend img{width:24px;height:24px;object-fit:contain}
#mapTip{position:absolute;left:34px;bottom:28px;font-size:17px;color:#7a5428}

/* ============ 卡牌 ============
   结构：墨线外框 > 稀有度色框 > 奶白内页（插画 / 名字绶带 / 类型 / 描述） */
.card{--fc:#a9b3c8;--fc2:#7b87a0;--art:#ff9a8a;--art2:#ff7a6a;position:relative;width:10em;height:14em;font-size:15px;flex:none;border-radius:.95em;background:var(--ink);padding:.16em;transition:transform .18s;color:var(--ink)}
.card .cf{position:absolute;inset:.16em;border-radius:.8em;padding:.36em;background:linear-gradient(var(--fc) 0 50%,var(--fc2) 50%)}
.card .cf::before{content:"";position:absolute;inset:.1em;border-radius:.72em;border:.1em solid rgba(255,255,255,.55);pointer-events:none}
.card .in{position:relative;width:100%;height:100%;border-radius:.55em;background:var(--milk);border:.14em solid var(--ink);overflow:hidden}
.card .art{position:absolute;left:0;right:0;top:0;height:6.1em;overflow:hidden;background:var(--art);border-bottom:.14em solid var(--ink)}
.card .art::before{content:"";position:absolute;left:50%;top:80%;width:16em;height:16em;margin:-8em 0 0 -8em;background:repeating-conic-gradient(var(--art2) 0 9deg,transparent 9deg 18deg)}
.card .art img{position:absolute;left:50%;bottom:-.25em;width:6.4em;height:6.4em;transform:translateX(-50%);object-fit:contain}
.card.t-pow .art{background:var(--art)}
.card .rib{position:absolute;left:-.7em;right:-.7em;top:5.15em;height:1.8em;display:flex;align-items:center;justify-content:center;background:var(--ink);clip-path:polygon(0 0,100% 0,95% 50%,100% 100%,0 100%,5% 50%);z-index:1}
.card .rib::before{content:"";position:absolute;inset:.14em .2em;background:linear-gradient(var(--fc) 0 50%,var(--fc2) 50%);clip-path:polygon(0 0,100% 0,95.4% 50%,100% 100%,0 100%,4.6% 50%)}
.card .rib span{position:relative;font-size:1.05em;color:#fff;letter-spacing:.05em;white-space:nowrap;-webkit-text-stroke:.2em var(--ink);paint-order:stroke}
.card.up .rib span{color:#b6ff8a}
.card .tpc{position:absolute;left:0;right:0;top:7.15em;display:flex;justify-content:center;gap:.3em}
.card .tpc em,.card .tpc i{font-style:normal;font-size:.62em;line-height:1.5;padding:0 .55em;border-radius:.5em;border:.14em solid var(--ink);color:#fff;white-space:nowrap}
.card .tpc em{background:var(--tc)}
.card .tpc i{background:var(--famc);color:var(--ink)}
.card .ds{position:absolute;left:.35em;right:.35em;top:8.35em;bottom:.45em;display:flex;align-items:center;justify-content:center;text-align:center}
.card .ds span{font:700 .78em/1.35 var(--body);color:#3b2a2a}
.card .ds b{color:#3a2440;font:800 1.15em var(--num)}
.card .ds b.g{color:#1f9a3c}
.card .cost{position:absolute;left:-.5em;top:-.5em;width:2.3em;height:2.3em;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:3;
 font:800 1.25em var(--num);color:#fff;-webkit-text-stroke:.22em var(--ink);paint-order:stroke;background:linear-gradient(#7fd0ff 0 50%,#3a9ae0 50%);border:.16em solid var(--ink);box-shadow:inset 0 0 0 .14em #d6f0ff,0 .18em 0 var(--ink)}
.card .cost.dn{background:linear-gradient(#8ff09a 0 50%,#2fbf55 50%);box-shadow:inset 0 0 0 .14em #d8ffd8,0 .18em 0 var(--ink)}
.card .cost.upc{background:linear-gradient(#ff9aa2 0 50%,var(--red) 50%)}
.card .cost.na{display:none}
.card .gem{position:absolute;left:50%;bottom:-.42em;width:.95em;height:.95em;margin-left:-.475em;transform:rotate(45deg);background:var(--fc);border:.15em solid var(--ink);z-index:2}
.card.r-S{--fc:#d8cfbd;--fc2:#b3a68e}
.card.r-C{--fc:#b9c3d6;--fc2:#8c98b2}
.card.r-R{--fc:#6fb4ff;--fc2:#3a82e8}
.card.r-E{--fc:#c08cff;--fc2:#8a52e8}
.card.r-L{--fc:#ffcd4a;--fc2:#ff9a1f}
.card.r-L .cf{background:linear-gradient(115deg,#ffe58a,#ffb02e 30%,#ff7a4a 50%,#ffd23f 70%,#ffb02e);background-size:240% 100%;animation:leg 3s linear infinite}
@keyframes leg{to{background-position:240% 0}}
.card.r-X{--fc:#7fe0d2;--fc2:#36a898}
.card.r-K{--fc:#7b6a96;--fc2:#4a3d63}
.card.r-T{--fc:#9ea3b2;--fc2:#6f7484}
.card.t-atk{--art:#ff9f8f;--art2:#ff8a78;--tc:#e8484f}
.card.t-skl{--art:#9ad6ff;--art2:#80c8f8;--tc:#3a8ad8}
.card.t-pow{--art:#ffe08a;--art2:#ffd060;--tc:#d48a00}
.card.t-cur,.card.t-sts{--art:#b0a2c8;--art2:#a092ba;--tc:#5b4b72}
.card.t-cur .in,.card.t-sts .in{background:#e4dcef}
.card.big{font-size:21px}
.card.mid{font-size:16px}
.card .tri{position:absolute;right:-.5em;top:-.6em;padding:.1em .5em;border-radius:.5em;font-size:.72em;color:var(--ink);background:var(--gold);border:.16em solid var(--ink);z-index:3;display:none;white-space:nowrap}
.card.willtri .tri{display:block;animation:triP .8s ease-in-out infinite}
@keyframes triP{50%{transform:scale(1.15) rotate(6deg)}}
.card.willtri{background:var(--gold);box-shadow:0 0 0 .16em var(--ink)}

/* ============ 战斗 ============ */
#arena{position:absolute;left:0;right:0;top:60px;height:446px}
.fighter{position:absolute;display:flex;flex-direction:column;align-items:center}
#player{left:150px;bottom:0;width:270px}
.fighter .body{position:relative;isolation:isolate;display:flex;align-items:flex-end;justify-content:center}
.fighter .body img{object-fit:contain;transform-origin:50% 100%;animation:idle 2.6s ease-in-out infinite;position:relative}
@keyframes idle{0%,100%{transform:scale(1,1)}50%{transform:scale(1.025,.975)}}
#player .body img{width:250px;height:260px}
.hpbar{position:relative;margin-top:14px;width:190px;height:24px;border-radius:12px;background:#3a1530;border:3px solid var(--ink);overflow:hidden}
.hpbar i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(#ff7a86 0 45%,var(--red) 45%);transition:width .35s}
.hpbar u{position:absolute;left:0;top:0;bottom:0;background:#ffe08a;transition:width .8s .25s}
.hpbar.blk{background:#14304f}
.hpbar.blk i{background:linear-gradient(#9fd8ff 0 45%,#3a8ad8 45%)}
.hpbar span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:800 15px var(--num);color:#fff;-webkit-text-stroke:3px var(--ink);paint-order:stroke;z-index:2}
.hpw{position:relative}
.blkB{position:absolute;left:-24px;top:4px;width:40px;height:44px;display:none;z-index:3}
.blkB b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:800 16px var(--num);color:#fff;-webkit-text-stroke:3px var(--ink);paint-order:stroke;padding-bottom:2px}
.blkB.on{display:block;animation:pop .3s}
@keyframes pop{50%{transform:scale(1.3)}}
.sts{display:flex;gap:4px;margin-top:6px;min-height:28px;flex-wrap:wrap;justify-content:center;max-width:240px}
.st{min-width:28px;height:26px;padding:0 7px;border-radius:9px;display:flex;align-items:center;justify-content:center;font:800 13px var(--num);color:#fff;background:var(--sc);border:2.5px solid var(--ink);white-space:nowrap;-webkit-text-stroke:2.5px var(--ink);paint-order:stroke}
#enemies{position:absolute;left:560px;right:30px;bottom:0;top:0;display:flex;align-items:flex-end;justify-content:center;gap:20px}
.en{position:relative;cursor:pointer}
.en.dead{animation:die .7s forwards;pointer-events:none}
@keyframes die{to{opacity:0;transform:translateY(30px) scale(.8)}}
.en.fled{animation:flee .6s forwards;pointer-events:none}
@keyframes flee{to{opacity:0;transform:translateX(320px)}}
.en .ename{margin-top:6px;padding:1px 12px;border-radius:9px;font-size:17px;color:var(--milk);background:var(--ink);letter-spacing:1px;white-space:nowrap}
.en.tg .body img{animation:tgGlow 1.1s ease-in-out infinite}
.en.tg:hover .body img{filter:drop-shadow(0 0 2px #fff6c8) drop-shadow(0 0 14px #ffd23f) brightness(1.06);animation:none}
@keyframes tgGlow{0%,100%{filter:drop-shadow(0 0 1px #fff6c8) drop-shadow(0 0 6px rgba(255,210,63,.75))}50%{filter:drop-shadow(0 0 2px #fff6c8) drop-shadow(0 0 13px #ffd23f)}}
@keyframes tgBob{to{transform:translateY(7px)}}
.en.tg .ename{background:var(--gold);color:var(--ink)}
.intent{position:relative;display:flex;align-items:center;gap:4px;height:44px;padding:0 12px 0 4px;border-radius:22px;background:var(--milk);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);margin-bottom:12px;animation:bob 2s ease-in-out infinite;white-space:nowrap;font:800 22px var(--num);color:var(--ink)}
.intent .ico{width:34px;height:34px}
.intent.atk{background:#ffd0cc}
.intent.boom{background:#ffc070;animation:bob 2s infinite,boomP .4s infinite}
@keyframes boomP{50%{transform:scale(1.08)}}
.intent small{font:400 16px "NW Black","NW Serif","ZCOOL KuaiLe",sans-serif}
.hit .body img{animation:hitA .35s!important}
@keyframes hitA{0%{filter:brightness(3) saturate(0);transform:translateX(0) scale(1)}12%{filter:brightness(3) saturate(0);transform:translateX(22px) scale(.9,1.08) rotate(6deg)}40%{filter:brightness(1.3);transform:translateX(-10px) scale(1.04,.96) rotate(-2deg)}70%{transform:translateX(4px)}100%{filter:none;transform:none}}
.lungeR .body{animation:lungeR .38s}
@keyframes lungeR{40%{transform:translateX(90px) rotate(7deg)}}
.lungeL .body{animation:lungeL .38s}
@keyframes lungeL{40%{transform:translateX(-90px) rotate(-7deg)}}
.buffA .body{animation:buffA .5s}
@keyframes buffA{40%{transform:scale(1.12) translateY(-8px)}}
/* 奶力：一杯奶茶 */
#energy{position:absolute;left:36px;bottom:176px;width:112px;height:112px;border-radius:50%;z-index:6;border:4px solid var(--ink);background:#3b2d74;box-shadow:0 5px 0 var(--ink),inset 0 0 0 5px var(--gold);overflow:hidden;display:flex;align-items:center;justify-content:center}
#energy .liq{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(#f2c27a 0 12%,#d9944a 12%);transition:height .3s;border-top:3px solid var(--ink)}
#energy b{position:relative;font:800 52px var(--num);color:#fff;-webkit-text-stroke:7px var(--ink);paint-order:stroke;margin-top:-4px}
#energy b small{font-size:24px}
#energyLbl{position:absolute;left:52px;bottom:150px;z-index:6;padding:0 12px;border-radius:9px;background:var(--ink);color:var(--gold);font-size:17px}
#energy.pop{animation:enPop .35s}
@keyframes enPop{50%{transform:scale(1.18)}}
.pile{position:absolute;bottom:20px;width:82px;height:104px;z-index:6}
.pile .back{position:absolute;inset:0 4px 14px 4px;border-radius:10px;background:#5a43b8;border:3px solid var(--ink);box-shadow:4px -4px 0 -1px #3b2d74,4px -4px 0 2px var(--ink);display:flex;align-items:center;justify-content:center}
.pile .back::before{content:"";position:absolute;inset:5px;border-radius:6px;border:2px solid var(--gold);background:repeating-linear-gradient(45deg,transparent 0 6px,rgba(255,255,255,.08) 6px 12px)}
.pile b{position:absolute;right:-6px;top:-10px;min-width:34px;height:34px;padding:0 6px;border-radius:17px;display:flex;align-items:center;justify-content:center;font:800 18px var(--num);color:var(--ink);background:var(--gold);border:3px solid var(--ink);z-index:2}
.pile i{position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);font-style:normal;font-size:15px;color:var(--milk);background:var(--ink);padding:0 8px;border-radius:7px;white-space:nowrap}
#drawPile{left:28px}
#discPile{right:28px}
#discPile .back{background:#8c84a8}
#exhPile{right:128px;width:62px;height:80px}
#exhPile .back{background:#4a4458}
#endBtn{position:absolute;right:28px;bottom:150px;width:180px;height:70px;border-radius:35px;font-size:27px;color:#fff;letter-spacing:2px;background:linear-gradient(#ff6a72 0 50%,var(--red) 50%);border:4px solid var(--ink);box-shadow:0 6px 0 var(--ink),inset 0 0 0 4px #ffb0b4;z-index:6;-webkit-text-stroke:5px var(--ink);paint-order:stroke}
#endBtn:active{transform:translateY(4px);box-shadow:0 2px 0 var(--ink),inset 0 0 0 4px #ffb0b4}
#endBtn.wait{filter:grayscale(1) brightness(.8);pointer-events:none}
#endBtn.nudge{animation:nudge 1s ease-in-out infinite}
@keyframes nudge{50%{transform:scale(1.07) rotate(-2deg)}}
#hand{position:absolute;left:0;right:0;bottom:0;height:260px;z-index:10;pointer-events:none}
#hand .card{position:absolute;left:0;bottom:0;pointer-events:auto;cursor:pointer;transform-origin:50% 120%}
#hand .card.na .cf,#hand .card.na .in{filter:brightness(.7) saturate(.6)}
#hand .card.fly{transition:transform .32s cubic-bezier(.3,.7,.4,1),opacity .32s;pointer-events:none}
#famBar{position:absolute;left:16px;bottom:318px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;z-index:6}
#famBar span{display:flex;align-items:center;gap:6px;padding:2px 10px 2px 8px;border-radius:10px;background:var(--milk);border:2.5px solid var(--ink);font-size:15px;color:var(--ink)}
#famBar span i{display:flex;gap:3px}
#famBar span i u{width:11px;height:11px;border-radius:50%;border:2px solid var(--ink);background:#fff}
#famBar span i u.on{background:var(--fc)}
#famBar span.hot{background:var(--gold);animation:triP .7s infinite}
#hint{position:absolute;left:50%;top:74px;transform:translateX(-50%);padding:5px 18px;border-radius:11px;background:var(--ink);color:var(--gold);font-size:19px;white-space:nowrap;z-index:12;display:none;border:2.5px solid #4e3c8a}
#hint.on{display:block}
#turnBan{position:absolute;left:0;right:0;top:250px;height:120px;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;z-index:20}
#turnBan span{font-size:58px;letter-spacing:12px;color:var(--gold);-webkit-text-stroke:8px var(--ink);paint-order:stroke;padding:10px 80px;background:var(--ink);clip-path:polygon(0 0,100% 0,96% 50%,100% 100%,0 100%,4% 50%)}
#turnBan.en span{color:#ff9aa2}
#turnBan.on{animation:ban 1.1s ease forwards}
@keyframes ban{0%{opacity:0;transform:scaleX(.3)}18%{opacity:1;transform:scaleX(1)}75%{opacity:1}100%{opacity:0;transform:translateY(-20px)}}

/* ============ 特效 ============ */
#fx{position:absolute;inset:0;pointer-events:none;z-index:50}
.fnum{position:absolute;font:800 48px var(--num);color:#fff;-webkit-text-stroke:8px var(--red2);paint-order:stroke;animation:fnum .9s ease-out forwards;white-space:nowrap}
.fnum.blk{color:#d8f0ff;-webkit-text-stroke-color:#1a4a8a;font-size:34px}
.fnum.heal{color:#c8ffb8;-webkit-text-stroke-color:#1a6a2a}
.fnum.gold{color:var(--gold);-webkit-text-stroke-color:var(--ink);font-size:32px}
.fnum.txt{font:400 30px "NW Black","NW Serif","ZCOOL KuaiLe",sans-serif;color:var(--gold);-webkit-text-stroke:7px var(--ink)}
@keyframes fnum{0%{transform:translate(-50%,0) scale(.5);opacity:0}15%{transform:translate(-50%,-20px) scale(1.25);opacity:1}100%{transform:translate(-50%,-90px) scale(1);opacity:0}}
.slash{position:absolute;width:220px;height:16px;margin:-8px 0 0 -110px;border-radius:8px;background:#fff;border:3px solid var(--ink);animation:slash .28s ease-out forwards}
@keyframes slash{0%{transform:rotate(-30deg) scaleX(0);opacity:1}100%{transform:rotate(-30deg) scaleX(1.2);opacity:0}}
.shieldFx{position:absolute;width:110px;height:120px;margin:-60px 0 0 -55px;animation:shieldA .6s ease-out forwards}
@keyframes shieldA{0%{transform:scale(.3);opacity:0}40%{transform:scale(1.15);opacity:1}100%{transform:scale(1.3);opacity:0}}
.spark{position:absolute;width:14px;height:14px;background:var(--c,#f7c948);border:2.5px solid var(--ink);transform:rotate(45deg);animation:spark .8s ease-out forwards}
@keyframes spark{to{transform:translate(var(--dx),var(--dy)) rotate(200deg) scale(.3);opacity:0}}
.triBan{position:absolute;left:50%;top:210px;transform:translate(-50%,0);text-align:center;animation:triBan 1s ease-out forwards;white-space:nowrap}
.triBan b{display:block;font-weight:400;font-size:100px;letter-spacing:10px;color:var(--gold);-webkit-text-stroke:11px var(--ink);paint-order:stroke;text-shadow:0 8px 0 var(--ink)}
.triBan small{display:inline-block;margin-top:6px;font-size:22px;letter-spacing:2px;color:var(--milk);background:var(--ink);padding:3px 16px;border-radius:10px}
@keyframes triBan{0%{transform:translate(-50%,0) scale(.3) rotate(-10deg);opacity:0}25%{transform:translate(-50%,0) scale(1.12) rotate(3deg);opacity:1}70%{transform:translate(-50%,-10px) scale(1);opacity:1}100%{transform:translate(-50%,-50px);opacity:0}}
#stage.shake{animation:shk .35s}
@keyframes shk{20%{margin-left:-8px;margin-top:4px}40%{margin-left:8px;margin-top:-4px}60%{margin-left:-5px}80%{margin-left:4px}}
.bubble{position:absolute;padding:8px 16px;border-radius:14px;background:var(--milk);border:3px solid var(--ink);color:var(--ink);font-size:20px;animation:bubA 2.4s forwards;white-space:nowrap;z-index:55}
@keyframes bubA{0%{opacity:0;transform:translateY(10px)}10%,85%{opacity:1;transform:none}100%{opacity:0}}

/* ============ 浮层 ============ */
#ov{position:absolute;inset:0;z-index:70;display:none;background:rgba(18,11,38,.96);color:var(--milk)}
#ov.on{display:block;animation:scrIn .2s}
.ovHead{position:absolute;top:22px;left:0;right:0;text-align:center}
.ovHead .ribbon{margin:0;font-size:30px;padding:6px 56px}
.ovHead small{display:block;font-size:17px;color:#cfc4f2;margin-top:8px}
.ovGrid{position:absolute;top:118px;left:40px;right:40px;bottom:96px;overflow-y:auto;display:flex;flex-wrap:wrap;gap:24px 18px;justify-content:center;align-content:flex-start;padding:16px 10px 30px;-webkit-overflow-scrolling:touch}
.ovGrid .card{cursor:pointer}
.ovGrid .card.pk{transform:translateY(-8px)}
.ovGrid .card.pk{background:var(--gold);box-shadow:0 0 0 .2em var(--ink)}
.ovFoot{position:absolute;bottom:20px;left:0;right:0;display:flex;justify-content:center;gap:18px}
.ovEmpty{width:100%;text-align:center;font-size:22px;color:#a99fc4;margin-top:120px}
.tabs{position:absolute;top:104px;left:0;right:0;display:flex;justify-content:center;gap:8px}
.tabs button{padding:2px 16px;border-radius:10px;font-size:17px;color:var(--milk);background:#3b2d74;border:2.5px solid var(--ink)}
.tabs button.on{color:var(--ink);background:var(--gold)}
.cmpRow{position:absolute;top:150px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:50px}
.cmpRow .arr{font-size:60px;color:var(--gold);-webkit-text-stroke:6px var(--ink);paint-order:stroke}
.modal{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);min-width:440px;max-width:720px;padding:30px 36px;border-radius:22px;text-align:center;background:var(--milk);color:var(--ink);border:4px solid var(--ink);box-shadow:0 7px 0 var(--ink),inset 0 0 0 5px #fffaf0,inset 0 0 0 8px var(--milk2)}
.modal h3{font-weight:400;font-size:32px;letter-spacing:3px}
.modal p{margin-top:12px;font:600 19px/1.6 var(--body);color:#5a3d2a}
.modal .row{margin-top:24px;display:flex;justify-content:center;gap:16px}

/* ============ 对话 ============ */
#talk{position:absolute;inset:0;z-index:80;display:none;background:linear-gradient(transparent 40%,rgba(20,12,40,.7));cursor:pointer}
#talk.on{display:block}
#talk .pt{position:absolute;bottom:150px;width:320px;height:350px;transition:transform .25s,filter .25s}
#talk .pt img{width:100%;height:100%;object-fit:contain}
#talk .pt.l{left:70px}
#talk .pt.r{right:70px}
#talk .pt.dim{filter:brightness(.42);transform:scale(.92)}
#talk .box{position:absolute;left:110px;right:110px;bottom:26px;min-height:150px;padding:30px 40px 22px;border-radius:20px;background:var(--milk);border:4px solid var(--ink);box-shadow:0 7px 0 var(--ink),inset 0 0 0 5px #fffaf0,inset 0 0 0 8px var(--milk2);color:var(--ink)}
#talk .who{position:absolute;top:-26px;left:30px;padding:4px 30px;font-size:24px;color:#fff;background:var(--red);border:3px solid var(--ink);letter-spacing:2px;clip-path:polygon(0 0,100% 0,94% 50%,100% 100%,0 100%,6% 50%);-webkit-text-stroke:4px var(--ink);paint-order:stroke}
#talk .who.r{left:auto;right:30px;background:#7a5af0}
#talk .say{font-size:28px;line-height:1.55;letter-spacing:1px}
#talk .nx{position:absolute;right:24px;bottom:12px;font-size:16px;color:#a07a4a;animation:bob 1s infinite}

/* ============ 面板 ============ */
.panel{position:absolute;left:50%;top:96px;transform:translateX(-50%);width:640px;padding:44px 30px 28px;border-radius:22px;background:var(--milk);border:4px solid var(--ink);box-shadow:0 7px 0 var(--ink),inset 0 0 0 5px #fffaf0,inset 0 0 0 8px var(--milk2);color:var(--ink);text-align:center}
.panel .phead{position:absolute;top:-28px;left:0;right:0;text-align:center}
.panel .phead .ribbon{margin:0;font-size:30px;padding:6px 60px}
.panel .psub{font-size:18px;color:#8a6438}
.rwList{margin-top:16px;display:flex;flex-direction:column;gap:12px}
.rwItem{display:flex;align-items:center;gap:14px;height:64px;padding:0 18px;border-radius:14px;font-size:23px;color:var(--ink);background:#fff;border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);text-align:left;transition:transform .08s}
.rwItem:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}
.rwItem .ic{width:46px;height:46px;display:flex;align-items:center;justify-content:center;flex:none}
.rwItem .ic .rl{width:44px;height:44px}
.rwItem small{margin-left:auto;font:600 15px var(--body);color:#8a6438;max-width:280px;text-align:right}
.rwItem.done{opacity:.35;pointer-events:none;text-decoration:line-through}
.panel .foot{margin-top:24px;display:flex;justify-content:center;gap:16px}
.pickHead{position:absolute;top:34px;left:0;right:0;text-align:center}
.pickHead .ribbon{margin:0;font-size:32px;padding:6px 60px}
.pickHead small{display:block;font-size:18px;color:#cfc4f2;margin-top:8px}
.pickRow{position:absolute;top:150px;left:0;right:0;display:flex;justify-content:center;gap:40px}
.pickRow .card{cursor:pointer;animation:dealIn .45s backwards}
.pickRow .card:nth-child(2){animation-delay:.08s}.pickRow .card:nth-child(3){animation-delay:.16s}.pickRow .card:nth-child(4){animation-delay:.24s}
@keyframes dealIn{from{transform:translateY(80px) rotate(-6deg);opacity:0}}
.pickFoot{position:absolute;bottom:36px;left:0;right:0;display:flex;justify-content:center;gap:18px}
/* 商店 */
.shopKeeper{position:absolute;left:24px;bottom:16px;width:260px;height:300px}
.shopKeeper img{width:100%;height:100%;object-fit:contain}
.shopSay{position:absolute;left:40px;bottom:322px;max-width:250px;padding:10px 16px;border-radius:14px;background:var(--milk);border:3px solid var(--ink);color:var(--ink);font-size:18px}
.shopBoard{position:absolute;left:300px;right:24px;top:80px;bottom:18px;padding:40px 20px 16px;border-radius:22px;background:#5a3626;border:4px solid var(--ink);box-shadow:0 7px 0 var(--ink),inset 0 0 0 5px #7a4a32,inset 0 0 0 8px #4a2a1c}
.shopBoard::before{content:"";position:absolute;left:0;right:0;top:150px;height:12px;background:#3d2418;border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);display:none}
.shopBoard .phead{position:absolute;top:-24px;left:0;right:0;text-align:center}
.shopBoard .phead .ribbon{margin:0;font-size:26px;padding:4px 50px}
.shopCards{display:flex;gap:16px;justify-content:center}
.shopItem{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer}
.shopItem.sold{opacity:.22;pointer-events:none}
.price{display:flex;align-items:center;gap:4px;padding:1px 10px 1px 4px;border-radius:10px;background:var(--ink);font:800 18px var(--num);color:var(--gold)}
.price .ico{width:20px;height:20px}
.price.no{color:#ff8a8a}
.price.sale{background:#1f7a3c;color:#fff}
.shopRow2{display:flex;gap:22px;margin-top:20px;justify-content:center;align-items:flex-end}
.shopRow2 .rl{width:72px;height:72px}
.shopRow2 .pot{width:60px;height:70px}
.shopRow2 .pot .flask{transform:scale(1.5)}
.rmv{width:150px;height:104px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#3d2418;border:3px dashed var(--gold);font-size:20px;color:var(--gold)}
.rmv big{font-size:30px}
.shopLeave{position:absolute;right:18px;bottom:16px}
.lbl{font-size:15px;color:var(--milk);max-width:110px;text-align:center;line-height:1.2}
/* 休息 */
.restScene{position:absolute;left:50%;top:150px;transform:translateX(-50%);display:flex;align-items:flex-end;gap:10px}
.restScene img{width:250px;height:270px;object-fit:contain}
.camp{position:relative;width:120px;height:150px}
.camp .fl{position:absolute;left:50%;bottom:24px;width:66px;height:96px;margin-left:-33px;border-radius:50% 50% 45% 45%/62% 62% 38% 38%;background:#ff7a2e;border:3px solid var(--ink);animation:flame .45s ease-in-out infinite alternate}
.camp .fl.b{width:36px;height:56px;margin-left:-18px;background:#ffe17a;bottom:28px;animation-duration:.35s}
@keyframes flame{from{transform:scale(1,1) skewX(-4deg)}to{transform:scale(.92,1.1) skewX(5deg)}}
.camp .logs{position:absolute;left:8px;right:8px;bottom:6px;height:26px;border-radius:10px;background:#8a4f2a;border:3px solid var(--ink)}
.restOpts{position:absolute;left:0;right:0;bottom:56px;display:flex;justify-content:center;gap:36px}
.ropt{width:236px;height:176px;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:var(--milk);border:4px solid var(--ink);box-shadow:0 6px 0 var(--ink);color:var(--ink);transition:transform .08s}
.ropt:active{transform:translateY(4px);box-shadow:0 2px 0 var(--ink)}
.ropt .ic{width:58px;height:58px}
.ropt b{font-weight:400;font-size:30px;letter-spacing:4px}
.ropt small{font:600 15px var(--body);color:#8a6438}
.ropt[disabled]{opacity:.45;pointer-events:none}
/* 事件 */
.evBox{position:absolute;left:56px;right:56px;top:96px;bottom:24px;display:flex;gap:30px;padding:28px;border-radius:22px;background:var(--milk);border:4px solid var(--ink);box-shadow:0 7px 0 var(--ink),inset 0 0 0 5px #fffaf0,inset 0 0 0 8px var(--milk2);color:var(--ink)}
.evBox .phead{position:absolute;top:-28px;left:0;right:0;text-align:center}
.evBox .phead .ribbon{margin:0;font-size:30px;padding:6px 60px}
.evPic{flex:none;width:370px;border-radius:16px;background:#ffd98a;border:3px solid var(--ink);display:flex;align-items:flex-end;justify-content:center;overflow:hidden;position:relative}
.evPic::before{content:"";position:absolute;left:50%;top:70%;width:900px;height:900px;margin:-450px 0 0 -450px;background:repeating-conic-gradient(#ffc95a 0 9deg,transparent 9deg 18deg)}
.evPic img{position:relative;width:330px;height:370px;object-fit:contain}
.evTxt{flex:1;display:flex;flex-direction:column;padding-top:8px}
.evTxt p{font-size:24px;line-height:1.7;color:#4a3022}
.evOpts{margin-top:auto;display:flex;flex-direction:column;gap:12px}
.evo{display:flex;align-items:center;gap:12px;min-height:60px;padding:8px 18px;border-radius:14px;font-size:22px;text-align:left;color:var(--ink);background:#fff;border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);transition:transform .08s}
.evo:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}
.evo b{font-weight:400;white-space:nowrap;padding:0 12px;border-radius:8px;background:var(--gold);border:2.5px solid var(--ink)}
.evo small{font:600 16px/1.4 var(--body);color:#6b4a30}
.evo .bad{color:var(--red2)}
.evo .good{color:#1f8a3c}
.evo[disabled]{opacity:.45;pointer-events:none}
#ov .evo{color:var(--ink)}
.blessSay{position:absolute;left:260px;bottom:240px;padding:12px 18px;border-radius:14px;background:var(--milk);border:3px solid var(--ink);color:var(--ink);font-size:20px}
/* 结局 */
#ending{color:var(--milk);text-align:center}
.endBox{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:780px}
.endBox h1{font-weight:400;font-size:86px;letter-spacing:10px;color:var(--gold);-webkit-text-stroke:9px var(--ink);paint-order:stroke;text-shadow:0 8px 0 var(--ink)}
.endBox.lose h1{color:#d8ccff}
.endBox p{font-size:23px;margin-top:10px;line-height:1.6}
.endStats{display:flex;justify-content:center;gap:16px;margin:24px 0}
.endStats div{width:150px;padding:12px 0;border-radius:16px;background:var(--milk);border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);color:var(--ink)}
.endStats b{display:block;font:800 36px var(--num);color:var(--red2)}
.endStats small{font-size:16px}
.endImg{width:220px;height:220px;margin:0 auto -6px}
.endImg img{width:100%;height:100%;object-fit:contain}
.tbc{display:inline-block;margin-top:8px}

/* ============ 提示 ============ */
#toast{position:absolute;left:50%;top:132px;transform:translateX(-50%);z-index:90;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}
#toast div{padding:8px 20px;border-radius:12px;background:var(--ink);color:var(--milk);font-size:20px;border:3px solid #4e3c8a;animation:toast 2.6s forwards;max-width:760px;text-align:center;line-height:1.45}
#toast div b{font-weight:400;color:var(--gold)}
@keyframes toast{0%{opacity:0;transform:translateY(-10px)}8%,85%{opacity:1;transform:none}100%{opacity:0}}
.tipBox{position:absolute;z-index:75;width:260px;padding:12px 16px;border-radius:14px;background:var(--milk);color:var(--ink);font-size:18px;line-height:1.45;border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink)}
.tipBox b{font-weight:400;color:var(--red2);font-size:20px}
.tipBox p{margin-top:4px;font:600 15px/1.5 var(--body);color:#5a3d2a}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important}}

.scene .tw{animation:twk 3s ease-in-out infinite alternate}
@keyframes twk{from{opacity:.25}to{opacity:1}}
.scene .cloud{animation:cloud 80s linear infinite alternate}
@keyframes cloud{from{transform:translateX(-80px)}to{transform:translateX(120px)}}
.scene .sway{animation:sway 4s ease-in-out infinite alternate}
@keyframes sway{from{transform:rotate(-2.5deg)}to{transform:rotate(2.5deg)}}
.scene .swing{animation:swing 3s ease-in-out infinite alternate}
@keyframes swing{from{transform:rotate(-6deg)}to{transform:rotate(6deg)}}
.scene .float{animation:flt 3.5s ease-in-out infinite alternate}
@keyframes flt{to{transform:translateY(4px)}}
.scene .rip{animation:rip 3s ease-out infinite}
@keyframes rip{0%{transform:scale(.3);opacity:.5}100%{transform:scale(1.6);opacity:0}}
.scene .shim{animation:twk 2.4s ease-in-out infinite alternate}
.scene .halo{animation:twk 5s ease-in-out infinite alternate}
.scene .win rect{animation:twk 2s steps(2) infinite alternate}

.card.cback .cf{background:linear-gradient(#5a43b8 0 50%,#4a35a0 50%)}
.card.cback .in{background:repeating-linear-gradient(45deg,#3b2d74 0 10px,#33276a 10px 20px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3em}
.card.cback .in b{font:800 3.4em var(--num);color:var(--gold);-webkit-text-stroke:.12em var(--ink);paint-order:stroke}
.card.cback .in small{font-size:.8em;color:#cfc4f2}
.scene .rise{animation:rise 30s linear infinite}
@keyframes rise{0%{transform:translate(0,0);opacity:0}10%{opacity:1}100%{transform:translate(60px,-520px);opacity:0}}

/* ===== 0.3 奶蛙池 ===== */
#pool{position:absolute;left:50%;top:68px;transform:translateX(-50%);z-index:8;display:flex;align-items:center;gap:10px;padding:6px 12px 6px 14px;border-radius:20px;background:#2f6b5a;border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink),inset 0 0 0 4px #4f9a7a,inset 0 -10px 0 rgba(0,0,0,.18)}
#pool:empty{display:none}
#pool .plbl{display:flex;flex-direction:column;align-items:center;font-weight:400;font-size:18px;color:var(--milk);line-height:1.1;-webkit-text-stroke:4px var(--ink);paint-order:stroke}
#pool .plbl small{font:800 13px var(--num);color:var(--gold);-webkit-text-stroke:3px var(--ink)}
#pool .slots{display:flex;gap:6px}
.tok{position:relative;width:48px;height:48px;border-radius:50%;background:#fff4dc;border:3px solid var(--ink);box-shadow:inset 0 0 0 3px var(--fc);overflow:hidden;animation:tokIn .3s ease-out}
.tok img{position:absolute;left:-6%;top:2%;width:112%;height:112%;object-fit:contain}
.tok.empty{background:rgba(0,0,0,.22);border:3px dashed rgba(255,255,255,.35);box-shadow:none;animation:none}
.tok.empty.warn{border-color:#ff8a8a;animation:triP .6s infinite}
.tok.hot{box-shadow:inset 0 0 0 4px var(--fc),0 0 0 3px var(--gold);animation:triP .8s infinite}
.tok.mudt{background:#a07a50}
@keyframes tokIn{from{transform:translateY(-30px) scale(.4)}}
#pool.danger{background:#7a3a3a;box-shadow:0 5px 0 var(--ink),inset 0 0 0 4px #b25a5a}
#pool.spill{animation:shk .4s}
#skyBar{position:absolute;left:14px;top:70px;z-index:8;display:flex;flex-direction:column;gap:6px}
.skyPill{display:flex;align-items:center;gap:6px;height:36px;padding:0 12px 0 4px;border-radius:18px;background:var(--milk);border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink);font-size:17px;color:var(--ink)}
.skyPill .ico{width:28px;height:28px}
#hint{top:140px}
/* 抓 */
.catchBtn{position:absolute;right:-18px;top:-6px;z-index:5;display:none;flex-direction:column;align-items:center;width:58px;height:66px;padding-top:2px;border-radius:16px;background:#b392ff;border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);color:#fff;font-size:17px;-webkit-text-stroke:4px var(--ink);paint-order:stroke}
.catchBtn .ico{width:34px;height:34px}
.en.canCatch .catchBtn{display:flex;animation:catchP 1s ease-in-out infinite}
@keyframes catchP{50%{transform:scale(1.12) rotate(6deg)}}
.en.caught{animation:caughtA .7s forwards;pointer-events:none}
@keyframes caughtA{40%{transform:scale(.6) rotate(-10deg)}100%{transform:translate(-500px,40px) scale(.1);opacity:0}}
.netFx{position:absolute;width:150px;height:150px;margin:-75px 0 0 -75px;animation:netA .5s ease-out forwards;z-index:56}
@keyframes netA{0%{transform:translateY(-220px) scale(.5) rotate(-30deg)}70%{transform:translateY(0) scale(1.1)}100%{transform:scale(1)}}
/* 天气 */
#wxfx{position:absolute;inset:60px 0 0 0;pointer-events:none;z-index:1}
.wx-rain,.wx-storm{background-image:repeating-linear-gradient(105deg,transparent 0 22px,rgba(190,215,255,.35) 22px 24px,transparent 24px 60px);background-size:120px 120px;animation:rain .45s linear infinite}
@keyframes rain{to{background-position:-30px 120px}}
.wx-snow{background-image:radial-gradient(circle at 20px 30px,#fff 0 4px,transparent 5px),radial-gradient(circle at 80px 90px,#fff 0 3px,transparent 4px),radial-gradient(circle at 140px 20px,#fff 0 5px,transparent 6px),radial-gradient(circle at 170px 140px,#fff 0 3px,transparent 4px);background-size:200px 180px;animation:snow 6s linear infinite;opacity:.85}
@keyframes snow{to{background-position:40px 180px}}
.wx-wind{background-image:repeating-linear-gradient(0deg,transparent 0 70px,rgba(255,255,255,.18) 70px 72px,transparent 72px 140px);background-size:300px 140px;animation:wind .6s linear infinite;-webkit-mask:repeating-linear-gradient(90deg,#000 0 120px,transparent 120px 300px);mask:repeating-linear-gradient(90deg,#000 0 120px,transparent 120px 300px)}
@keyframes wind{to{background-position:-300px 0;-webkit-mask-position:-300px 0;mask-position:-300px 0}}
.wx-fog{background:linear-gradient(transparent 30%,rgba(220,230,240,.25) 55%,rgba(220,230,240,.12) 75%,transparent);animation:twk 4s ease-in-out infinite alternate}
.flash{position:absolute;inset:0;background:#fff;animation:flash .6s forwards;z-index:57}
@keyframes flash{0%,30%{opacity:.85}15%{opacity:.2}100%{opacity:0}}
/* 金卡 */
.card.gold .cf{background:linear-gradient(115deg,#fff2a8,#f7c948 30%,#e0a21c 50%,#ffe58a 70%,#f7c948);background-size:240% 100%;animation:leg 2.4s linear infinite}
.card.gold .rib::before{background:linear-gradient(#ffe58a 0 50%,#e0a21c 50%)}
.card.gold .rib span{color:#fff7c8}
.card.gold .in{background:#fff6d6}
.gtag{position:absolute;right:-.55em;bottom:3.4em;z-index:4;padding:.05em .45em;border-radius:.5em;font-size:.7em;background:var(--gold);border:.16em solid var(--ink);color:var(--ink);transform:rotate(8deg)}
.pkw{display:flex;flex-direction:column;align-items:center;gap:12px}
.mtag{padding:2px 12px;border-radius:10px;font-size:15px;background:var(--ink);color:#cfc4f2;border:2px solid #4e3c8a;white-space:nowrap}
.mtag.hot{background:var(--gold);color:var(--ink);border-color:var(--ink);animation:triP .8s infinite}
.shopItem .mtag{font-size:12px;padding:1px 6px}
.mergeFx{position:absolute;inset:0;z-index:95;background:rgba(18,11,38,.85);cursor:pointer}
.mergeFx .m3{position:absolute;left:0;right:0;top:170px;display:flex;justify-content:center;gap:30px}
.mergeFx .mc{animation:mcIn .9s ease-in forwards}
.mergeFx .mc0{--dx:200px}.mergeFx .mc1{--dx:0px}.mergeFx .mc2{--dx:-200px}
@keyframes mcIn{60%{transform:none;opacity:1}100%{transform:translateX(var(--dx)) scale(.4);opacity:0}}
.mergeFx .mg{position:absolute;left:50%;top:130px;transform:translateX(-50%);animation:mgIn .5s .85s backwards cubic-bezier(.3,1.6,.5,1)}
@keyframes mgIn{from{transform:translateX(-50%) scale(0) rotate(-20deg)}}
.mergeFx .mt{position:absolute;left:0;right:0;bottom:70px;text-align:center;animation:mgIn2 .4s 1s backwards}
@keyframes mgIn2{from{opacity:0;transform:translateY(20px)}}
.mergeFx .mt b{display:block;font-weight:400;font-size:64px;color:var(--gold);-webkit-text-stroke:9px var(--ink);paint-order:stroke;letter-spacing:6px}
.mergeFx .mt small{font-size:20px;color:var(--milk)}
/* 地图天空 */
.skyCol{position:absolute;top:106px;margin-left:-31px;width:62px;display:flex;align-items:center;justify-content:center;gap:0;padding:2px;border-radius:12px;background:rgba(255,244,220,.85);border:2.5px solid var(--ink);cursor:pointer;z-index:3}
.skyCol .ico{width:22px;height:22px}
.skyCol.nx{background:var(--gold);transform:scale(1.12)}
.mapHead{top:auto;bottom:22px;left:24px}
.mapHead small{display:none}
#mapTip{left:auto;right:520px;bottom:30px;max-width:420px;text-align:right;font-size:15px}

/* ===== 0.4 连锁 ===== */
.tok.ice::after{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(135deg,rgba(220,245,255,.85),rgba(140,200,255,.55));box-shadow:inset 0 0 0 3px #bfe6ff}
.tok.ice i{position:absolute;right:2px;bottom:0;z-index:2;font:800 13px var(--num);color:#1a4a8a;font-style:normal;-webkit-text-stroke:3px #fff;paint-order:stroke}
.tok.anyt{background:conic-gradient(#ff8fb1,#ffd23f,#7ad0ff,#b392ff,#ff8fb1)}
#pool .prule{position:absolute;left:50%;bottom:-24px;transform:translateX(-50%);font-size:13px;color:var(--milk);background:var(--ink);padding:0 10px;border-radius:8px;white-space:nowrap}
.intent .pIc{display:inline-block;width:28px;height:28px;margin-left:2px;padding:2px;border-radius:50%;background:#e9dcff;border:2px solid var(--ink)}
.intent .pIc .ico{width:100%;height:100%}
.triBan.chain b{font-size:120px;color:#ff9aa2}
.scene .batf{animation:batf 7s ease-in-out infinite alternate}
@keyframes batf{0%{transform:translate(0,0)}50%{transform:translate(60px,-30px)}100%{transform:translate(120px,10px)}}
.scene .shoot{animation:shoot 6s linear infinite;opacity:0}
@keyframes shoot{0%{transform:translate(1100px,40px);opacity:0}3%{opacity:1}12%{transform:translate(700px,190px);opacity:0}100%{opacity:0}}

/* ===== 0.4 等级 ===== */
.lvB{position:relative;width:64px;height:26px;margin-left:-14px;border-radius:0 13px 13px 0;background:#3b2d74;border:3px solid var(--ink);overflow:hidden;z-index:0}
.lvB b{position:relative;z-index:1;display:block;text-align:center;font:800 14px/20px var(--num);color:#fff;-webkit-text-stroke:3px var(--ink);paint-order:stroke}
.lvB i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(#9af0a0 0 50%,#3cc35f 50%)}
.lvUp{position:absolute;top:40px;left:0;right:0;text-align:center}
.lvUp b{display:block;font-weight:400;font-size:84px;color:var(--gold);-webkit-text-stroke:10px var(--ink);paint-order:stroke;text-shadow:0 8px 0 var(--ink);animation:mgIn .5s cubic-bezier(.3,1.6,.5,1)}
.lvUp small{display:inline-block;margin-top:8px;font-size:20px;color:var(--milk);background:var(--ink);padding:3px 16px;border-radius:10px}
.perkRow{position:absolute;top:240px;left:0;right:0;display:flex;justify-content:center;gap:34px}
.perk{width:250px;height:290px;border-radius:22px;padding:18px 16px;display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--milk);border:4px solid var(--ink);box-shadow:0 7px 0 var(--ink),inset 0 0 0 5px #fffaf0,inset 0 0 0 8px var(--gold);color:var(--ink);animation:dealIn .45s backwards;transition:transform .1s}
.perk:nth-child(2){animation-delay:.08s}.perk:nth-child(3){animation-delay:.16s}
.perk:active{transform:translateY(4px)}
.perk .pi{width:80px;height:80px;padding:10px;border-radius:50%;background:#ffe9b0;border:3px solid var(--ink)}
.perk b{font-weight:400;font-size:30px;letter-spacing:3px}
.perk p{font:700 17px/1.45 var(--body);color:#5a3d2a;flex:1}
.perk small{font-size:15px;color:#8a6438}
.chestBig{width:120px;height:120px;margin:4px auto 0}
.chestBig.t1{filter:hue-rotate(160deg) saturate(1.3)}
.chestBig.t2{animation:triP 1s infinite}
.chestBig.t2 .ico{filter:drop-shadow(0 0 0 #fff) saturate(1.6) brightness(1.15)}
.rmv{width:116px;height:104px;font-size:17px}
.rmv small{font-size:12px;color:var(--milk);opacity:.8}

/* ===== 1.0 ===== */
.bubble.hero{background:#ffe9b0}
.en.hasAf .ename{background:#7a2a8a;color:#ffe7a0}
.en.goldf .body img{animation:idle 2.6s ease-in-out infinite,goldS 1.2s ease-in-out infinite alternate}
@keyframes goldS{to{filter:brightness(1.25) saturate(1.3)}}
.roast{display:flex;align-items:center;gap:14px;margin:12px auto 0;max-width:720px;padding:10px 18px;border-radius:16px;background:var(--milk);border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);color:var(--ink);text-align:left}
.roast img{width:80px;height:80px;object-fit:contain;flex:none}
.roast p{margin:2px 0;font-size:19px;line-height:1.5;color:var(--ink)}
.shopSay.pop{animation:pop .3s}
.modChip{color:var(--gold);font:400 16px "NW Black","NW Serif","ZCOOL KuaiLe",sans-serif}
.card.shiny .cf{background:linear-gradient(115deg,#ffd6f0,#b8e8ff 25%,#d8ffc8 50%,#fff0a8 75%,#ffd6f0);background-size:260% 100%;animation:leg 2.2s linear infinite}
.card.shiny .in::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.55) 45%,transparent 60%);background-size:250% 100%;animation:leg 2.6s linear infinite;pointer-events:none}
.shtag{position:absolute;left:50%;bottom:-.75em;transform:translateX(-50%);z-index:4;padding:.05em .5em;border-radius:.5em;font-size:.68em;white-space:nowrap;color:#3b1f5c;background:linear-gradient(90deg,#ffd6f0,#b8e8ff,#d8ffc8);border:.15em solid var(--ink)}
.skyPill.flash{animation:triP .5s 4}
.wxBan b{font-size:96px;color:#9ad6ff}
#wxfx{transition:opacity .6s}
.chestBig.bite{animation:bite .5s}
@keyframes bite{20%{transform:rotate(-12deg) scale(1.1)}40%{transform:rotate(12deg) scale(1.2)}60%{transform:rotate(-8deg)}100%{transform:none}}
/* 小游戏 */
.mg{position:absolute;inset:0}
.mgHead{position:absolute;top:24px;left:0;right:0;text-align:center}
.mgHead .ribbon{margin:0;font-size:30px;padding:6px 56px}
.mgHead small{display:block;font-size:18px;color:#cfc4f2;margin-top:8px}
.mgRes{position:absolute;left:0;right:0;bottom:110px;text-align:center;font-size:56px;color:#ff9aa2;-webkit-text-stroke:8px var(--ink);paint-order:stroke;animation:mgIn .4s}
.mgRes.win{color:var(--gold)}
.rpsFoe{position:absolute;left:50%;top:120px;transform:translateX(-50%);display:flex;align-items:center;gap:20px}
.rpsFoe img{width:170px;height:170px;object-fit:contain}
.rpsHand{width:120px;height:120px;border-radius:24px;display:flex;align-items:center;justify-content:center;font-size:64px;background:var(--milk);border:4px solid var(--ink);box-shadow:0 6px 0 var(--ink);color:var(--ink)}
.rpsHand.show{animation:pop .4s}
.rpsRow{position:absolute;left:0;right:0;top:350px;display:flex;justify-content:center;gap:30px}
.rpsBtn{width:160px;height:170px;border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:24px;background:var(--milk);border:4px solid var(--ink);box-shadow:0 6px 0 var(--ink);color:var(--ink)}
.rpsBtn big{font-size:68px}
.rpsBtn.pk{background:var(--gold);transform:translateY(-8px)}
.rpsBtn:disabled{opacity:.6}
.rpsBtn.pk:disabled{opacity:1}
.memGrid{position:absolute;left:50%;top:110px;transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,120px);gap:14px}
.memC{position:relative;width:120px;height:130px;perspective:600px}
.memC i{position:absolute;inset:0;border-radius:16px;border:4px solid var(--ink);display:flex;align-items:center;justify-content:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .35s;font-style:normal}
.memC .f{background:var(--milk);transform:rotateY(180deg)}
.memC .f img{width:100px;height:100px;object-fit:contain}
.memC .b{background:repeating-linear-gradient(45deg,#3b2d74 0 10px,#33276a 10px 20px);font:800 48px var(--num);color:var(--gold);-webkit-text-stroke:5px var(--ink);paint-order:stroke}
.memC.up .f{transform:none}.memC.up .b{transform:rotateY(180deg)}
.memC.ok .f{background:#d8ffc8}
.clawBox{position:absolute;left:50%;top:110px;transform:translateX(-50%);width:760px;height:430px;border-radius:24px;background:linear-gradient(#2b4a7a,#1a2f50);border:5px solid var(--ink);box-shadow:0 8px 0 var(--ink),inset 0 0 0 6px #4a7ab8;overflow:hidden}
.clawRail{position:absolute;left:20px;right:20px;top:20px;height:12px;border-radius:6px;background:#8a9ab8;border:3px solid var(--ink)}
.claw{position:absolute;top:26px;left:20px;width:60px;height:80px;transition:height .6s ease-in-out;z-index:3}
.claw .rope{position:absolute;left:28px;top:0;width:4px;bottom:44px;background:#e8e0d0;border-left:1px solid var(--ink);border-right:1px solid var(--ink)}
.claw .hook{position:absolute;left:4px;bottom:0;width:52px;height:52px;background:#ffd7a8;border-radius:50%;border:3px solid var(--ink);padding:6px}
.claw.down{height:330px}
.prizes{position:absolute;left:0;right:0;bottom:16px;height:110px}
.prize{position:absolute;bottom:0;width:76px;height:96px;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px;background:var(--milk);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);color:var(--ink);transition:transform .6s ease-in-out,opacity .6s}
.prize .ico{width:46px;height:46px}
.prize small{font-size:15px}
.prize.p-relic{background:#ffe08a}.prize.p-mud{background:#c8a882}
.prize.grab{transform:translateY(-300px);opacity:0}
.modCard{position:absolute;left:50%;top:180px;transform:translateX(-50%);width:520px;min-height:220px;padding:30px;border-radius:24px;text-align:center;background:var(--milk);border:5px solid var(--ink);box-shadow:0 8px 0 var(--ink),inset 0 0 0 6px var(--gold);color:var(--ink)}
.modCard b{display:block;font-weight:400;font-size:56px;letter-spacing:6px}
.modCard p{margin-top:14px;font:700 21px/1.6 var(--body);color:#5a3d2a}
.modCard.done{animation:pop .4s}

.scene .steam{animation:steam 5s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes steam{0%{transform:translate(0,10px) scale(.6);opacity:0}30%{opacity:1}100%{transform:translate(18px,-70px) scale(1.5);opacity:0}}
.scene .bub{animation:bub 2.6s ease-in infinite}
@keyframes bub{0%{transform:translateY(8px);opacity:0}30%{opacity:1}100%{transform:translateY(-26px);opacity:0}}
.scene .gearS{animation:gearS 16s linear infinite;transform-box:fill-box;transform-origin:center}
@keyframes gearS{to{transform:rotate(360deg)}}

#talk .tSkip{position:absolute;right:26px;top:22px;z-index:5;font:inherit;font-size:18px;color:#fff;background:rgba(42,26,51,.72);border:3px solid var(--ink);border-radius:999px;padding:6px 16px;cursor:pointer;box-shadow:0 3px 0 var(--ink)}
#talk .tSkip:hover{background:#5a3a6a}

/* ============ 标题页 ============ */
.logo{position:absolute;left:78px;top:58px;z-index:3}
.logo h1{isolation:isolate;font-weight:400;font-size:126px;letter-spacing:4px;line-height:1.08;white-space:nowrap}
.logo h1 span{position:relative;display:inline-block;color:var(--ink);-webkit-text-stroke:16px var(--ink);text-shadow:0 5px 0 var(--ink),0 10px 0 var(--ink),0 20px 16px rgba(0,0,0,.45)}
.logo h1 span::after{content:attr(data-c);position:absolute;left:0;top:0;-webkit-text-stroke:0;text-shadow:none;background:linear-gradient(#fffbe0 0%,#ffe45c 36%,#ffb428 70%,#f2861a 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.logo h1 span::before{content:attr(data-c);position:absolute;left:0;top:0;-webkit-text-stroke:7px #fff6d0;color:#fff6d0;text-shadow:none}
.logo h1 span:nth-child(1){transform:rotate(-4deg)}.logo h1 span:nth-child(2){transform:translateY(9px) rotate(3deg)}.logo h1 span:nth-child(3){transform:translateY(-3px) rotate(-2deg)}.logo h1 span:nth-child(4){transform:translateY(7px) rotate(4deg)}
.tsub{margin:18px 0 0 8px;display:flex;align-items:center}
.tsub .ribbon{font-size:25px;letter-spacing:6px;padding:9px 46px 11px}
.tmenu{position:absolute;left:96px;top:372px;z-index:3;display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.tmenu .sub{display:flex;gap:14px}
.gbtn{position:relative;overflow:hidden;font:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:14px;min-width:330px;height:84px;padding:0 34px;border-radius:44px;border:5px solid var(--ink);color:var(--ink);
 background:linear-gradient(#fff3a8 0%,#ffd23f 46%,#f5a623 54%,#e88b12 100%);box-shadow:0 8px 0 var(--ink),0 14px 20px rgba(0,0,0,.35),inset 0 0 0 4px rgba(255,255,255,.45);transition:transform .12s,box-shadow .12s}
.gbtn::before{content:"";position:absolute;left:18px;right:18px;top:6px;height:30%;border-radius:30px;background:linear-gradient(rgba(255,255,255,.75),rgba(255,255,255,0))}
.gbtn::after{content:"";position:absolute;top:-20%;bottom:-20%;left:-40%;width:28%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);transform:skewX(-20deg);animation:shine 3.4s ease-in-out infinite}
@keyframes shine{0%,62%{left:-40%}100%{left:130%}}
.gbtn b{position:relative;font-weight:400;font-size:38px;letter-spacing:10px;color:#fff;-webkit-text-stroke:7px var(--ink);paint-order:stroke;text-shadow:0 4px 0 var(--ink)}
.gbtn small{position:relative;font-size:16px;color:var(--ink);opacity:.8;letter-spacing:1px}
.gbtn .pl{position:relative;width:44px;height:44px;flex:none;border-radius:50%;background:#d8383f;border:4px solid var(--ink);box-shadow:inset 0 -4px 0 rgba(0,0,0,.25)}
.gbtn .pl::after{content:"";position:absolute;left:14px;top:9px;border:9px solid transparent;border-left:14px solid #fff;border-right:none}
.gbtn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 11px 0 var(--ink),0 18px 24px rgba(0,0,0,.35),inset 0 0 0 4px rgba(255,255,255,.55)}
.gbtn:active{transform:translateY(5px);box-shadow:0 3px 0 var(--ink),inset 0 0 0 4px rgba(255,255,255,.45)}
.gbtn.alt,.gbtn.sm{background:linear-gradient(#8f7ad8 0%,#6a52c0 50%,#4e3a9e 100%);box-shadow:0 7px 0 var(--ink),0 12px 18px rgba(0,0,0,.3),inset 0 0 0 3px rgba(255,255,255,.22)}
.gbtn.alt::after,.gbtn.sm::after{display:none}
.gbtn.alt{height:70px}.gbtn.alt b{font-size:30px}
.gbtn.sm{min-width:158px;height:56px;padding:0 18px}.gbtn.sm b{font-size:21px;letter-spacing:3px;-webkit-text-stroke:5px var(--ink)}
.gbtn.sm::before,.gbtn.alt::before{opacity:.35}
.thero{isolation:isolate;position:absolute;right:330px;bottom:40px;width:330px;height:350px;z-index:2;animation:bob 3.2s ease-in-out infinite}
.thero img,.telder img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 0 rgba(20,10,40,.5))}
.telder{isolation:isolate;position:absolute;right:62px;bottom:46px;width:220px;height:240px;z-index:2;animation:bob 3.8s ease-in-out infinite reverse}
.tmeta{position:absolute;right:22px;top:20px;z-index:3;display:flex;gap:10px}
.tmeta span{padding:5px 15px 6px;font-size:17px;color:#ffe7a0;background:rgba(26,16,48,.8);border:3px solid var(--ink);border-radius:20px;box-shadow:inset 0 0 0 2px #4e3c8a}
.tmeta span b{font-weight:400;color:#fff}
.hsRow{left:30px;right:30px;gap:16px}
.hcard{width:248px}
.hcard .pic{width:216px;height:216px}
.hcard.lock{width:164px;padding:14px 10px}
.hcard.lock .pic{width:140px;height:216px}
.hcard.lock h3{font-size:24px;letter-spacing:1px}
.hcard.lock .tag{font-size:14px}

/* 打击动效 */
.slash2,.burst,.shard,.ring{position:absolute;pointer-events:none;z-index:5}
.slash2{transform:translate(-50%,-50%) rotate(var(--r));animation:sl2 .3s cubic-bezier(.2,.8,.3,1) forwards}
.slash2 svg{display:block;stroke-dasharray:340;stroke-dashoffset:340;animation:sl2d .18s ease-out forwards}
.slash2 svg path{stroke-dasharray:340;stroke-dashoffset:340;animation:sl2d .16s ease-out forwards}
@keyframes sl2d{to{stroke-dashoffset:0}}
@keyframes sl2{0%{opacity:1}70%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) rotate(var(--r)) scale(1.08,.6)}}
.burst{transform:translate(-50%,-50%) scale(.2) rotate(0);animation:bst .32s cubic-bezier(.2,1.6,.4,1) forwards}
.burst svg{display:block}
@keyframes bst{40%{transform:translate(-50%,-50%) scale(1.1) rotate(12deg);opacity:1}100%{transform:translate(-50%,-50%) scale(1.3) rotate(20deg);opacity:0}}
.shard{width:0;height:0}
.shard i{position:absolute;left:-7px;top:-7px;width:14px;height:14px;border:3px solid #2a1a33;border-radius:3px;transform:rotate(45deg) scale(var(--s));animation:shd .5s cubic-bezier(.1,.7,.3,1) forwards}
@keyframes shd{to{transform:translate(var(--dx),var(--dy)) rotate(225deg) scale(.2);opacity:0}}
.ring{width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:6px solid #fff;box-shadow:0 0 0 4px #2a1a33;animation:rng .42s ease-out forwards}
@keyframes rng{from{transform:scale(.3);opacity:1}to{transform:scale(5.5);opacity:0;border-width:1px}}
.fnum{font-size:54px}
.fnum{z-index:7}

.ono{position:absolute;z-index:8;pointer-events:none;transform:translate(-50%,-50%) rotate(var(--r)) scale(.3);font-size:46px;letter-spacing:2px;color:#fff;-webkit-text-stroke:9px var(--ink);paint-order:stroke;text-shadow:0 5px 0 var(--ink);animation:ono .6s cubic-bezier(.2,1.8,.4,1) forwards;white-space:nowrap}
.ono.big{font-size:76px;color:#ffd23f;-webkit-text-stroke-width:12px}
.ono.blk{color:#9ad8ff;font-size:38px}
@keyframes ono{20%{transform:translate(-50%,-50%) rotate(var(--r)) scale(1.15);opacity:1}70%{transform:translate(-50%,-60%) rotate(var(--r)) scale(1);opacity:1}100%{transform:translate(-50%,-80%) rotate(var(--r)) scale(.9);opacity:0}}
.flashW{position:absolute;inset:0;z-index:9;background:#fff;pointer-events:none;animation:flw .2s ease-out forwards}
@keyframes flw{from{opacity:.45}to{opacity:0}}
#arena.punch{animation:punch .26s cubic-bezier(.3,1.6,.5,1)}
@keyframes punch{0%{transform:scale(1)}25%{transform:scale(1.035) translate(-6px,4px)}55%{transform:scale(.995) translate(4px,-2px)}100%{transform:none}}
#comboCt{position:absolute;z-index:8;left:640px;top:210px;pointer-events:none;transform:translate(-50%,-50%) scale(var(--k));display:flex;align-items:baseline;gap:6px}
#comboCt b{font-weight:400;font-size:72px;color:#ffd23f;-webkit-text-stroke:11px var(--ink);paint-order:stroke;text-shadow:0 6px 0 var(--ink)}
#comboCt small{font-size:30px;color:#fff;-webkit-text-stroke:7px var(--ink);paint-order:stroke}
#comboCt.pop{animation:cpop .28s cubic-bezier(.2,1.8,.4,1)}
@keyframes cpop{from{transform:translate(-50%,-50%) scale(calc(var(--k) * 1.5)) rotate(-8deg)}}
.claw,.star5{position:absolute;pointer-events:none;z-index:6;transform:translate(-50%,-50%) rotate(-18deg)}
.claw svg path{stroke-dasharray:160;stroke-dashoffset:160;animation:sl2d .16s ease-out forwards}
.claw{animation:fadeL .42s ease-in forwards}
@keyframes fadeL{0%,60%{opacity:1}100%{opacity:0}}
.star5{animation:st5 .5s cubic-bezier(.2,1.6,.4,1) forwards}
@keyframes st5{from{transform:translate(-50%,-50%) scale(.2) rotate(0)}60%{opacity:1}to{transform:translate(-50%,-50%) scale(1.2) rotate(144deg);opacity:0}}
.fth,.dust,.drop{position:absolute;width:0;height:0;pointer-events:none;z-index:6}
.fth i{position:absolute;left:-6px;top:-14px;width:12px;height:28px;border-radius:50%;background:#fff;border:2.5px solid var(--ink);animation:fth .9s ease-out forwards}
@keyframes fth{0%{transform:translate(0,0) rotate(var(--r))}100%{transform:translate(var(--dx),var(--dy)) rotate(calc(var(--r) + 200deg));opacity:0}}
.dust i{position:absolute;left:-18px;top:30px;width:36px;height:36px;border-radius:50%;background:#c8a070;border:3px solid var(--ink);animation:dust .6s ease-out forwards}
@keyframes dust{from{transform:translate(0,0) scale(.3)}to{transform:translate(var(--dx),-30px) scale(var(--s));opacity:0}}
.drop i{position:absolute;left:-7px;top:-7px;width:14px;height:18px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:#fff3b0;border:2.5px solid var(--ink);animation:shd .6s cubic-bezier(.1,.7,.3,1) forwards;--s:1}

/* 选牌瞄准时：敌人浮到手牌上面，被牌挡住也能点到 */
#battle.aim #arena{z-index:20;pointer-events:none}
#battle.aim #arena .en{pointer-events:auto}
#battle.aim #hand .card:not(.sel){opacity:.92}

.ascSel{display:flex;align-items:center;gap:8px;margin-right:18px;padding:6px 10px;border-radius:16px;background:rgba(20,12,40,.85);border:3px solid var(--ink);box-shadow:inset 0 0 0 2px #6a52c0;color:#fff}
.ascSel button{font:inherit;font-size:20px;width:38px;height:38px;border-radius:50%;border:3px solid var(--ink);background:var(--gold);color:var(--ink);cursor:pointer}
.ascSel button:disabled{opacity:.3;cursor:default}
.ascSel div{display:flex;flex-direction:column;align-items:center;min-width:220px;max-width:420px}
.ascSel b{font-weight:400;font-size:22px;color:#ffd23f;letter-spacing:2px}
.ascSel small{font:600 12px/1.4 var(--body);opacity:.85;text-align:center}
.ascUp{font-size:22px;color:#ff9a7a!important}
.hsGo{align-items:center}

.intent.chg{background:#ff5a5a;color:#fff;animation:chgP .6s ease-in-out infinite alternate}
@keyframes chgP{to{transform:scale(1.12);box-shadow:0 0 18px #ff5a5a}}
.intent.ult{background:#ffdf6a;box-shadow:0 0 0 3px #ff5a5a,0 0 22px #ff7a3a;animation:chgP .5s ease-in-out infinite alternate}
.intent.prc{box-shadow:0 0 0 3px #7ad0ff}
.intent .ultN{display:block;position:absolute;left:50%;top:100%;transform:translateX(-50%);margin-top:2px;white-space:nowrap;font-size:14px;padding:1px 8px;border-radius:8px;background:#d8383f;color:#fff;border:2px solid var(--ink)}
.intent.prc .ultN{background:#2a7ac8}

.btrait{margin:3px auto 0;width:max-content;padding:1px 10px;font-size:14px;color:#fff;background:#7a2a8a;border:2px solid var(--ink);border-radius:8px}
.eCnt{display:inline-block;padding:1px 8px;margin-left:4px;font-size:14px;color:#fff;background:#d8383f;border:2px solid var(--ink);border-radius:8px;animation:chgP .7s ease-in-out infinite alternate}
.bcx{position:absolute;inset:0}
.bcxRow{position:absolute;left:60px;right:60px;top:118px;bottom:100px;display:flex;gap:18px}
.bcxGrid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:min-content;gap:12px;flex:1.3;overflow:auto}
.bcxC{font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;padding:8px 4px;border-radius:14px;background:#2f2466;border:3px solid var(--ink);color:#fff;box-shadow:0 4px 0 var(--ink)}
.bcxC img{width:84px;height:84px;object-fit:contain}
.bcxC span{font-size:15px;margin-top:2px}
.bcxC.lock img{filter:brightness(0) opacity(.6)}
.bcxC.on{background:#fff0c8;color:var(--ink)}
.bcxD{flex:1;min-height:420px;padding:16px;border-radius:16px;background:#fff6e0;border:4px solid var(--ink);color:var(--ink);display:flex;flex-direction:column;align-items:center;text-align:center}
.bcxD img{width:150px;height:150px;object-fit:contain}.bcxD img.sil{filter:brightness(0) opacity(.5)}
.bcxD h3{font-weight:400;font-size:30px;margin:4px 0}
.bcxD .bt{font:600 15px/1.5 var(--body);padding:6px 12px;border-radius:10px;background:#efe0ff;border:2px solid var(--ink)}
.bcxD .bt b{display:block;font:400 19px "NW Black","NW Serif","ZCOOL KuaiLe";color:#7a2a8a}
.bcxD .lore{margin-top:12px;font:600 16px/1.8 var(--body)}
.bcxD small{margin-top:auto;opacity:.6}
.bcxHint{opacity:.6;margin-top:30px;font:600 16px var(--body)}
.bcx .ovFoot{position:absolute;left:0;right:0;bottom:26px;text-align:center}
.bcxD{overflow:auto}

/* 首领：更大、更有压迫感 */
#battle.bossFight::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 75% 70% at 60% 45%,transparent 45%,rgba(20,0,20,.55) 100%)}
.en.bossEn{z-index:2}
.en.bossEn .body img{animation:bossBreath 3.6s ease-in-out infinite;transform-origin:50% 100%;filter:drop-shadow(0 0 14px rgba(200,30,60,.55)) drop-shadow(0 10px 0 rgba(10,0,20,.55))}
@keyframes bossBreath{0%,100%{transform:scale(1,1)}50%{transform:scale(1.03,.975) translateY(2px)}}
.en.bossEn .plat{width:120%;height:60px;bottom:-24px}
.en.bossEn .plat::before{background:#3a2a4a;box-shadow:inset 0 -10px 0 #261a32,0 0 40px 10px rgba(120,0,40,.45),0 6px 0 rgba(20,10,30,.6)}
.en.bossEn .ename{font-size:22px;padding:3px 16px;background:#5a1428;color:#ffd8d8;border-color:var(--ink)}
.en.bossEn.hit .body img,.en.bossEn .body img.hitting{animation:hitA .35s!important}
.en.bossEn .itw{position:absolute;left:-46px;top:34%;z-index:3}
.en.bossEn .itw .intent{animation:none}
.en.bossEn{transform:translate(45px,-4px)}
.en.bossEn .btrait{position:absolute;left:-46px;top:calc(34% - 34px);z-index:3}
.en.bossEn .sts{position:absolute;left:-60px;top:calc(34% + 54px);z-index:3;flex-direction:column;align-items:flex-start;width:max-content}
.mn.t-K{width:78px;height:78px;margin:-39px 0 0 -39px;background:#7a2a8a;border-width:4px;box-shadow:0 5px 0 var(--ink),inset 0 0 0 5px #a85ab8,0 0 22px rgba(200,60,120,.6)}
.mn.t-K svg,.mn.t-K .ico{width:44px;height:44px;color:#fff;fill:#fff}

/* 层末首领：更大、更暗、红色脉动；守关首领小一号 */
.en.guardEn{transform:translate(45px,-10px)}
.en.finalEn{transform:translate(45px,-10px)}
.en.finalEn .body img{filter:drop-shadow(0 0 22px rgba(220,20,50,.75)) drop-shadow(0 12px 0 rgba(10,0,20,.6));animation:bossBreath 3s ease-in-out infinite}
.en.finalEn .plat::before{box-shadow:inset 0 -10px 0 #261a32,0 0 60px 18px rgba(160,0,40,.6),0 6px 0 rgba(20,10,30,.6)}
#battle.finalFight::before{background:radial-gradient(ellipse 70% 65% at 60% 45%,transparent 38%,rgba(40,0,10,.75) 100%);animation:finPulse 4s ease-in-out infinite}
@keyframes finPulse{50%{opacity:.75}}

/* 标题页：四个小按钮排两行；云存档状态 */
.tmenu .sub{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cloudSt{position:absolute;left:100px;bottom:28px;z-index:3;font-size:16px;color:#cfc4f2;letter-spacing:1px}
/* 首领名字挪到左侧，不被手牌挡住 */
.en.bossEn .ename{position:absolute;left:-46px;top:calc(34% - 72px);z-index:3;white-space:nowrap}
/* 成就 */
.achGrid{position:absolute;left:60px;right:60px;top:118px;bottom:100px;overflow:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;grid-auto-rows:min-content}
.achC{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;background:#fff6e0;border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);color:var(--ink)}
.achC i{flex:none;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--gold);border:3px solid var(--ink)}
.achC i svg,.achC i .ico{width:30px;height:30px}
.achC b{display:block;font-weight:400;font-size:21px}
.achC span{display:block;font:600 13px/1.4 var(--body);opacity:.8}
.achC em{display:inline-block;margin-top:3px;font:700 12px var(--body);font-style:normal;color:#fff;background:#7a2a8a;padding:1px 8px;border-radius:8px}
.achC.lock{background:#3a2e66;color:#cfc4f2;box-shadow:0 4px 0 var(--ink)}
.achC.lock i{background:#4e3c8a;filter:grayscale(1)}
.achPop{position:absolute;left:50%;top:70px;z-index:95;transform:translateX(-50%);display:flex;align-items:center;gap:14px;padding:10px 22px 10px 12px;border-radius:40px;background:linear-gradient(#fff6c8,#ffd84a);border:4px solid var(--ink);box-shadow:0 6px 0 var(--ink),0 0 30px rgba(255,210,63,.6);color:var(--ink);animation:achIn .45s cubic-bezier(.2,1.6,.4,1);pointer-events:none}
.achPop.out{transition:all .5s;opacity:0;transform:translate(-50%,-30px)}
.achPop i{width:54px;height:54px;border-radius:50%;background:#d8383f;border:3px solid var(--ink);display:flex;align-items:center;justify-content:center;color:#fff}
.achPop i svg{width:30px;height:30px}
.achPop small{display:block;font-size:14px;color:#a8541a}
.achPop b{display:block;font-weight:400;font-size:26px;line-height:1.1}
.achPop span{display:block;font:700 13px var(--body);opacity:.85}
@keyframes achIn{from{transform:translate(-50%,-40px) scale(.6);opacity:0}}
.toyKeys{max-width:1000px;margin:0 auto 8px;font:600 11px/1.4 var(--body);color:#cfc4f2;word-break:break-all;opacity:.8}

.zsBtn{position:absolute;right:22px;top:66px;z-index:3;display:flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;font:inherit;font-size:16px;color:var(--ink);background:#fff6e0;border:3px solid var(--ink);border-radius:14px;box-shadow:0 4px 0 var(--ink);cursor:pointer}
.zsBtn img{width:44px;height:44px;border-radius:8px;object-fit:cover;object-position:50% 38%}
.zsBtn:hover{transform:translateY(-2px)}
.zsBox{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:12px}
.zsBox img{width:380px;height:380px;border-radius:18px;border:5px solid var(--ink);box-shadow:0 8px 0 var(--ink)}
.zsBox p{font-size:22px;color:#ffe7a0}

.rankRes{margin:10px 0;font-size:20px;color:#ffe7a0;min-height:26px}
.rankRes b{color:#fff}
.rkTabs{position:absolute;left:60px;right:60px;top:112px;display:flex;gap:8px;align-items:center}
.rkTabs button{font:inherit;font-size:17px;padding:6px 14px;border-radius:12px;border:3px solid var(--ink);background:#3a2e66;color:#cfc4f2;cursor:pointer;box-shadow:0 3px 0 var(--ink)}
.rkTabs button.on{background:var(--gold);color:var(--ink)}
.rkSp{flex:1}
.rkList{position:absolute;left:60px;right:60px;top:166px;bottom:100px;overflow:auto;border-radius:16px;background:#fff6e0;border:4px solid var(--ink);padding:8px 12px;color:var(--ink)}
.rkRow{display:flex;align-items:center;gap:12px;padding:6px 8px;border-bottom:2px dashed #e0cfa8;font-size:19px}
.rkRow b{width:44px;text-align:center;font:800 20px var(--num)}
.rkRow img{width:38px;height:38px;border-radius:50%;border:2px solid var(--ink);background:#ddd;object-fit:cover}
.rkRow span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rkRow em{font-style:normal;font:800 18px var(--num);color:#a8541a}
.rkRow.top1 b{color:#d89a00}.rkRow.top2 b{color:#8a8aa8}.rkRow.top3 b{color:#b8703a}
.rkMe{position:sticky;bottom:-8px;margin:8px -12px -8px;padding:10px 16px;background:var(--ink);color:#ffe7a0;font-size:18px;border-radius:0 0 12px 12px}
.rkMe b{color:#fff}
.rkEmpty{text-align:center;margin-top:60px;font:600 18px var(--body);opacity:.7}

/* 卡面实时数值：变高绿色，变低红色 */
.ds b.r{color:#d0202e}
/* 战斗时背景让位给角色 */
#bg{transition:filter .5s}
#stage.inBattle #bg{filter:brightness(.68) saturate(.8)}#stage.inBattle #bg.photoBg{filter:none}#stage.inBattle #bg .bgPhoto{animation:none;filter:saturate(.7) contrast(1.05) brightness(.68)}#stage.inBattle .ffly{display:none}
#stage.inBattle #wxfx{opacity:.55}

/* 继续冒险存档卡片 */
.saveWrap{position:relative}
.saveCard{position:relative;display:flex;align-items:center;gap:14px;width:440px;padding:10px 46px 10px 10px;font:inherit;text-align:left;cursor:pointer;color:var(--ink);background:linear-gradient(#fff8e6,#f3e2bc);border:4px solid var(--ink);border-radius:20px;box-shadow:0 7px 0 var(--ink),0 14px 22px rgba(0,0,0,.35);transition:transform .12s}
.saveCard:hover{transform:translateY(-3px)}
.saveCard:active{transform:translateY(4px);box-shadow:0 3px 0 var(--ink)}
.svPic{flex:none;width:92px;height:92px;border-radius:14px;background:radial-gradient(circle at 50% 60%,#ffe9a8,#f2c25a);border:3px solid var(--ink);overflow:hidden;display:flex;align-items:flex-end;justify-content:center}
.svPic img{width:108%;height:108%;object-fit:contain;object-position:50% 100%}
.svInfo{flex:1;min-width:0}
.svT{display:flex;align-items:baseline;gap:10px}
.svT b{font-weight:400;font-size:30px;letter-spacing:4px}
.svT span{font-size:16px;padding:1px 10px;border-radius:8px;background:var(--ink);color:#ffd84a}
.svL{font-size:17px;margin:2px 0 6px;color:#7a4a1e}
.svS{display:flex;flex-wrap:wrap;gap:6px}
.svS span{display:flex;align-items:center;gap:3px;font:800 14px var(--num);padding:2px 8px;border-radius:8px;background:rgba(42,26,51,.1)}
.svS .ico,.svS svg{width:16px;height:16px}
.svGo{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;background:#d8383f;color:#fff;font-style:normal;font-size:14px;display:flex;align-items:center;justify-content:center;border:3px solid var(--ink)}
.newLink{display:block;margin:10px 0 0 6px;font:inherit;font-size:16px;color:#cfc4f2;background:none;border:0;border-bottom:1px dashed #cfc4f2;cursor:pointer;padding:0 0 2px}
.newLink:hover{color:#fff}

/* ============ 标题页 · 水墨书法（方案 A） ============ */
.inkScene .mistDrift{animation:mistD 26s ease-in-out infinite alternate}
@keyframes mistD{to{transform:translateX(-60px)}}
#title .logo{left:70px;top:40px}
#title .logo h1{font-family:'Zhi Mang Xing',cursive;font-size:156px;letter-spacing:0;line-height:1}
#title .logo h1 span{color:#f2e8d2;-webkit-text-stroke:0;text-shadow:0 3px 0 #0d0b12,0 0 26px rgba(0,0,0,.65);transform:none}
#title .logo h1 span::before,#title .logo h1 span::after{display:none}
#title .logo h1 span:nth-child(2){transform:translateY(8px)}#title .logo h1 span:nth-child(4){transform:translateY(4px)}
#title .logo::after{content:"壹·零";position:absolute;left:548px;top:30px;writing-mode:vertical-rl;font-family:'NW Black';font-size:21px;line-height:1.1;color:#fbeee0;background:#a8232b;padding:10px 6px;border-radius:3px;box-shadow:inset 0 0 0 2px #e88080;transform:rotate(6deg);letter-spacing:2px}
#title .tsub{margin:14px 0 0 6px}
#title .tsub .ribbon{font-family:'NW Black';background:none;color:#ddd2bc;font-size:23px;letter-spacing:12px;padding:6px 4px;clip-path:none;text-shadow:none;-webkit-text-stroke:0;border-top:1px solid rgba(221,210,188,.45);border-bottom:1px solid rgba(221,210,188,.45);margin:0}
#title .tsub .ribbon::before,#title .tsub .ribbon::after{display:none}
#title .ver{display:none}
#title .tmenu{top:350px;gap:16px}
#title .gbtn{height:auto;min-width:290px;padding:14px 40px 15px;justify-content:flex-start;border:0;border-radius:0;box-shadow:none;background:linear-gradient(90deg,rgba(168,35,43,.96),rgba(168,35,43,.9) 72%,rgba(168,35,43,0));clip-path:polygon(0 9%,96% 0,100% 52%,94% 100%,2% 92%);transition:transform .15s,filter .15s}
#title .gbtn::before,#title .gbtn::after,#title .gbtn .pl{display:none}
#title .gbtn b{font-family:'NW Black';font-size:34px;color:#fbeee0;-webkit-text-stroke:0;text-shadow:none;letter-spacing:12px}
#title .gbtn:hover{transform:translateX(6px);filter:brightness(1.12)}
#title .tmenu .sub{display:grid;grid-template-columns:auto auto;gap:14px 40px;margin-left:6px}
#title .gbtn.sm{background:none;clip-path:none;padding:4px 2px 6px;min-width:0;width:auto;justify-content:flex-start;border-bottom:1px solid rgba(221,210,188,.4)}
#title .gbtn.sm b{font-size:20px;color:#ddd2bc;letter-spacing:6px}
#title .gbtn.sm:hover b{color:#fff}
#title .tmeta span{background:none;border:0;border-bottom:1px solid rgba(221,210,188,.35);border-radius:0;box-shadow:none;color:#bdb2a0;font-family:'NW Black';font-size:16px;padding:2px 4px}
#title .tmeta span b{color:#f2e8d2}
#title .zsBtn{background:rgba(13,11,18,.55);border:1px solid rgba(221,210,188,.4);border-radius:4px;box-shadow:none;color:#ddd2bc;font-family:'NW Black'}
#title .cloudSt{font-family:'NW Black';color:#8f8676}
#title .plat::before{background:#1c1922;box-shadow:inset 0 -8px 0 #120f17,0 0 30px rgba(0,0,0,.6);clip-path:none;border-color:#000}
#title .thero img,#title .telder img{filter:drop-shadow(0 10px 18px rgba(0,0,0,.6))}
/* 存档卡片：宣纸 + 墨边 */
#title .saveCard{width:440px;background:linear-gradient(#f3ead6,#e3d5b6);border:0;border-radius:4px;box-shadow:0 0 0 1px #6a5a44,0 0 0 5px #f3ead6,0 0 0 6px #6a5a44,0 14px 26px rgba(0,0,0,.55);color:#2a2018}
#title .svPic{border-radius:3px;border:2px solid #2a2018;background:radial-gradient(circle at 50% 70%,#efe1bf,#cdb88e)}
#title .svT b{font-family:'NW Black';font-size:30px;letter-spacing:8px}
#title .svT span{background:#a8232b;color:#fbeee0;border-radius:2px;font-family:'NW Black'}
#title .svL{font-family:'NW Black';color:#6a4a2a}
#title .svS span{background:rgba(42,32,24,.08);border-radius:2px}
#title .svGo{background:#a8232b;border:0;border-radius:2px}
#title .newLink{font-family:'NW Black';color:#a89e8a;border-bottom-color:rgba(168,158,138,.6)}

/* 卡牌升级特效 */
.upFx{position:absolute;inset:0;z-index:96;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 46%,rgba(255,220,120,.18),rgba(10,6,20,.55) 70%);animation:upBg .3s ease-out}
.upFx.out{transition:opacity .45s;opacity:0}
@keyframes upBg{from{opacity:0}}
.upRays{position:absolute;left:50%;top:44%;width:900px;height:900px;margin:-450px 0 0 -450px;background:repeating-conic-gradient(rgba(255,226,140,.22) 0 8deg,transparent 8deg 22deg);border-radius:50%;-webkit-mask:radial-gradient(circle,#000 18%,transparent 62%);mask:radial-gradient(circle,#000 18%,transparent 62%);animation:upRot 4s linear infinite,upBg .5s}
@keyframes upRot{to{transform:rotate(360deg)}}
.upRow{position:relative;display:flex;gap:34px}
.upC{position:relative;width:200px;height:280px;animation:upIn .45s cubic-bezier(.2,1.6,.4,1) calc(var(--i)*90ms) both}
@keyframes upIn{from{transform:translateY(60px) scale(.6);opacity:0}}
.upC .card{position:absolute!important;left:0;top:0;transform:scale(1.25);transform-origin:0 0}
.upOld{position:absolute;inset:0;animation:upOld .9s ease-in forwards calc(var(--i)*90ms + .25s)}
@keyframes upOld{60%{filter:brightness(2.4);transform:scale(1.04)}100%{filter:brightness(4);opacity:0;transform:scale(1.08)}}
.upNew{position:absolute;inset:0;opacity:0;animation:upNew .6s cubic-bezier(.2,1.7,.4,1) forwards calc(var(--i)*90ms + .75s)}
@keyframes upNew{0%{opacity:0;transform:scale(.85);filter:brightness(3)}60%{opacity:1;transform:scale(1.08);filter:brightness(1.4)}100%{opacity:1;transform:scale(1);filter:drop-shadow(0 0 18px #ffd84a)}}
.upFlash{position:absolute;left:50%;top:50%;width:40px;height:40px;margin:-20px;border-radius:50%;background:#fff;box-shadow:0 0 60px 30px #ffe9a0;opacity:0;animation:upFl .5s ease-out forwards calc(var(--i)*90ms + .7s)}
@keyframes upFl{0%{opacity:1;transform:scale(.2)}100%{opacity:0;transform:scale(5)}}
.upSp{position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px;background:#ffd84a;border:2.5px solid var(--ink);transform:rotate(45deg);opacity:0;animation:upSp .7s cubic-bezier(.1,.7,.3,1) forwards calc(var(--i)*90ms + .72s + var(--d))}
@keyframes upSp{0%{opacity:1;transform:rotate(var(--a)) translateY(0) rotate(45deg) scale(1)}100%{opacity:0;transform:rotate(var(--a)) translateY(-190px) rotate(225deg) scale(.4)}}
.upT{position:relative;margin-top:66px;text-align:center;animation:upIn .4s cubic-bezier(.2,1.6,.4,1) .8s both}
.upT b{display:block;font-weight:400;font-size:64px;color:#ffd84a;-webkit-text-stroke:10px var(--ink);paint-order:stroke;text-shadow:0 6px 0 var(--ink);letter-spacing:8px}
.upT small{font-size:22px;color:#fff;-webkit-text-stroke:5px var(--ink);paint-order:stroke}
#title .svL,#title .svS{font-family:'NW Black','NW Serif','ZCOOL KuaiLe'}
.upC .card{transform:scale(1.35)}

/* 主页：只留主角，翻转站在右边 */
#title .thero{right:110px;bottom:48px;width:300px;height:320px}
#title .thero img{transform:scaleX(-1)}
.inkScene .birdF{animation:birdF 7s ease-in-out infinite}
@keyframes birdF{0%,100%{transform:translate(0,0)}50%{transform:translate(-26px,-8px)}}
.inkScene rect.win{animation:twk 2.4s steps(2) infinite alternate}

#title .tknight{position:absolute;right:16px;bottom:92px;width:220px;height:280px;z-index:1;animation:bob 3.8s ease-in-out infinite reverse}
#title .tknight img{width:100%;height:100%;object-fit:contain;transform:scaleX(-1);filter:brightness(.82) drop-shadow(0 10px 16px rgba(0,0,0,.6))}

/* 长老的小院 */
.yard .rkTabs{top:110px}
.ydBody{position:absolute;left:60px;right:60px;top:166px;bottom:100px;overflow:auto}
.upGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.upItem{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:12px;background:#fff6e0;border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);color:var(--ink);min-height:150px}
.upItem.max{background:#efe3c0}
.uiH{display:flex;justify-content:space-between;align-items:baseline}
.uiH b{font-weight:400;font-size:21px}
.uiH span{font-size:12px;color:#a8541a;letter-spacing:1px}
.upItem p{font:600 13px/1.45 var(--body);flex:1}
.uiBuy{display:flex;align-items:center;justify-content:center;gap:4px;font:800 18px var(--num);padding:6px;border-radius:10px;border:3px solid var(--ink);background:var(--gold);color:var(--ink);cursor:pointer;box-shadow:0 3px 0 var(--ink)}
.uiBuy svg,.uiBuy .ico{width:18px;height:18px}
.uiBuy:disabled{background:#cfc6b4;color:#7a6e5a;cursor:default;box-shadow:none}
.taleList{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.tale{padding:12px 14px;border-radius:6px;background:linear-gradient(#f3ead6,#e6d8b8);color:#2a2018;box-shadow:0 0 0 1px #6a5a44,0 6px 14px rgba(0,0,0,.4)}
.tale em{display:block;font-style:normal;font-family:'NW Black','NW Black','NW Serif','ZCOOL KuaiLe';font-size:19px;color:#a8232b;margin-bottom:4px}
.tale p{font:600 14px/1.7 var(--body)}
.tale.lock{background:#2a2438;color:#8f8676;box-shadow:0 0 0 1px #4a4058}
.tale.lock em{color:#8f8676}
.dot{display:inline-block;width:9px;height:9px;margin-left:4px;border-radius:50%;background:#e8483a;vertical-align:4px}
.shardRes{margin:10px auto;max-width:620px;text-align:left}
.srN{display:flex;align-items:center;gap:8px;justify-content:center;font-size:22px;color:#ffd84a}
.srN svg,.srN .ico{width:24px;height:24px}
.srN small{font-size:14px;color:#cfc4f2}
.srT{margin-top:8px;padding:10px 14px;border-radius:6px;background:linear-gradient(#f3ead6,#e6d8b8);color:#2a2018}
.srT em{display:block;font-style:normal;color:#a8232b;font-size:17px}
.srT p{font:600 14px/1.6 var(--body)}
#title .tmenu .sub{grid-template-columns:auto auto auto}
.srT p{margin:0}.srT em small{font-size:13px;color:#7a6a54;margin-left:6px}
.shardRes{margin:6px auto}
.endBox{max-height:700px;overflow:auto}
.endImg{width:150px;height:150px}
.endBox h1{margin-top:0}
.endStats{margin:12px 0}
.endStats div{padding:6px 0}
.endBox .roast{margin:8px auto}
.yard .ydBody{top:120px}
.bcxD .lore .sp{opacity:.35;margin:4px 0}

/* ============ 登顶结算：卷轴 ============ */
.winWrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:28px;padding:0 40px}
.winHero{position:relative;flex:none;width:330px;height:560px;display:flex;align-items:flex-end;justify-content:center}
.winMoon{position:absolute;left:50%;top:40px;width:250px;height:250px;margin-left:-125px;border-radius:50%;background:radial-gradient(circle,#f6e6c2 0 58%,rgba(246,230,194,.25) 60%,transparent 72%);animation:winGlow 4s ease-in-out infinite alternate}
@keyframes winGlow{to{transform:scale(1.05);filter:brightness(1.08)}}
.winHero img{position:relative;z-index:1;width:300px;height:380px;object-fit:contain;margin-bottom:22px;filter:drop-shadow(0 12px 20px rgba(0,0,0,.6));animation:upIn .8s cubic-bezier(.2,1.4,.4,1) both}
.winStone{position:absolute;bottom:4px;left:50%;width:280px;height:44px;margin-left:-140px;border-radius:50%;background:#1c1922;box-shadow:inset 0 -8px 0 #120f17,0 0 40px rgba(0,0,0,.6)}
.winScroll{position:relative;width:640px;max-height:660px;overflow:auto;padding:26px 34px 22px;background:linear-gradient(#f4ecd8,#e7dabb);color:#2a2018;border-radius:4px;box-shadow:0 0 0 1px #6a5a44,0 0 0 6px #f4ecd8,0 0 0 7px #6a5a44,0 20px 40px rgba(0,0,0,.6);animation:upIn .6s cubic-bezier(.2,1.3,.4,1) .15s both}
.winScroll::before,.winScroll::after{content:"";position:absolute;left:-14px;right:-14px;height:14px;background:linear-gradient(#5a3a22,#3a2414);border-radius:7px}
.winScroll::before{top:-10px}.winScroll::after{bottom:-10px}
.wsHead{display:flex;align-items:center;justify-content:space-between}
.wsHead h1{font-family:'Zhi Mang Xing',cursive;font-weight:400;font-size:96px;line-height:1;color:#1a120c;letter-spacing:6px}
.wsSeal{writing-mode:vertical-rl;font-family:'NW Black';font-size:18px;line-height:1.2;color:#fbeee0;background:#a8232b;padding:10px 7px;border-radius:3px;box-shadow:inset 0 0 0 2px #e88080;transform:rotate(5deg)}
.wsLead{font:600 17px/1.8 var(--body);margin-top:6px;color:#4a3828}
.wsAsc{margin-top:4px;font-family:'NW Black';font-size:18px;color:#a8232b}
.wsStats{display:grid;grid-template-columns:repeat(5,1fr);margin:14px 0 10px;border-top:1px solid #8a7658;border-bottom:1px solid #8a7658}
.wsStats div{text-align:center;padding:8px 0}
.wsStats div+div{border-left:1px dashed #b8a47e}
.wsStats b{display:block;font:800 26px var(--num);color:#1a120c}
.wsStats small{font-family:'NW Black';font-size:13px;color:#6a5640}
.wsQuote{display:flex;gap:12px;align-items:center;margin-top:10px}
.wsQuote img{width:62px;height:62px;object-fit:contain;flex:none;filter:sepia(.3)}
.wsQuote p{font:600 15px/1.7 var(--body);color:#3a2a1c}
.wsTale{margin-top:10px;padding:10px 14px;border-left:3px solid #a8232b;background:rgba(168,35,43,.05)}
.wsTale em{display:block;font-style:normal;font-family:'NW Black';font-size:17px;color:#a8232b}
.wsTale p{font:600 14px/1.8 var(--body);color:#3a2a1c}
.wsFoot{display:flex;align-items:center;justify-content:space-between;margin-top:16px}
.wsShard{display:flex;align-items:center;gap:6px;font-family:'NW Black';font-size:18px;color:#6a5640}
.wsShard svg,.wsShard .ico{width:22px;height:22px}
.wsShard b{font:800 26px var(--num);color:#a8541a}
.wsBtns{display:flex;gap:12px}
.wsBtn{font-family:'NW Black';font-size:22px;letter-spacing:6px;padding:8px 22px;border:0;border-radius:2px;cursor:pointer;color:#2a2018;background:none;border-bottom:1px solid #6a5640}
.wsBtn.red{color:#fbeee0;background:#a8232b;clip-path:polygon(0 8%,96% 0,100% 52%,95% 100%,2% 92%);border:0;padding:10px 30px}
.wsBtn:hover{filter:brightness(1.1);transform:translateY(-2px)}

/* ============ 长老的小院：竹简 + 院子 ============ */
.yard{background:radial-gradient(ellipse at 50% 0,rgba(246,230,194,.12),transparent 60%)}
.yard .mgHead .ribbon{font-family:'NW Black';background:none;clip-path:none;color:#f2e8d2;font-size:34px;letter-spacing:14px;-webkit-text-stroke:0;text-shadow:none;border-bottom:1px solid rgba(221,210,188,.45);padding:4px 10px}
.yard .mgHead .ribbon::before,.yard .mgHead .ribbon::after{display:none}
.yard .mgHead small{font-family:'NW Black';color:#bdb2a0}
.yard .mgHead small b{font:800 22px var(--num);color:#ffd84a;margin:0 2px}
.yard .upGrid{grid-template-columns:repeat(5,1fr);gap:16px}
.yard .upItem{position:relative;background:linear-gradient(90deg,#d8c08a,#ecdcae 18%,#f2e4bc 50%,#ecdcae 82%,#d8c08a);border:0;border-radius:3px;box-shadow:0 0 0 1px #6a5032,0 8px 16px rgba(0,0,0,.45);color:#2a2018;padding:16px 14px 12px;min-height:178px}
.yard .upItem::before{content:"";position:absolute;left:8px;right:8px;top:6px;height:2px;background:repeating-linear-gradient(90deg,#6a5032 0 6px,transparent 6px 10px);opacity:.5}
.yard .uiH b{font-family:'NW Black';font-size:23px;letter-spacing:2px}
.yard .uiH span{color:#a8232b;font-size:13px;letter-spacing:2px}
.yard .upItem p{font:600 13px/1.6 var(--body);color:#4a3828}
.yard .uiBuy{font-family:var(--num);background:#a8232b;color:#fbeee0;border:0;border-radius:2px;box-shadow:none;clip-path:polygon(0 8%,97% 0,100% 55%,96% 100%,2% 94%)}
.yard .uiBuy:disabled{background:rgba(42,32,24,.18);color:#6a5640}
.yard .upItem.max{filter:saturate(.6) brightness(.95)}
.yard .upItem.max .uiBuy{background:none;color:#a8232b;font-family:'NW Black';letter-spacing:4px}
.yard .ovFoot .btn{font-family:'NW Black';background:none;border:0;border-bottom:1px solid rgba(221,210,188,.5);box-shadow:none;color:#ddd2bc;letter-spacing:8px}

.winWrap.lose .winMoon{filter:grayscale(.6) brightness(.8)}
.winWrap.lose .wsHead h1{color:#3a3040}
.wsLead{font-size:15.5px;line-height:1.75}.wsTale p{font-size:13.5px;line-height:1.75}.winScroll{padding-top:20px}.wsHead h1{font-size:84px}
.winScroll{text-align:left}.wsTale em{margin-bottom:2px}

/* 照片背景：轻微缓动 + 统一调色，压一圈暗角，让卡通角色站得住 */
#bg.photoBg{background:#0d0a1c}
.bgPhoto{position:absolute;inset:-3%;background-size:cover;background-position:50% 55%;animation:bgDrift 40s ease-in-out infinite alternate;filter:saturate(.85) contrast(1.05)}
@keyframes bgDrift{to{transform:scale(1.04) translate(-1%,-.5%)}}
.bgGrade{position:absolute;inset:0;background:radial-gradient(ellipse 80% 70% at 50% 45%,transparent 40%,rgba(10,6,24,.6) 100%),linear-gradient(transparent 55%,rgba(10,6,24,.55))}

/* =====================================================================
   P5 风格：红 / 黑 / 白，斜切、剪报字、错位投影（战斗和地图只动横幅）
   ===================================================================== */
:root{--p5r:#e5191c;--p5k:#0d0d0d;--p5w:#ffffff}
.p5Scene .p5rays{transform-origin:980px 300px;animation:p5spin 90s linear infinite}
@keyframes p5spin{to{transform:rotate(360deg)}}

/* ---- 主页 ---- */
#title .logo{left:56px;top:50px}
#title .logo h1{font-family:'NW Black',sans-serif;font-weight:900;font-size:104px;letter-spacing:0;line-height:1.1;display:flex;gap:6px}
#title .logo h1 span.rn{display:inline-block;padding:2px 14px 8px;color:var(--p5w);background:var(--p5k);text-shadow:none;-webkit-text-stroke:0;box-shadow:6px 6px 0 var(--p5r)}
#title .logo h1 span.rn::before,#title .logo h1 span.rn::after{display:none}
#title .logo h1 .rn0{transform:rotate(-6deg) translateY(4px);font-size:116px}
#title .logo h1 .rn1{background:var(--p5w);color:var(--p5k);transform:rotate(4deg) translateY(16px);box-shadow:6px 6px 0 var(--p5k);font-size:92px}
#title .logo h1 .rn2{background:var(--p5r);color:var(--p5w);transform:rotate(-3deg) translateY(-2px);box-shadow:6px 6px 0 var(--p5k);font-size:84px}
#title .logo h1 .rn3{transform:rotate(7deg) translateY(10px);font-size:112px;border:4px solid var(--p5w)}
#title .logo::after{content:"VER 4.1";left:auto;right:-90px;top:-10px;writing-mode:horizontal-tb;font:900 18px/1 'NW Black',sans-serif;letter-spacing:3px;color:var(--p5k);background:var(--p5w);padding:6px 10px;border-radius:0;box-shadow:4px 4px 0 var(--p5r);transform:rotate(-8deg)}
#title .tsub{margin:30px 0 0 4px}
#title .tsub .ribbon{font-family:'NW Black';font-weight:900;font-size:20px;letter-spacing:6px;color:var(--p5k);background:var(--p5w);border:0;padding:6px 18px;transform:skewX(-12deg);box-shadow:5px 5px 0 var(--p5r)}
#title .tmenu{top:330px;gap:14px}
#title .gbtn{clip-path:none;transform:skewX(-14deg);background:var(--p5k);padding:10px 40px 12px 28px;min-width:300px;box-shadow:7px 7px 0 var(--p5r);border:3px solid var(--p5w);transition:transform .12s,background .12s}
#title .gbtn b{font-family:'NW Black';font-weight:900;font-size:36px;letter-spacing:8px;color:var(--p5w);display:inline-block;transform:skewX(14deg)}
#title .gbtn:hover{transform:skewX(-14deg) translateX(8px);background:var(--p5r)}
#title .gbtn:hover b{color:var(--p5w)}
#title .gbtn.sm{transform:skewX(-14deg);background:var(--p5w);border:3px solid var(--p5k);padding:5px 18px 6px;box-shadow:5px 5px 0 var(--p5k)}
#title .gbtn.sm b{font-size:18px;letter-spacing:3px;color:var(--p5k)}
#title .gbtn.sm:hover{background:var(--p5k)}
#title .gbtn.sm:hover b{color:var(--p5w)}
#title .tmenu .sub{gap:12px 14px}
#title .tmeta span{font-family:'NW Black';background:var(--p5k);color:var(--p5w);border:0;padding:4px 10px;transform:skewX(-12deg);box-shadow:3px 3px 0 var(--p5w)}
#title .tmeta span b{color:#ffd84a}
#title .zsBtn{background:var(--p5w);color:var(--p5k);border:3px solid var(--p5k);box-shadow:4px 4px 0 var(--p5k);font-family:'NW Black'}
#title .cloudSt{color:#fff;font-family:'NW Black';text-shadow:2px 2px 0 var(--p5k)}
#title .plat::before{background:var(--p5k);box-shadow:0 0 0 4px var(--p5w),8px 8px 0 4px var(--p5r)}
#title .thero img,#title .tknight img{filter:drop-shadow(8px 8px 0 rgba(13,13,13,.85))}
#title .tknight img{filter:drop-shadow(8px 8px 0 rgba(13,13,13,.85)) brightness(.95)}
#title .saveCard{background:var(--p5w);border:4px solid var(--p5k);border-radius:0;box-shadow:9px 9px 0 var(--p5r);transform:skewX(-6deg)}
#title .saveCard>*{transform:skewX(6deg)}
#title .svPic{border-radius:0;border:3px solid var(--p5k);background:var(--p5r)}
#title .svT b{font-family:'NW Black';font-weight:900;letter-spacing:4px}
#title .svT span{background:var(--p5k);color:var(--p5w);border-radius:0}
#title .svL{color:var(--p5r);font-family:'NW Black'}
#title .svGo{background:var(--p5r);border-radius:0;border:2px solid var(--p5k)}
#title .newLink{color:var(--p5w);font-family:'NW Black';border-bottom-color:var(--p5w)}

/* ---- 通用：标题横幅 / 按钮 ---- */
.ribbon,.ribbon.b{font-family:'NW Black';font-weight:900;color:var(--p5w);background:var(--p5k);clip-path:none;border-radius:0;transform:skewX(-12deg) rotate(-1.5deg);box-shadow:6px 6px 0 var(--p5r);-webkit-text-stroke:0;text-shadow:none;letter-spacing:6px}
.ribbon::before,.ribbon::after{display:none}
.btn{font-family:'NW Black';font-weight:900;border-radius:0;border:3px solid var(--p5k);color:var(--p5w);background:var(--p5k);box-shadow:6px 6px 0 var(--p5r);transform:skewX(-10deg);text-shadow:none;-webkit-text-stroke:0;transition:transform .12s,background .12s}
.btn:hover{background:var(--p5r);transform:skewX(-10deg) translateY(-2px)}
.btn.ghost,.btn.light{background:var(--p5w);color:var(--p5k);box-shadow:6px 6px 0 var(--p5k)}
.btn.ghost:hover,.btn.light:hover{background:var(--p5k);color:var(--p5w)}
.btn.pink{background:var(--p5r);box-shadow:6px 6px 0 var(--p5k)}
.ovHead small,.pickHead small,.mgHead small,.hsTitle small{color:#fff;font-family:'NW Black';text-shadow:2px 2px 0 var(--p5k)}
#ov{background:repeating-linear-gradient(-30deg,rgba(229,25,28,.08) 0 18px,transparent 18px 36px),rgba(13,13,13,.94)}

/* ---- 面板：白底黑框红投影 ---- */
.panel,.evBox,.endBox .roast{background:var(--p5w);border:4px solid var(--p5k);border-radius:0;box-shadow:12px 12px 0 var(--p5r)}
.evo,.rwList>*{border-radius:0!important;border:3px solid var(--p5k)!important;box-shadow:4px 4px 0 var(--p5k)!important;background:var(--p5w)!important;color:var(--p5k)!important;transform:skewX(-6deg)}
.evo>*,.rwList>*>*{transform:skewX(6deg)}
.evo:hover:not(:disabled),.rwList>*:hover{background:var(--p5k)!important;color:var(--p5w)!important;box-shadow:4px 4px 0 var(--p5r)!important}
.evo b{font-family:'NW Black'}

/* ---- 选角 ---- */
.hcard{border-radius:0;background:var(--p5k);border:4px solid var(--p5w);box-shadow:8px 8px 0 var(--p5r);transform:skewX(-5deg)}
.hcard>*{transform:skewX(5deg)}
.hcard.on{background:var(--p5w);color:var(--p5k);border-color:var(--p5k);box-shadow:10px 10px 0 var(--p5r);transform:skewX(-5deg) translateY(-10px)}
.hcard h3{font-family:'NW Black';font-weight:900}
.hcard .tag{border-radius:0;background:var(--p5r);border:2px solid var(--p5k)}
.hcard .pic,.hcard.on .pic{border-radius:0;background:repeating-conic-gradient(from 0deg at 50% 70%,rgba(229,25,28,.35) 0 10deg,transparent 10deg 20deg)}
.ascSel{border-radius:0;background:var(--p5k);box-shadow:5px 5px 0 var(--p5r)}
.ascSel button{border-radius:0;background:var(--p5r);color:#fff}

/* ---- 对话框 ---- */
#talk .box{border-radius:0;background:var(--p5k);color:var(--p5w);border:4px solid var(--p5w);box-shadow:10px 10px 0 var(--p5r);clip-path:polygon(0 6%,100% 0,98% 100%,1% 94%);padding-top:34px}
#talk .box .say{color:var(--p5w);font-family:var(--body)}
#talk .who,#talk .who.r{border-radius:0;font-family:'NW Black';font-weight:900;background:var(--p5w);color:var(--p5k);border:3px solid var(--p5k);transform:skewX(-14deg) rotate(-3deg);box-shadow:5px 5px 0 var(--p5r);z-index:2}
#talk .nx{color:#ffd84a}

/* ---- 战斗只换横幅 ---- */
#turnBan span{font-family:'NW Black';font-weight:900;color:var(--p5w);background:var(--p5k);-webkit-text-stroke:0;clip-path:none;transform:skewX(-14deg) rotate(-4deg);box-shadow:10px 10px 0 var(--p5r),0 0 0 5px var(--p5w);letter-spacing:14px}
#turnBan.en span{background:var(--p5r);box-shadow:10px 10px 0 var(--p5k),0 0 0 5px var(--p5w);color:var(--p5w)}
#turnBan::before{content:"";position:absolute;left:0;right:0;top:50%;height:150px;margin-top:-75px;background:repeating-linear-gradient(-30deg,var(--p5k) 0 14px,transparent 14px 28px);opacity:.35;transform:skewY(-4deg)}

/* ---- 结算卷轴 / 小院 / 图鉴 / 成就 改 P5 ---- */
.winScroll{background:var(--p5w);border-radius:0;box-shadow:0 0 0 4px var(--p5k),14px 14px 0 4px var(--p5r);transform:rotate(-1deg)}
.winScroll::before,.winScroll::after{display:none}
.wsHead h1{font-family:'NW Black';font-weight:900;font-size:76px;color:var(--p5w);background:var(--p5k);padding:2px 22px 8px;transform:skewX(-12deg) rotate(-3deg);box-shadow:7px 7px 0 var(--p5r)}
.winWrap.lose .wsHead h1{color:var(--p5w);background:#555}
.wsSeal{background:var(--p5r);border-radius:0;box-shadow:4px 4px 0 var(--p5k);writing-mode:horizontal-tb;padding:6px 10px;font-family:'NW Black'}
.wsStats{border-color:var(--p5k);border-width:3px 0}
.wsStats div+div{border-left:2px solid var(--p5k)}
.wsTale{border-left:6px solid var(--p5r);background:#f2f2f2}
.wsTale em{color:var(--p5r)}
.wsBtn{font-family:'NW Black';font-weight:900;color:var(--p5k);border-bottom:3px solid var(--p5k)}
.wsBtn.red{background:var(--p5r);color:var(--p5w);clip-path:none;transform:skewX(-12deg);box-shadow:5px 5px 0 var(--p5k)}
.winMoon{background:radial-gradient(circle,var(--p5r) 0 58%,rgba(229,25,28,.3) 60%,transparent 72%)}
.winStone{background:var(--p5k);box-shadow:8px 8px 0 var(--p5r)}
.yard{background:none}
.yard .mgHead .ribbon{font-family:'NW Black';color:var(--p5w);background:var(--p5k);border:0;transform:skewX(-12deg);box-shadow:6px 6px 0 var(--p5r);padding:4px 30px}
.yard .mgHead small{color:#fff}
.yard .upItem{background:var(--p5w);border-radius:0;box-shadow:0 0 0 3px var(--p5k),7px 7px 0 3px var(--p5r);transform:skewX(-4deg)}
.yard .upItem>*{transform:skewX(4deg)}
.yard .upItem::before{display:none}
.yard .uiH b{font-family:'NW Black';font-weight:900}
.yard .uiH span{color:var(--p5r)}
.yard .uiBuy{background:var(--p5k);clip-path:none;transform:skewX(-10deg)}
.yard .uiBuy:not(:disabled):hover{background:var(--p5r)}
.yard .upItem.max{filter:none;background:#e8e8e8}
.yard .ovFoot .btn{color:#fff;background:var(--p5k);border-bottom:0}
.bcxC,.achC{border-radius:0;transform:skewX(-4deg);box-shadow:5px 5px 0 var(--p5k)}
.bcxC>*,.achC>*{transform:skewX(4deg)}
.bcxC{background:var(--p5k);border:3px solid var(--p5w)}
.bcxC.on{background:var(--p5r)}
.bcxD{border-radius:0;box-shadow:10px 10px 0 var(--p5r)}
.achC{background:var(--p5w)}
.achC i{background:var(--p5r);color:#fff;border-radius:0;transform:rotate(-6deg)}
.achC.lock{background:#2a2a2a;color:#aaa}
.achC em{background:var(--p5k);border-radius:0}
.achPop{border-radius:0;background:var(--p5w);box-shadow:8px 8px 0 var(--p5r);transform:translateX(-50%) skewX(-10deg)}
.achPop i{border-radius:0;background:var(--p5k)}
.upT b{font-family:'NW Black';color:var(--p5w);-webkit-text-stroke:0;background:var(--p5k);padding:2px 26px;display:inline-block;transform:skewX(-12deg) rotate(-3deg);box-shadow:8px 8px 0 var(--p5r)}
#talk .box{clip-path:none;transform:skewX(-3deg)}
#talk .box>*{transform:skewX(3deg)}
#talk .who,#talk .who.r{top:-30px}
.yard .ovFoot .btn{background:var(--p5k);color:#fff;box-shadow:6px 6px 0 var(--p5r)}
#title .logo h1 span.rn{font-size:100px!important;width:126px;text-align:center;padding:4px 0 10px}
#title .logo h1 .rn0{transform:rotate(-4deg)}
#title .logo h1 .rn1{transform:rotate(3deg) translateY(8px)}
#title .logo h1 .rn2{transform:rotate(-3deg)}
#title .logo h1 .rn3{transform:rotate(4deg) translateY(6px)}
/* 主页标题：P5 剪报拼字，四个字同样大小，但每个字的字体和剪纸形状都不同 */
#title .logo h1{gap:2px;align-items:center}
#title .logo h1 span.rn{width:132px;height:138px;display:flex;align-items:center;justify-content:center;padding:0;font-size:104px!important;line-height:1;box-shadow:none;filter:drop-shadow(7px 7px 0 var(--p5r))}
#title .logo h1 .rn0{font-family:'NW Serif',serif;font-weight:600;background:var(--p5k);color:var(--p5w);clip-path:polygon(4% 6%,92% 0,100% 18%,96% 94%,10% 100%,0 70%);transform:rotate(-5deg)}
#title .logo h1 .rn1{font-family:'NW Black';background:var(--p5w);color:var(--p5k);clip-path:polygon(0 4%,100% 0,94% 52%,100% 100%,6% 96%,2% 48%);transform:rotate(4deg) translateY(10px);filter:drop-shadow(7px 7px 0 var(--p5k))}
#title .logo h1 .rn2{font-family:'Zhi Mang Xing',cursive;background:var(--p5r);color:var(--p5w);clip-path:polygon(8% 0,100% 8%,92% 100%,0 92%);transform:rotate(-3deg);filter:drop-shadow(7px 7px 0 var(--p5k));font-size:116px!important}
#title .logo h1 .rn3{font-family:'NW Black';background:var(--p5k);color:var(--p5w);border:0;clip-path:polygon(0 0,86% 3%,100% 30%,97% 100%,4% 92%);transform:rotate(5deg) translateY(4px);text-shadow:4px 4px 0 var(--p5r)}
#title .logo::after{right:-60px;top:-18px}
#title .tsub{margin-top:26px}
#title .gbtn b{font-style:italic}
#title .logo h1 span.rn{-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:currentColor}
/* 标题：统一粗黑体，更大更稳；剪报底色区分 */
#title .logo{left:48px;top:40px}
#title .logo h1{gap:10px}
#title .logo h1 span.rn{font-family:'NW Black',sans-serif!important;font-weight:900;font-size:118px!important;width:148px;height:158px;text-shadow:none}
#title .logo h1 span.rn0{background:var(--p5w);color:var(--p5k);clip-path:polygon(3% 4%,96% 0,100% 94%,0 100%);transform:rotate(-4deg);filter:drop-shadow(8px 8px 0 var(--p5r))}
#title .logo h1 span.rn1{background:var(--p5r);color:var(--p5w);clip-path:polygon(0 0,100% 5%,97% 100%,4% 95%);transform:rotate(3deg) translateY(10px);filter:drop-shadow(8px 8px 0 var(--p5w))}
#title .logo h1 span.rn2{background:var(--p5w);color:var(--p5k);clip-path:polygon(5% 0,100% 3%,95% 100%,0 96%);transform:rotate(-2deg);filter:drop-shadow(8px 8px 0 var(--p5r))}
#title .logo h1 span.rn3{background:var(--p5r);color:var(--p5w);clip-path:polygon(0 4%,97% 0,100% 97%,3% 100%);transform:rotate(4deg) translateY(6px);filter:drop-shadow(8px 8px 0 var(--p5w))}
#title .logo::after{right:-40px;top:-14px}
#title .tsub{margin-top:30px}

.yardBtn{position:absolute;right:22px;top:130px;z-index:3;display:flex;align-items:center;gap:8px;padding:4px 14px 4px 4px;font:900 17px 'NW Black',sans-serif;color:var(--p5k);background:var(--p5w);border:3px solid var(--p5k);box-shadow:5px 5px 0 var(--p5r);transform:skewX(-10deg);cursor:pointer}
.yardBtn>*{transform:skewX(10deg)}
.yardBtn img{width:46px;height:46px;object-fit:contain;background:var(--p5r);border:2px solid var(--p5k)}
.yardBtn em{display:flex;align-items:center;gap:2px;font:800 15px var(--num);font-style:normal;color:var(--p5r)}
.yardBtn em svg,.yardBtn em .ico{width:15px;height:15px}
.yardBtn:hover{background:var(--p5k);color:var(--p5w)}
#title .zsBtn{top:66px}

/* 成就弹窗挪到右下角，不压住内容 */
.achPop{left:auto;right:24px;top:auto;bottom:24px;transform:skewX(-10deg)}
.achPop.out{transform:skewX(-10deg) translateY(30px)}
@keyframes achIn{from{transform:skewX(-10deg) translateX(60px);opacity:0}}

/* ---------- 地图：P5 边框，路线不动 ---------- */
.bgmap{background:repeating-linear-gradient(-30deg,#c8141a 0 22px,#b30f14 22px 44px)}
.parch{border-radius:0;border:5px solid var(--p5k);box-shadow:inset 0 0 0 6px #f8e9c8,12px 12px 0 var(--p5k);transform:rotate(-.6deg)}
.parch::after{border-radius:0}
.mapHead .ribbon{font-size:24px}
.legend{border-radius:0;background:var(--p5k);color:var(--p5w);border:3px solid var(--p5w);box-shadow:6px 6px 0 var(--p5r);transform:skewX(-8deg);font-family:'NW Black'}
.legend span{transform:skewX(8deg)}
.mn{border-radius:0!important;transform:rotate(45deg);border-color:var(--p5k)!important}
.mn>*{transform:rotate(-45deg)}
.mn.av{box-shadow:0 0 0 4px var(--p5w),0 0 0 8px var(--p5r)!important}
.mn.boss{border-radius:50%!important;transform:none;background:var(--p5k)!important;box-shadow:0 0 0 5px var(--p5w),10px 10px 0 5px var(--p5r)!important}
.mn.boss>*{transform:none}
.mn.boss b{background:var(--p5r);color:var(--p5w);border-radius:0;transform:skewX(-12deg);font-family:'NW Black';box-shadow:4px 4px 0 var(--p5k)}
/* 守关首领：剪影 */
.mn.t-K{width:88px;height:88px;margin:-44px 0 0 -44px;background:var(--p5k)!important;box-shadow:0 0 0 4px var(--p5w),7px 7px 0 4px var(--p5r)!important}
.mn.t-K img.sil{width:118px;height:118px;object-fit:contain;filter:brightness(0) drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px var(--p5r));margin-top:-16px}
.mn.t-K b{position:absolute;bottom:-30px;font:900 15px 'NW Black';color:var(--p5w);background:var(--p5r);padding:1px 10px;white-space:nowrap;box-shadow:3px 3px 0 var(--p5k)}
.skyCol{filter:drop-shadow(3px 3px 0 var(--p5k))}

/* ---------- 战斗：P5 元素，布局不动 ---------- */
#top{background:var(--p5k);border-bottom:4px solid var(--p5r);box-shadow:0 4px 0 var(--p5w)}
#top .face{border-radius:0;transform:rotate(-6deg);border-color:var(--p5w);background:var(--p5r)}
#top .floor b{border-radius:0;background:var(--p5r);color:var(--p5w);border-color:var(--p5w);transform:skewX(-12deg);font-family:'NW Black'}
#top .floor{color:#fff;font-family:'NW Black'}
#endBtn{border-radius:0;background:var(--p5r);border:4px solid var(--p5k);box-shadow:7px 7px 0 var(--p5k),0 0 0 3px var(--p5w);transform:skewX(-12deg) rotate(-2deg);font-family:'NW Black';font-weight:900;letter-spacing:4px;text-shadow:none;-webkit-text-stroke:0;color:var(--p5w)}
#endBtn:hover{background:var(--p5k)}
#endBtn:active{transform:skewX(-12deg) rotate(-2deg) translateY(4px);box-shadow:3px 3px 0 var(--p5k)}
#energy{border-color:var(--p5w);box-shadow:0 0 0 4px var(--p5k),8px 8px 0 4px var(--p5r)}
#energyLbl{font-family:'NW Black';background:var(--p5k);color:var(--p5w);padding:0 8px;transform:skewX(-12deg)}
.pile .back{border-radius:0!important;border-color:var(--p5w)!important;background:repeating-linear-gradient(-45deg,var(--p5k) 0 6px,#2a2a2a 6px 12px)!important;box-shadow:5px 5px 0 var(--p5r)!important}
.pile b{border-radius:0!important;background:var(--p5r)!important;color:#fff!important}
.pile i{font-family:'NW Black';font-style:normal}
#pool{border-radius:0;background:var(--p5k);border:3px solid var(--p5w);box-shadow:6px 6px 0 var(--p5r);transform:translateX(-50%) skewX(-6deg)}
#pool>*{transform:skewX(6deg)}
.hpbar{border-radius:0;border-color:var(--p5k);transform:skewX(-14deg);box-shadow:3px 3px 0 var(--p5k)}
.hpbar i{background:linear-gradient(#ff5a5e 0 45%,var(--p5r) 45%)}
.intent{border-radius:0;background:var(--p5w);border-color:var(--p5k);box-shadow:4px 4px 0 var(--p5r);transform:skewX(-10deg)}
.intent>*{transform:skewX(10deg)}
.ename{border-radius:0!important;font-family:'NW Black';background:var(--p5k)!important;color:var(--p5w)!important;transform:skewX(-10deg)}
.en.bossEn .ename{background:var(--p5r)!important;box-shadow:4px 4px 0 var(--p5k)}
.btrait{border-radius:0;background:var(--p5w);color:var(--p5k);border-color:var(--p5k);font-family:'NW Black';transform:skewX(-10deg)}
.eCnt{border-radius:0;background:var(--p5k);color:var(--p5w);transform:skewX(-10deg)}
#hint{border-radius:0;background:var(--p5k);color:var(--p5w);border:2px solid var(--p5w);transform:translateX(-50%) skewX(-10deg);box-shadow:4px 4px 0 var(--p5r);font-family:'NW Black'}
.skyPill{border-radius:0!important;transform:skewX(-10deg);box-shadow:3px 3px 0 var(--p5k)}
.fnum{-webkit-text-stroke-color:var(--p5k)}
.ono{-webkit-text-stroke-color:var(--p5k);font-family:'NW Black';font-weight:900}
.ono.big{color:var(--p5r);text-shadow:5px 5px 0 var(--p5w)}
#comboCt b{font-family:'NW Black';color:var(--p5r);-webkit-text-stroke-color:var(--p5k);text-shadow:6px 6px 0 var(--p5w)}
#comboCt small{font-family:'NW Black'}
.triBan b,.triBan{font-family:'NW Black'}
#energy{background:var(--p5k)!important}
#energy i,#energy .liq{background:linear-gradient(#ff4549,var(--p5r))!important}
#energy b{font-family:'NW Black';color:var(--p5w);-webkit-text-stroke:0;text-shadow:3px 3px 0 var(--p5k)}

/* 最终首领：剪影 */
.mn.boss img.sil{filter:brightness(0) drop-shadow(0 0 3px #fff) drop-shadow(0 0 10px var(--p5r))}

/* ================= 每层地图主题 ================= */
.bgmap .parch{overflow:hidden;background:#111}
.bgmap .parch::before,.bgmap .parch::after{display:none}
.mPhoto{position:absolute;inset:-20px;background-size:cover;background-position:center;filter:saturate(.8) contrast(1.1)}
.mGrade{position:absolute;inset:0}
.mKanji{position:absolute;right:120px;top:40px;font:900 380px/1 'NW Black';color:transparent;-webkit-text-stroke:3px rgba(255,255,255,.22);transform:skewX(-10deg) rotate(-6deg);pointer-events:none}
.mFx,.mDeco{position:absolute;pointer-events:none}.mFx{inset:0}
.mFx i{position:absolute;display:block}
#mapSvg path{stroke:#fff;filter:drop-shadow(0 2px 0 #0d0d0d)}
#mapSvg path.done{stroke:var(--p5r);filter:drop-shadow(0 0 0 #fff) drop-shadow(0 2px 0 #0d0d0d)}
#map .legend,#map .mapHead{z-index:3}
#map .skyCol{z-index:2}
/* 1 泥沼 */
.ma0 .mGrade{background:linear-gradient(180deg,rgba(10,40,20,.35),rgba(20,50,20,.75)),repeating-linear-gradient(0deg,rgba(0,0,0,0) 0 3px,rgba(0,0,0,.12) 3px 4px)}
.ma0 .ff{width:7px;height:7px;border-radius:50%;background:#f5ff8a;box-shadow:0 0 10px 4px rgba(220,255,90,.6);animation:mffly 6s ease-in-out infinite alternate}
@keyframes mffly{0%{transform:translate(0,0);opacity:.2}50%{opacity:1}100%{transform:translate(40px,-60px);opacity:.3}}
.reeds{left:-10px;bottom:-10px;width:300px;height:220px}.reeds.r2{left:auto;right:-20px;transform:scaleX(-1)}
#map.ma0 #mapSvg path{stroke:#d9f28a;stroke-dasharray:2 14;stroke-width:7}
#map.ma0 #mapSvg path.next{stroke:#fff}
/* 2 古堡 */
.ma1 .mGrade{background:linear-gradient(160deg,rgba(60,0,40,.45),rgba(20,0,30,.8)),radial-gradient(circle at 80% 18%,rgba(229,25,28,.35),transparent 40%)}
.moonBig{right:300px;top:60px;width:150px;height:150px;border-radius:50%;background:#f3e8d0;box-shadow:0 0 0 10px #0d0d0d,0 0 60px 20px rgba(229,25,28,.55);opacity:.5}
.rose{left:-50px;bottom:-60px;width:230px;height:230px;opacity:.85;animation:mspin 60s linear infinite}
.ma1 .bat{left:-60px;width:44px;animation:mbatfly 12s linear infinite}
@keyframes mbatfly{0%{transform:translate(0,0)}25%{transform:translate(400px,-30px) scaleY(.5)}50%{transform:translate(800px,10px)}75%{transform:translate(1100px,-20px) scaleY(.5)}100%{transform:translate(1400px,0)}}
#map.ma1 #mapSvg path{stroke:#ff3b3e;stroke-dasharray:none;stroke-width:3;opacity:.8}
#map.ma1 #mapSvg path.done{stroke:#fff;stroke-width:6;opacity:1}
/* 3 冰封钟楼 */
.ma2 .mGrade{background:linear-gradient(180deg,rgba(150,210,255,.25),rgba(10,40,80,.7))}
.ma2 .sn{top:-10px;border-radius:50%;background:#fff;opacity:.85;animation:msnow 9s linear infinite}
@keyframes msnow{to{transform:translate(60px,700px)}}
.bell{right:40px;bottom:30px;width:150px;height:175px;transform:rotate(-12deg);animation:mswing 3s ease-in-out infinite alternate;transform-origin:50% 0}
@keyframes mswing{from{transform:rotate(-12deg)}to{transform:rotate(10deg)}}
.cracks{inset:0;width:100%;height:100%}
#map.ma2 #mapSvg path{stroke:#dff4ff;stroke-dasharray:14 6 3 6;stroke-width:4}
/* 4 奶茶厂 */
.ma3 .mGrade{background:linear-gradient(180deg,rgba(80,30,0,.45),rgba(40,10,0,.75)),linear-gradient(rgba(255,180,90,.12) 1px,transparent 1px) 0 0/40px 40px,linear-gradient(90deg,rgba(255,180,90,.12) 1px,transparent 1px) 0 0/40px 40px}
.ma3 .st{bottom:-40px;width:70px;height:70px;border-radius:50%;background:radial-gradient(rgba(255,240,220,.55),transparent 70%);animation:msteam 7s ease-in infinite}
@keyframes msteam{0%{transform:translateY(0) scale(.5);opacity:0}30%{opacity:.9}100%{transform:translateY(-700px) scale(2.2);opacity:0}}
.gear{width:200px;height:200px;animation:mspin 14s linear infinite}.g1{left:-60px;bottom:-60px}.g2{left:110px;bottom:-90px;width:150px;height:150px;animation-direction:reverse;animation-duration:10s}
.pipe{right:0;top:0;bottom:0;width:46px;background:repeating-linear-gradient(0deg,#3a2414 0 80px,#0d0d0d 80px 92px);border-left:5px solid #0d0d0d}
#map.ma3 #mapSvg path{stroke:#ffb15a;stroke-dasharray:none;stroke-width:9;opacity:.75}
#map.ma3 #mapSvg path.done{stroke:var(--p5r);opacity:1}
/* 5 星空之顶 */
.ma4 .mGrade{background:radial-gradient(ellipse at 60% 40%,rgba(60,20,110,.25),rgba(0,0,10,.85))}
.ma4 .tw{width:3px;height:3px;background:#fff;border-radius:50%;box-shadow:0 0 6px #fff;animation:mtw 2.4s ease-in-out infinite alternate}
@keyframes mtw{from{opacity:.15}to{opacity:1}}
.orbit{right:-40px;top:-40px;width:420px;height:420px;animation:mspin 80s linear infinite}
#map.ma4 #mapSvg path{stroke:#fff;stroke-dasharray:none;stroke-width:1.6;filter:drop-shadow(0 0 4px #9fd0ff)}
#map.ma4 #mapSvg path.done{stroke:#ffe07a;stroke-width:3}
@keyframes mspin{to{transform:rotate(360deg)}}

/* 异世界奶蛙：主页角落的小彩蛋 */
.isePeek{position:absolute;left:-14px;bottom:120px;width:86px;height:86px;border:0;background:none;padding:0;cursor:pointer;z-index:5;transform:rotate(18deg);animation:isePeek 5s ease-in-out infinite}
.isePeek img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 8px #9fd0ff) drop-shadow(3px 3px 0 #0d0d0d)}
.isePeek:hover{transform:rotate(8deg) scale(1.1)}
@keyframes isePeek{0%,70%,100%{left:-14px}80%,90%{left:2px}}

/* ===== 等级提升：P5 ===== */
.lvWrap{position:absolute;inset:0;overflow:hidden;background:var(--p5k)}
.lvRays{position:absolute;left:50%;top:150px;width:2400px;height:2400px;margin:-1200px 0 0 -1200px;background:repeating-conic-gradient(var(--p5r) 0 7deg,#0d0d0d 7deg 14deg);opacity:.9;animation:mspin 40s linear infinite}
.lvSlash{position:absolute;left:-10%;right:-10%;top:300px;height:330px;background:var(--p5w);transform:skewY(-6deg);box-shadow:0 -14px 0 var(--p5k),0 14px 0 var(--p5k)}
.lvWrap .lvUp{top:30px;z-index:2}
.lvWrap .lvUp i{display:block;font:900 26px/1 'NW Black';letter-spacing:12px;color:var(--p5w);font-style:normal;transform:skewX(-14deg);margin-bottom:10px;text-shadow:3px 3px 0 var(--p5k)}
.lvWrap .lvUp b{display:inline-block;font:900 80px/1.1 'NW Black';color:var(--p5w);-webkit-text-stroke:0;background:var(--p5k);padding:0 34px 6px;transform:skewX(-12deg) rotate(-3deg);text-shadow:6px 6px 0 var(--p5r);box-shadow:10px 10px 0 var(--p5w)}
.lvWrap .lvUp small{display:block;width:max-content;margin:18px auto 0;font:900 19px 'NW Black';color:var(--p5k);background:var(--p5w);border:3px solid var(--p5k);border-radius:0;padding:4px 20px;transform:skewX(-12deg);box-shadow:5px 5px 0 var(--p5k)}
.lvWrap .lvUp small em{font-style:normal;color:var(--p5w);background:var(--p5r);padding:0 8px;margin-right:4px}
.lvWrap .perkRow{top:290px;gap:42px;z-index:2}
.lvWrap .perk{position:relative;width:260px;height:290px;border-radius:0;background:var(--p5w);border:5px solid var(--p5k);box-shadow:10px 10px 0 var(--p5r),10px 10px 0 5px var(--p5k);color:var(--p5k);padding:26px 18px 16px;transform:rotate(-2deg) skewX(-3deg)}
.lvWrap .perk:nth-child(2){transform:rotate(1.5deg) skewX(-3deg) translateY(16px)}
.lvWrap .perk:nth-child(3){transform:rotate(-1deg) skewX(-3deg)}
.lvWrap .perk:hover{background:var(--p5r);color:var(--p5w);transform:rotate(0) scale(1.06);z-index:3}
.lvWrap .perk:hover p,.lvWrap .perk:hover small{color:var(--p5w)}
.lvWrap .perk u{position:absolute;left:-18px;top:-26px;font:900 54px/1 'NW Black';text-decoration:none;color:var(--p5w);-webkit-text-stroke:3px var(--p5k);paint-order:stroke;transform:skewX(-12deg);text-shadow:4px 4px 0 var(--p5r)}
.lvWrap .perk .pi{width:84px;height:84px;padding:14px;border-radius:0;background:var(--p5w);border:4px solid var(--p5k);box-shadow:6px 6px 0 var(--p5r);transform:rotate(45deg);margin:6px 0 12px}
.lvWrap .perk .pi svg{transform:rotate(-45deg)}
.lvWrap .perk b{font:900 28px 'NW Black';letter-spacing:4px;background:var(--p5k);color:var(--p5w);padding:2px 16px;transform:skewX(-12deg)}
.lvWrap .perk:hover b{background:var(--p5w);color:var(--p5r)}
.lvWrap .perk p{color:#222;font:700 17px/1.5 var(--body)}
.lvWrap .perk small{font:900 14px 'NW Black';letter-spacing:2px;color:var(--p5r)}

/* ================= P5 卡牌牌面 ================= */
.card{border-radius:0;background:#0d0d0d;padding:.18em;clip-path:polygon(-2em -2em,calc(100% - 1.1em) -2em,calc(100% - 1.1em) 0,100% 1.1em,100% calc(100% + 2em),-2em calc(100% + 2em));overflow:visible}
.card .cf{inset:.18em;border-radius:0;padding:.22em;background:var(--fc)}
.card .cf::before{display:none}
.card .in{border-radius:0;background:#fff;border:.14em solid #0d0d0d}
.card .art{background:var(--art);border-bottom:.16em solid #0d0d0d;background-image:repeating-linear-gradient(-45deg,transparent 0 .45em,rgba(255,255,255,.28) .45em .9em)}
.card .art::before{background:radial-gradient(circle,rgba(0,0,0,.18) .09em,transparent .11em) 0 0/.5em .5em;width:auto;height:auto;inset:0;margin:0;left:0;top:0}
.card.t-atk{--art:#ff6b6e;--art2:#e5191c;--tc:#e5191c}
.card.t-skl{--art:#6fb8ff;--art2:#2a7fe0;--tc:#1f6fd0}
.card.t-pow{--art:#ffd34d;--art2:#f0a800;--tc:#d48a00}
.card .rib{left:-.35em;right:-.35em;height:1.75em;background:#0d0d0d;clip-path:polygon(4% 0,100% 0,96% 100%,0 100%)}
.card .rib::before{inset:auto .4em .16em .4em;height:.16em;background:var(--fc);clip-path:none}
.card .rib span{font:900 1em 'NW Black';color:#fff;-webkit-text-stroke:0;letter-spacing:.08em;transform:skewX(-10deg)}
.card.up .rib span{color:#ffe04a}
.card .tpc em,.card .tpc i{border-radius:0;transform:skewX(-12deg);font-family:'NW Black';font-weight:900;border-width:.12em}
.card .ds span{color:#151515}
.card .ds b{color:var(--p5r)}
.card .ds b.g{color:#11923a}
.card .cost{border-radius:0;background:none;border:0;box-shadow:none;left:-.55em;top:-.55em;font:900 1.3em 'NW Black';-webkit-text-stroke:.2em #0d0d0d;paint-order:stroke;color:#fff}
.card .cost::before{content:"";position:absolute;inset:.18em;transform:rotate(45deg);background:var(--p5r);border:.15em solid #0d0d0d;box-shadow:.2em .2em 0 #fff,.2em .2em 0 .15em #0d0d0d;z-index:-1}
.card .cost.dn{background:none;box-shadow:none}.card .cost.dn::before{background:#1fbf55}
.card .cost.upc{background:none}.card .cost.upc::before{background:#0d0d0d;border-color:#fff}
.card .gem{border-radius:0;background:var(--p5r);border-color:#0d0d0d}
.card.t-cur .in,.card.t-sts .in{background:#ddd}
/* 战斗页红色收一收：红色只留给重点 */
.card.t-atk{--art:#f4a397;--art2:#e07a6e;--tc:#d8383b}
.card.t-skl{--art:#9ccdf7;--art2:#5fa4e0}
.card.t-pow{--art:#f7d77e;--art2:#e0b23c}
.card .art{background-image:repeating-linear-gradient(-45deg,transparent 0 .45em,rgba(255,255,255,.22) .45em .9em)}
.card .cost{-webkit-text-stroke:0;color:#fff}
.card .cost::before{background:#0d0d0d;border-color:#fff;box-shadow:.18em .18em 0 var(--p5r)}
.card .cost.dn::before{background:#13803a}
.card .cost.upc::before{background:var(--p5r)}
.card .gem{background:#0d0d0d;border-color:#fff}
#energy i,#energy .liq{background:linear-gradient(#3a3a3a,#141414)!important;border-top-color:var(--p5r)!important}
#energy{border-color:var(--p5r)!important;box-shadow:0 0 0 4px var(--p5k),6px 6px 0 4px rgba(229,25,28,.6)!important}

/* ================= P5：商店 ================= */
.shopBoard{border-radius:0;background:#f4f1ea;border:5px solid var(--p5k);box-shadow:12px 12px 0 var(--p5r),12px 12px 0 5px var(--p5k);transform:rotate(-.4deg)}
.shopBoard::before{top:auto;bottom:0;height:42%;background:repeating-linear-gradient(-45deg,#0d0d0d 0 14px,#1d1d1d 14px 28px);border:0;border-top:5px solid var(--p5k)}
.shopBoard .phead .ribbon{transform:skewX(-12deg) rotate(-2deg)}
.price{border-radius:0;background:var(--p5r);color:#fff;font:900 18px 'NW Black';transform:skewX(-14deg) rotate(-4deg);box-shadow:3px 3px 0 var(--p5k);padding:1px 12px 1px 6px}
.price .ico{transform:skewX(14deg)}
.price.no{background:#555;color:#ddd}
.price.sale{background:#ffd200;color:var(--p5k)}
.shopRow2{position:relative;z-index:1}
.shopRow2 .shopItem>span,.shopRow2 small,.shopItem .nm{color:#fff;font-family:'NW Black'}
.rmv{border-radius:0;background:var(--p5w);border:4px solid var(--p5k);color:var(--p5k);box-shadow:6px 6px 0 var(--p5r);transform:skewX(-6deg);font-family:'NW Black'}
.rmv big{color:var(--p5r)}
.shopSay{border-radius:0;background:var(--p5w);border:4px solid var(--p5k);box-shadow:6px 6px 0 var(--p5r);font-family:'NW Black';transform:rotate(-3deg)}
/* ================= P5：休息处 ================= */
.ropt{border-radius:0;background:var(--p5w);border:5px solid var(--p5k);box-shadow:9px 9px 0 var(--p5r),9px 9px 0 5px var(--p5k);transform:skewX(-6deg)}
.ropt:nth-child(2){transform:skewX(-6deg) translateY(-14px)}
.ropt:hover{background:var(--p5r);color:#fff}
.ropt:hover small{color:#fff}
.ropt b{font:900 30px 'NW Black';background:var(--p5k);color:#fff;padding:0 14px;transform:skewX(-6deg)}
.ropt:hover b{background:#fff;color:var(--p5r)}
.ropt small{color:#333;font-family:'NW Black'}
.ropt .ic{transform:skewX(6deg)}
.pickHead small{background:var(--p5k);color:#fff;border-radius:0;transform:skewX(-10deg);display:inline-block;padding:3px 16px;font-family:'NW Black'}
/* ================= P5：图鉴/牌组网格 ================= */
.tabs button{border-radius:0;background:var(--p5k);color:#fff;border:3px solid var(--p5w);transform:skewX(-12deg);font-family:'NW Black';box-shadow:3px 3px 0 var(--p5k)}
.tabs button.on{background:var(--p5r);color:#fff;box-shadow:4px 4px 0 var(--p5w)}
.card.cback .cf{background:#0d0d0d}
.card.cback .in{background:repeating-linear-gradient(-45deg,#1a1a1a 0 10px,#262626 10px 20px)!important;border-color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}
.card.cback .in b{font:900 3.2em 'NW Black';color:var(--p5r);-webkit-text-stroke:0;text-shadow:.08em .08em 0 #fff}
.card.cback .in small{color:#bbb;font-family:'NW Black'}
.ovHead small{background:var(--p5k);color:#fff;padding:2px 14px;transform:skewX(-10deg);display:inline-block;font-family:'NW Black'}
/* ================= P5：设置 / 弹窗 ================= */
.modal{border-radius:0;background:var(--p5w);border:6px solid var(--p5k);box-shadow:14px 14px 0 var(--p5r),14px 14px 0 6px var(--p5k)}
.modal h3{font:900 34px 'NW Black';display:inline-block;background:var(--p5k);color:#fff;padding:2px 26px;transform:skewX(-12deg) rotate(-2deg);box-shadow:5px 5px 0 var(--p5r)}
.modal p{color:#222}
/* ================= P5：提示条 ================= */
#toast div{border-radius:0;background:var(--p5k);color:#fff;border:3px solid #fff;box-shadow:6px 6px 0 var(--p5r);transform:skewX(-10deg);font-family:'NW Black';font-size:19px}
#toast div b{color:#ffd200}
#rest .pickHead{top:84px}
.pickHead small{display:table;margin:12px auto 0}
.bcxD .lore h4{display:inline-block;margin:12px 0 4px;padding:1px 12px;font:900 15px 'NW Black';background:var(--p5k);color:#fff;transform:skewX(-12deg)}
.bcxD .lore h4.lk{background:#777}
.bcxD{overflow-y:auto!important}.bcxD .lore p{line-height:1.7}

/* ===== 性能：减少每帧要重画的东西 ===== */
#mapSvg path,#mapSvg path.done{filter:none!important}
#map.ma4 #mapSvg path{filter:none!important}
.lvRays{width:1600px;height:1600px;margin:-800px 0 0 -800px;will-change:transform;animation-duration:60s}
.rose,.gear,.orbit,.bell,.ma1 .bat,.ma2 .sn,.ma3 .st,.ma0 .ff,.isePeek,.rn{will-change:transform}
.ma0 .ff{box-shadow:none;background:radial-gradient(circle,#f5ff8a 0 35%,rgba(220,255,90,.35) 60%,transparent 70%);width:14px;height:14px}
.ma4 .tw{box-shadow:none}
.mFx,.mDeco{contain:layout paint}
#hand .card{will-change:transform}
.card .art img,.en .body img,#player .body img{image-rendering:auto}
@media (prefers-reduced-motion:reduce){.lvRays,.rose,.gear,.orbit,.ma1 .bat,.ma2 .sn,.ma3 .st,.ma0 .ff,.ma4 .tw{animation:none!important}}
.fighter .body img,.en .body img{will-change:transform;backface-visibility:hidden}

/* ===== 奶蛙魔法师 ===== */
#title .tmage{position:absolute;right:300px;bottom:62px;width:270px;height:350px;z-index:1;animation:bob 4.2s ease-in-out infinite}
#title .tmage img{width:100%;height:100%;object-fit:contain;transform:scaleX(-1);filter:drop-shadow(8px 8px 0 rgba(13,13,13,.85))}
@keyframes castA{0%{transform:none}35%{transform:translateY(-14px) rotate(-4deg) scale(1.04);filter:drop-shadow(0 0 18px #b07cff)}100%{transform:none}}
.castA .body{animation:castA .5s ease-out}
.castRing{position:absolute;width:220px;height:70px;margin:-35px 0 0 -110px;border-radius:50%;border:4px solid #c9b2ff;box-shadow:0 0 18px #b07cff,inset 0 0 14px #b07cff;pointer-events:none;z-index:40;animation:castRing .7s ease-out forwards}
@keyframes castRing{0%{transform:scale(.3);opacity:0}30%{opacity:1}100%{transform:scale(1.25);opacity:0}}
.spellOrb{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:radial-gradient(circle,var(--c2) 0 30%,var(--c1) 60%,transparent 72%);box-shadow:0 0 22px 8px var(--c1);pointer-events:none;z-index:45;transition:transform .26s cubic-bezier(.4,0,.8,.6)}
.spellOrb.sp-thunder{border-radius:0;clip-path:polygon(40% 0,70% 0,55% 40%,80% 40%,30% 100%,42% 55%,20% 55%)}
.spellOrb.sp-ice{border-radius:10%;transform-origin:center;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.spellHit{position:absolute;width:150px;height:150px;margin:-75px 0 0 -75px;border-radius:50%;background:radial-gradient(circle,#fff 0 12%,var(--c1) 35%,transparent 68%);pointer-events:none;z-index:45;animation:spellHit .45s ease-out forwards}
@keyframes spellHit{0%{transform:scale(.3);opacity:1}100%{transform:scale(1.4);opacity:0}}
/* 简介框：不挡点击，点哪都能关，几秒后自己消失 */
.tipBox{pointer-events:none;max-width:280px!important;font-size:15px!important;line-height:1.45!important;padding:10px 14px!important;z-index:95}
.tipBox b{font-size:17px}
/* 首领带小弟时，整体缩一点，别被挤出屏幕 */
#enemies.crowd{gap:6px;left:520px;right:14px}
#enemies.crowd .bossEn .body img{width:300px!important;height:300px!important}
#enemies.crowd .en:not(.bossEn) .body img{max-width:160px;max-height:160px}

/* ===== 卡牌说明弹窗 ===== */
#cinfo{position:absolute;inset:0;z-index:130;background:rgba(10,10,10,.72);display:flex;align-items:center;justify-content:center;animation:fadeIn .15s}
@keyframes fadeIn{from{opacity:0}}
.ciBox{position:relative;display:flex;gap:30px;align-items:center;max-width:1040px;max-height:640px;padding:28px 34px;background:var(--p5w);border:6px solid var(--p5k);box-shadow:14px 14px 0 var(--p5r),14px 14px 0 6px var(--p5k)}
.ciX{position:absolute;right:-22px;top:-22px;width:52px;height:52px;border:4px solid var(--p5w);background:var(--p5k);color:#fff;font:900 34px/1 'NW Black';transform:rotate(45deg);box-shadow:4px 4px 0 var(--p5r);cursor:pointer}
.ciX{transform:none}
.ciCard{flex:none}
.ciCard .card{cursor:default}
.ciTxt{width:560px;max-height:580px;overflow-y:auto;color:#151515;font:600 17px/1.55 var(--body)}
.ciTxt h3{display:inline-block;font:900 34px 'NW Black';background:var(--p5k);color:#fff;padding:0 18px;transform:skewX(-10deg);margin-bottom:8px}
.ciTags{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 10px}
.ciTags span{font:900 14px 'NW Black';background:var(--p5r);color:#fff;padding:1px 10px;transform:skewX(-10deg)}
.ciD{margin:6px 0}.ciD b,.ciKw b,.ciFam b{display:inline-block;margin-right:8px;font:900 15px 'NW Black';background:var(--p5k);color:#fff;padding:0 8px;transform:skewX(-10deg)}
.ciD.up b{background:#11923a}
.ciType{color:#555;font-size:15px;margin:8px 0}
.ciFam{border-left:8px solid var(--fc);padding:6px 10px;background:#f2f2f2;margin:8px 0}
.ciFam b{background:var(--fc);color:#111}
.ciKw p{margin:5px 0;font-size:15px}
.ciLock{color:#555;margin:10px 0}
.ciHint{display:block;margin-top:10px;color:#888;font:700 13px 'NW Black'}
/* 图鉴里没收集到的牌：黑色剪影 */
.card.unk .art img{filter:brightness(0) opacity(.85)}
.card.unk .art{background:#2a2a2a!important}
.card.unk .rib span{color:transparent!important;position:relative}
.card.unk .rib span::after{content:"？？？";position:absolute;left:50%;top:0;transform:translateX(-50%);color:#888}
.card.unk .ds,.card.unk .tpc,.card.unk .cost{visibility:hidden}
.card.unk .in{background:#3a3a3a!important}
.card.unk .cf{background:#555!important}
.ovTip{color:#ddd;font:700 14px 'NW Black';margin-right:16px}
.ovGrid .card{cursor:pointer}
.modal .credit{font:600 12px var(--body);color:#888;margin-top:14px}
/* 带按钮的提示框可以点 */
.tipBox.act{pointer-events:auto}
/* ===== 药水瓶 ===== */
.pot{width:40px;height:46px;border-radius:0;transform:skewX(-6deg)}
.pot.full{background:#141414;border:3px solid #fff;box-shadow:3px 3px 0 var(--p5r)}
.pot.full:hover{background:#2a2a2a}
.flask2{position:relative;display:block;width:26px;height:36px;transform:skewX(6deg)}
.flask2 i{position:absolute;display:block}
.flask2 .cork{left:9px;top:0;width:8px;height:6px;background:#b07a45;border:2px solid #111;border-radius:2px 2px 0 0}
.flask2 .neck{left:8px;top:6px;width:10px;height:8px;background:rgba(220,235,255,.55);border:2px solid #111;border-top:0;border-bottom:0}
.flask2 .body{left:0;bottom:0;width:26px;height:24px;border-radius:50% 50% 46% 46%;border:2.5px solid #111;background:rgba(220,235,255,.35);overflow:hidden}
.flask2 .liq{left:-4px;right:-4px;bottom:0;height:68%;background:var(--pc);box-shadow:inset 0 3px 0 rgba(255,255,255,.45),inset 0 -4px 0 rgba(0,0,0,.25);animation:liq 2.4s ease-in-out infinite}
@keyframes liq{50%{transform:translateY(-1.5px) rotate(-4deg)}}
.flask2 .shine{left:4px;top:3px;width:5px;height:10px;border-radius:50%;background:rgba(255,255,255,.85)}
.flask2 .bub{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.8);bottom:2px;animation:bub 2.2s ease-in infinite}
.flask2 .b1{left:9px}.flask2 .b2{left:15px;animation-delay:1.1s}
@keyframes bub{0%{transform:translateY(0);opacity:0}20%{opacity:1}100%{transform:translateY(-14px);opacity:0}}
.shopRow2 .pot{width:62px;height:72px}.shopRow2 .pot .flask2{transform:skewX(6deg) scale(1.55)}
.rwList .pot .flask2,.rw .pot .flask2{transform:skewX(6deg) scale(.9)}
/* 自己掉血：红色数字 */
.fnum.me{color:#ff2a2a;-webkit-text-stroke:8px #fff;paint-order:stroke;text-shadow:4px 4px 0 #0d0d0d;font-size:58px}
/* 连击计数：更大、停留更久 */
#comboCt{left:640px;top:250px;gap:4px;align-items:flex-end}
#comboCt b{font:900 120px/1 'NW Black'!important;color:#ffd200!important;-webkit-text-stroke:12px #0d0d0d!important;paint-order:stroke;text-shadow:8px 8px 0 var(--p5r)!important}
#comboCt i{font:900 60px/1.6 'NW Black';font-style:normal;color:#fff;-webkit-text-stroke:8px #0d0d0d;paint-order:stroke}
#comboCt small{font:900 38px/2.4 'NW Black'!important;color:#fff;background:#0d0d0d;padding:0 12px;transform:skewX(-12deg);-webkit-text-stroke:0!important;align-self:center}
#comboCt.out{transition:opacity .45s,transform .45s;opacity:0;transform:translate(-50%,-80%) scale(var(--k))}
/* 即将三连：池子里那几只发光晃动，手里能凑成三连的牌上下浮动发光 */
.tok.hot{box-shadow:0 0 0 3px #ffd200,0 0 16px 4px rgba(255,210,0,.85)!important;animation:hotWig .5s ease-in-out infinite alternate!important}
@keyframes hotWig{from{transform:rotate(-7deg) translateY(0)}to{transform:rotate(7deg) translateY(-3px)}}
#pool .phot{position:absolute;left:50%;bottom:-48px;transform:translateX(-50%) skewX(-10deg);white-space:nowrap;font:900 15px 'NW Black';background:#ffd200;color:#0d0d0d;padding:2px 12px;box-shadow:3px 3px 0 #0d0d0d;animation:triP .8s ease-in-out infinite}
.card .tri{right:auto;left:50%;top:-1.5em;transform:translateX(-50%);border-radius:0;background:#ffd200;font-family:'NW Black'}
@keyframes triP2{50%{transform:translateX(-50%) scale(1.15)}}
.card.willtri .tri{animation:triP2 .8s ease-in-out infinite}
#hand .card.willtri .cf{background:#ffd200!important;animation:triGlow .7s ease-in-out infinite alternate}
@keyframes triGlow{from{filter:brightness(1)}to{filter:brightness(1.3)}}
#hand .card.willtri .in{animation:triBob .7s ease-in-out infinite alternate}
@keyframes triBob{to{transform:translateY(-4px)}}
/* ===== 长老特训 ===== */
.trainBox{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:1060px;padding:26px 34px 22px;background:var(--p5w);border:6px solid var(--p5k);box-shadow:14px 14px 0 var(--p5r),14px 14px 0 6px var(--p5k);color:#151515}
.trHead{position:absolute;left:30px;top:-30px;display:flex;align-items:center;gap:12px}
.trHead small{font:900 16px 'NW Black';background:var(--p5k);color:#fff;padding:2px 12px;transform:skewX(-10deg)}
.trBody{display:flex;gap:26px;align-items:center;margin-top:14px;min-height:330px}
.trElder{flex:none;width:170px;text-align:center}
.trElder img{width:170px;height:220px;object-fit:contain;filter:drop-shadow(5px 5px 0 rgba(0,0,0,.8))}
.trElder b{display:inline-block;font:900 18px 'NW Black';background:var(--p5r);color:#fff;padding:1px 12px;transform:skewX(-10deg)}
.trTxt{flex:1;position:relative;padding:18px 22px;background:#fff;border:4px solid var(--p5k);box-shadow:6px 6px 0 var(--p5k)}
.trTxt::before{content:"";position:absolute;left:-22px;top:60px;border:11px solid transparent;border-right:12px solid var(--p5k)}
.trTxt h3{display:inline-block;font:900 30px 'NW Black';background:var(--p5k);color:#fff;padding:0 16px;transform:skewX(-10deg);margin-bottom:10px}
.trTxt p{font:600 18px/1.65 var(--body);margin:6px 0}
.trCard{flex:none;width:170px;display:flex;justify-content:center}
.trHero img{width:170px;height:220px;object-fit:contain}
.trFoot{display:flex;justify-content:flex-end;gap:12px;margin-top:16px}
.trFoot #trSkip{margin-right:auto}
#comboCt{top:330px}
#pool .phot{left:calc(100% + 14px);bottom:auto;top:50%;transform:translateY(-50%) skewX(-10deg);animation:none}
#pool .phot{animation:photP .8s ease-in-out infinite}
@keyframes photP{50%{transform:translateY(-50%) skewX(-10deg) scale(1.08)}}

/* ===== 伤害预览 / 斩杀 ===== */
.hpw{position:relative}
.pv{position:absolute;left:0;right:0;top:0;height:100%;pointer-events:none;z-index:4}
.pv .pvBar{position:absolute;top:calc(100% - 22px);height:16px;background:repeating-linear-gradient(-45deg,#fff 0 4px,#ffd200 4px 8px);opacity:.9;animation:pvBlink .7s ease-in-out infinite alternate}
.pv b{position:absolute;left:50%;bottom:calc(100% + 2px);transform:translateX(-50%) skewX(-10deg);white-space:nowrap;font:900 20px 'NW Black';color:#fff;background:#0d0d0d;padding:1px 10px;box-shadow:3px 3px 0 #ffd200}
.pv.kill .pvBar{background:repeating-linear-gradient(-45deg,#fff 0 4px,#e5191c 4px 8px)}
.pv.kill b{background:#e5191c;box-shadow:3px 3px 0 #0d0d0d;font-size:22px}
@keyframes pvBlink{to{opacity:.45}}
.en.killable .hpbar{animation:killFlash .45s ease-in-out infinite alternate}
@keyframes killFlash{to{filter:brightness(1.6) drop-shadow(0 0 8px #e5191c)}}
/* 能抓的时候更显眼 */
.catchBtn{animation:catchPulse .8s ease-in-out infinite!important;box-shadow:0 0 0 3px #fff,0 0 18px 6px rgba(179,146,255,.9)!important}
@keyframes catchPulse{50%{transform:scale(1.18) rotate(-6deg)}}
/* 结束回合提醒 */
#endBtn.warnShake{animation:warnShake .45s ease-in-out}
@keyframes warnShake{20%,60%{transform:skewX(-12deg) rotate(-2deg) translateX(-10px)}40%,80%{transform:skewX(-12deg) rotate(-2deg) translateX(10px)}}
/* 大伤害：屏幕边缘闪红 */
.hurtV{position:absolute;inset:0;z-index:96;pointer-events:none;box-shadow:inset 0 0 90px 30px rgba(229,25,28,.75);animation:hurtV .6s ease-out forwards}
.hurtV.big{box-shadow:inset 0 0 140px 50px rgba(229,25,28,.9)}
@keyframes hurtV{from{opacity:1}to{opacity:0}}
/* 牌堆可点 */
.pile{cursor:pointer}
.pile:hover .back{filter:brightness(1.4)}
/* 能被这一下打死：身体边缘发红光，不写字 */
.en.killable .hpbar{animation:none}
.en.killable .body img{animation:killGlow .55s ease-in-out infinite alternate!important}
@keyframes killGlow{from{filter:drop-shadow(0 0 3px #ff2a2a) drop-shadow(0 0 3px #ff2a2a)}to{filter:drop-shadow(0 0 10px #ff2a2a) drop-shadow(0 0 22px rgba(229,25,28,.9))}}
.pv.kill b{background:#0d0d0d;box-shadow:3px 3px 0 #e5191c;font-size:20px}
/* ===== 新小游戏 ===== */
.mgHead small{color:#fff!important;background:#0d0d0d;display:inline-block!important;padding:2px 14px;transform:skewX(-10deg);font-family:'NW Black'}
.mgRes{font-family:'NW Black'}
.sgBox{position:absolute;left:50%;top:170px;transform:translateX(-50%);width:800px;height:360px}
.sgCup{position:absolute;top:120px;width:140px;height:170px;border:0;background:none;padding:0;cursor:pointer;transition:left .35s ease-in-out,transform .3s;z-index:2}
.sgCup .cup{position:absolute;inset:0;background:linear-gradient(90deg,#c41418,#ff4a4d 45%,#c41418);clip-path:polygon(14% 0,86% 0,100% 100%,0 100%);border-radius:6px}
.sgCup .cup::after{content:"";position:absolute;left:0;right:0;bottom:0;height:22px;background:#0d0d0d}
.sgCup:hover .cup{filter:brightness(1.15)}
.sgCup.lift{transform:translateY(-90px)}
.sgBall{position:absolute;top:248px;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#ffd200 45%,#c79200);border:3px solid #0d0d0d;z-index:1;transition:opacity .2s}
.fgBox{position:absolute;left:50%;top:140px;transform:translateX(-50%);width:700px;height:380px;text-align:center}
.fgSmith{width:200px;height:220px;object-fit:contain;filter:drop-shadow(6px 6px 0 #0d0d0d)}
.fgBox.spark .fgSmith{animation:castA .3s}
.fgBar{position:relative;margin:16px auto 0;width:600px;height:40px;background:#222;border:4px solid #fff;box-shadow:6px 6px 0 var(--p5r)}
.fgZone{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(-45deg,#ffd200 0 8px,#ffb000 8px 16px)}
.fgNeedle{position:absolute;top:-12px;width:6px;height:64px;margin-left:-3px;background:#fff;box-shadow:0 0 0 2px #0d0d0d}
.fgDots{display:flex;justify-content:center;gap:16px;margin-top:20px}
.fgDots u{width:28px;height:28px;border:3px solid #fff;transform:rotate(45deg);background:#333}
.fgDots u.ok{background:#ffd200}.fgDots u.no{background:var(--p5r)}
.rcTrack{position:absolute;left:50%;top:130px;transform:translateX(-50%);width:760px}
.rcLane{position:relative;height:92px;margin-bottom:8px;background:repeating-linear-gradient(90deg,#3a5a2a 0 40px,#335224 40px 80px);border:3px solid #fff;cursor:pointer}
.rcLane.me{border-color:#ffd200;box-shadow:0 0 0 3px #ffd200,0 0 18px #ffd200}
.rcLane img{position:absolute;top:2px;width:86px;height:86px;object-fit:contain;transform:scaleX(-1)}
.rcLane b{position:absolute;left:-36px;top:28px;font:900 26px 'NW Black';color:#fff}
.rcGoal{position:absolute;right:30px;top:0;bottom:0;width:12px;background:repeating-linear-gradient(0deg,#fff 0 12px,#0d0d0d 12px 24px)}
.wkGrid{position:absolute;left:50%;top:120px;transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,170px);gap:18px}
.wkHole{position:relative;width:170px;height:130px;border:0;padding:0;background:radial-gradient(ellipse at 50% 85%,#111 0 38%,#3a2a1a 40% 52%,transparent 54%);overflow:hidden;cursor:pointer}
.wkM{position:absolute;left:50%;bottom:-100px;width:110px;height:110px;margin-left:-55px;transition:bottom .12s}
.wkM img{width:100%;height:100%;object-fit:contain}
.wkHole.up .wkM{bottom:8px}
.wkHole.hit{background-color:rgba(255,210,0,.35)}
.wkHole.bad{background-color:rgba(229,25,28,.45)}
.wkTime{position:absolute;left:50%;top:600px;transform:translateX(-50%);width:560px;height:16px;border:3px solid #fff;background:#222}
.wkTime i{display:block;height:100%;width:100%;background:#ffd200;transition:width .1s linear}
#rwAll{margin-right:14px}
/* 攻击牌左下角：这张牌总共会打多少 */
.card .dmgB{position:absolute;left:-.45em;bottom:1.2em;z-index:4;display:flex;align-items:center;gap:.15em;padding:.1em .5em .1em .35em;background:#0d0d0d;border:.12em solid #fff;box-shadow:.15em .15em 0 var(--p5r);transform:skewX(-10deg);color:#fff;pointer-events:none}
.card .dmgB .ico,.card .dmgB svg{width:1em;height:1em}
.card .dmgB b{font:900 1.15em/1 'NW Black';color:#ffd200}
.card .dmgB{left:auto;right:-.35em;bottom:auto;top:4.1em}
.wsEnd{display:inline-block;font:900 16px "NW Black";background:#0d0d0d;color:#ffd200;padding:2px 14px;transform:skewX(-10deg);margin:4px 0 8px}
/* 熟练度 */
.mast{margin-top:6px;cursor:pointer}
.mast b{display:inline-block;font:900 13px 'NW Black';background:#0d0d0d;color:#ffd200;padding:0 8px;transform:skewX(-10deg)}
.mast i{display:block;height:6px;margin-top:3px;background:#333;border:1px solid #fff}
.mast i u{display:block;height:100%;background:#ffd200;text-decoration:none}
#player.skin .body img{filter:hue-rotate(200deg) saturate(1.3) brightness(.95)}
/* 元素伤害数字 */
.fnum.el-fire{color:#ff3b2f;-webkit-text-stroke:8px #fff3c4;paint-order:stroke;text-shadow:0 0 14px #ff7a1a,4px 4px 0 #0d0d0d}
.fnum.el-thunder{color:#b46bff;-webkit-text-stroke:8px #fff;paint-order:stroke;text-shadow:0 0 14px #c99bff,4px 4px 0 #0d0d0d}
.fnum.el-ice{color:#5fd0ff;-webkit-text-stroke:8px #fff;paint-order:stroke;text-shadow:0 0 14px #bff0ff,4px 4px 0 #0d3a5a}
.fnum.el-arc{color:#ff8ce8;-webkit-text-stroke:8px #fff;paint-order:stroke;text-shadow:0 0 14px #ffb8f0,4px 4px 0 #0d0d0d}
/* 首领登场标题 */
.bossTitle{position:absolute;inset:0;z-index:120;pointer-events:none;overflow:hidden}
.btBar{position:absolute;left:-10%;right:-10%;top:250px;height:200px;background:#0d0d0d;transform:skewY(-7deg) translateX(-110%);box-shadow:0 -12px 0 var(--p5r),0 12px 0 #fff;animation:btBar .38s cubic-bezier(.2,.9,.3,1) forwards}
@keyframes btBar{to{transform:skewY(-7deg) translateX(0)}}
.btTxt{position:absolute;left:0;right:0;top:250px;height:200px;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:skewY(-7deg)}
.btTxt small{font:900 22px 'NW Black';color:#0d0d0d;background:#fff;padding:2px 18px;transform:skewX(-12deg) translateX(400px);opacity:0;animation:btIn .3s .18s forwards}
.btTxt b{font:900 92px/1.05 'NW Black';color:#fff;letter-spacing:6px;text-shadow:7px 7px 0 var(--p5r);transform:skewX(-12deg) translateX(-500px);opacity:0;animation:btIn .32s .22s cubic-bezier(.2,1.3,.4,1) forwards}
.btTxt em{font:900 24px 'NW Black';font-style:normal;color:#fff;background:var(--p5r);padding:0 16px;transform:skewX(-12deg) translateX(400px);opacity:0;animation:btIn .3s .3s forwards}
@keyframes btIn{to{transform:skewX(-12deg) translateX(0);opacity:1}}
.bossTitle.out{animation:btOut .4s forwards}
@keyframes btOut{to{opacity:0;transform:translateX(120px)}}
/* 稀有卡飞进牌组 */
.flyGet{transition:transform .7s cubic-bezier(.5,0,.7,1),opacity .7s;pointer-events:none}
.flyGet.fg-R{filter:drop-shadow(0 0 8px #6fb4ff)}
.flyGet.fg-E{filter:drop-shadow(0 0 12px #c08cff)}
.flyGet.fg-L{filter:drop-shadow(0 0 16px #ffd200) drop-shadow(0 0 4px #fff)}
#deckBtn.got{animation:deckGot .45s}
@keyframes deckGot{40%{transform:scale(1.25)}}
/* 熟练度：头像右上角的小徽章 */
.hcard .pic{position:relative}
.mast{position:absolute;right:4px;top:4px;z-index:3;display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:3px 8px 4px;border:2px solid #fff;background:#0d0d0d;box-shadow:3px 3px 0 var(--p5r);transform:skewX(-10deg);cursor:pointer}
.mast b{font:900 15px/1 'NW Black';color:#fff;letter-spacing:1px}
.mast i{display:block;width:44px;height:4px;background:#444}
.mast i u{display:block;height:100%;background:#ffd200}
.mast.lv0 b{color:#aaa}
.mast.lv3 b,.mast.lv4 b{color:#ffd200}
.mast.lv5{background:linear-gradient(135deg,#ffd200,#ff8a00);border-color:#0d0d0d}.mast.lv5 b{color:#0d0d0d}.mast.lv5 i{display:none}
.mast:hover{filter:brightness(1.2)}
.mast.lv5{background:#0d0d0d!important;border-color:#ffd200!important;box-shadow:0 0 10px #ffd200,3px 3px 0 var(--p5r)}
.mast.lv5 b{color:#ffd200!important}
.mast.lv5 b::after{content:" ★"}
/* 熟练度 Lv2：星夜卡框；Lv5：金框 */
.hcard.mframe{background:linear-gradient(160deg,#1b2a6b,#0d0d2a 60%,#3a1d6b)!important;box-shadow:0 0 0 3px #8fb4ff,6px 6px 0 #ffd200!important}
.hcard.mframe .pic{background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.35) 0 1px,transparent 2px) 0 0/22px 22px,radial-gradient(circle at 70% 60%,rgba(255,255,255,.25) 0 1px,transparent 2px) 0 0/31px 31px,linear-gradient(#22357a,#121a40)!important}
.hcard.mframe h3,.hcard.mframe p{color:#fff}
.hcard.mframe5{box-shadow:0 0 0 3px #ffd200,0 0 18px rgba(255,210,0,.7),6px 6px 0 var(--p5r)!important}
/* 难度选择 */
.diffSel{display:flex;gap:8px;margin-right:14px}
.dBtn{display:flex;flex-direction:column;align-items:center;min-width:92px;padding:4px 10px;background:#0d0d0d;border:3px solid #fff;color:#fff;transform:skewX(-10deg);cursor:pointer;box-shadow:3px 3px 0 #555}
.dBtn b{font:900 18px 'NW Black'}
.dBtn small{font:700 11px 'NW Black';color:#bbb}
.dBtn.on{background:var(--p5r);box-shadow:4px 4px 0 #fff}
.dBtn.on small{color:#fff}
/* 难度印章 */
.wsDiff{position:absolute;right:120px;top:18px;font:900 22px 'NW Black';color:#fff;background:#0d0d0d;padding:4px 16px;border:3px solid #fff;transform:rotate(-8deg);box-shadow:4px 4px 0 var(--p5r)}
.wsDiff.d-hard{background:var(--p5r);box-shadow:4px 4px 0 #0d0d0d}
.wsDiff.d-easy{background:#2a8a4a}
/* 星夜卡框：星空璀璨 */
.hcard.mframe{position:relative;overflow:hidden;background:radial-gradient(ellipse at 20% 15%,rgba(140,110,255,.55),transparent 45%),radial-gradient(ellipse at 85% 70%,rgba(60,170,255,.45),transparent 50%),radial-gradient(ellipse at 50% 110%,rgba(255,120,200,.35),transparent 50%),linear-gradient(165deg,#120c3a,#06061a 55%,#1a0d3d)!important;box-shadow:0 0 0 3px #b9d4ff,0 0 22px rgba(140,170,255,.65),6px 6px 0 #ffd200!important}
.hcard.mframe::before,.hcard.mframe::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0}
.hcard.mframe::before{background-image:radial-gradient(1.6px 1.6px at 12% 18%,#fff,transparent),radial-gradient(1.2px 1.2px at 32% 62%,#fff,transparent),radial-gradient(2px 2px at 78% 22%,#fff,transparent),radial-gradient(1.3px 1.3px at 62% 84%,#fff,transparent),radial-gradient(1.7px 1.7px at 90% 52%,#cfe0ff,transparent),radial-gradient(1.1px 1.1px at 45% 35%,#fff,transparent),radial-gradient(1.5px 1.5px at 22% 88%,#ffe9a8,transparent),radial-gradient(1px 1px at 70% 45%,#fff,transparent),radial-gradient(1.4px 1.4px at 8% 55%,#fff,transparent),radial-gradient(1.8px 1.8px at 55% 8%,#fff,transparent);animation:twk 2.6s ease-in-out infinite alternate}
.hcard.mframe::after{background-image:radial-gradient(1.3px 1.3px at 18% 40%,#fff,transparent),radial-gradient(1.8px 1.8px at 66% 30%,#fff,transparent),radial-gradient(1.2px 1.2px at 85% 88%,#fff,transparent),radial-gradient(1.5px 1.5px at 38% 75%,#ffe9a8,transparent),radial-gradient(1.1px 1.1px at 95% 12%,#fff,transparent),linear-gradient(115deg,transparent 40%,rgba(255,255,255,.18) 50%,transparent 60%);background-size:auto,auto,auto,auto,auto,250% 100%;animation:twk 3.4s ease-in-out infinite alternate-reverse,shine 5s linear infinite}
@keyframes twk{from{opacity:.35}to{opacity:1}}
@keyframes shine{from{background-position:0 0,0 0,0 0,0 0,0 0,150% 0}to{background-position:0 0,0 0,0 0,0 0,0 0,-150% 0}}
.hcard.mframe>*{position:relative;z-index:1}
.hcard.mframe .pic{background:radial-gradient(circle at 50% 75%,rgba(160,190,255,.35),transparent 60%),transparent!important}
.hcard.mframe .tag{background:linear-gradient(90deg,#5a3dff,#2a8aff)!important}
.hcard.mframe h3{color:#fff;text-shadow:0 0 10px #8fb4ff}
.hcard.mframe p{color:#dfe6ff}
/* ===== 打击感 ===== */
.hitBig .body img{animation:hitBig .5s cubic-bezier(.2,.8,.3,1)!important}
@keyframes hitBig{0%{filter:brightness(4) saturate(0);transform:none}10%{filter:brightness(4) saturate(0);transform:translateX(46px) scale(.84,1.14) rotate(10deg)}35%{filter:brightness(1.3);transform:translateX(26px) scale(1.06,.95) rotate(4deg)}60%{transform:translateX(-6px) scale(.98,1.02) rotate(-2deg)}100%{filter:none;transform:none}}
.hit .plat,.hitBig .plat{animation:platSq .3s}
@keyframes platSq{30%{transform:scaleX(1.12) scaleY(.85)}}
#arena.hitstop *{animation-play-state:paused!important}
.impRing{position:absolute;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:5px solid var(--ic);box-shadow:0 0 14px var(--ic);pointer-events:none;z-index:9;animation:impR .42s ease-out forwards}
.impRing.big{border-width:8px}
@keyframes impR{from{transform:scale(.4);opacity:1}to{transform:scale(4.2);opacity:0}}
.impRing.big{animation:impR2 .45s ease-out forwards}
@keyframes impR2{from{transform:scale(.5);opacity:1}to{transform:scale(6);opacity:0}}
.shard{position:absolute;width:9px;height:9px;margin:-4px 0 0 -4px;pointer-events:none;z-index:9;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);box-shadow:0 0 6px #fff;animation:shard .5s cubic-bezier(.2,.7,.4,1) forwards}
@keyframes shard{to{transform:translate(var(--dx),var(--dy)) rotate(var(--rt)) scale(.3);opacity:0}}
/* 出拳残影 */
.lungeR .body{animation:lungeR2 .38s cubic-bezier(.3,1.4,.5,1)!important}
@keyframes lungeR2{0%{transform:none}35%{transform:translateX(110px) rotate(8deg) scale(1.05);filter:drop-shadow(-30px 0 0 rgba(255,255,255,.35)) drop-shadow(-60px 0 0 rgba(255,255,255,.15))}100%{transform:none}}
/* ===== 排行榜 ===== */
.lbBox{position:absolute;inset:0}
.lbTabs{position:absolute;top:92px;left:0;right:0;display:flex;justify-content:center;gap:8px;align-items:center}
.lbTabs button{font:900 17px 'NW Black';padding:4px 16px;background:#0d0d0d;color:#fff;border:3px solid #fff;transform:skewX(-12deg);cursor:pointer}
.lbTabs button.on{background:var(--p5r)}
.lbSep{width:22px}
.lbDesc{position:absolute;top:138px;left:0;right:0;text-align:center;font:700 14px 'NW Black';color:#ddd}
.lbList{position:absolute;left:50%;top:168px;transform:translateX(-50%);width:640px;height:420px;overflow-y:auto;background:#fff;border:5px solid #0d0d0d;box-shadow:10px 10px 0 var(--p5r);padding:8px 12px}
.lbMsg{text-align:center;margin-top:160px;font:900 18px 'NW Black';color:#333}
.lbRow{display:flex;align-items:center;gap:12px;padding:6px 6px;border-bottom:2px solid #eee}
.lbR{width:44px;text-align:center;font:900 22px 'NW Black';color:#0d0d0d}
.lbRow.top1 .lbR{color:#e5a800}.lbRow.top2 .lbR{color:#9aa4b0}.lbRow.top3 .lbR{color:#c0783a}
.lbRow.top1{background:linear-gradient(90deg,rgba(255,210,0,.25),transparent)}
.lbAv{width:38px;height:38px;border-radius:50%;overflow:hidden;background:#0d0d0d;color:#fff;display:flex;align-items:center;justify-content:center;font:900 16px 'NW Black';flex:none}
.lbAv img{width:100%;height:100%;object-fit:cover}
.lbN{flex:1;font:700 17px var(--body);color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lbS{font:900 20px 'NW Black';color:var(--p5r)}.lbS small{font-size:12px;color:#666}
.lbMe{position:absolute;left:50%;top:604px;transform:translateX(-50%) skewX(-10deg);font:900 16px 'NW Black';background:#0d0d0d;color:#fff;padding:3px 16px}
.lbMe b{color:#ffd200}

.tipBox{pointer-events:auto!important;cursor:pointer;padding-right:34px!important}.tipX{position:absolute;right:6px;top:4px;width:24px;height:24px;border-radius:50%;background:var(--ink);color:var(--milk);font:700 17px/24px var(--body);text-align:center;font-style:normal}

/* 今日塔况 · P5 风格 */
.modMg .modCard{position:absolute;left:50%;top:150px;width:600px;min-height:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:#fff;transform:translateX(-50%) rotate(-2deg);text-align:left}
.modCard .mcIn{position:relative;padding:26px 44px 28px;background:var(--p5k);border:5px solid #fff;transform:skewX(-8deg);box-shadow:14px 14px 0 var(--p5r)}
.modCard .mcIn>*{transform:skewX(8deg)}
.mcTag{display:inline-block;font:italic 400 15px 'NW Black',sans-serif;letter-spacing:3px;color:#fff;background:var(--p5r);padding:3px 14px;transform:skewX(8deg) rotate(-2deg)!important}
.mcName{display:block;margin-top:10px;font:400 66px/1.1 'NW Black',sans-serif;letter-spacing:8px;color:#fff;text-shadow:5px 5px 0 var(--p5r);white-space:nowrap}
.mcName.roll{animation:mcRoll .09s linear}
@keyframes mcRoll{from{transform:skewX(8deg) translateY(-22px);opacity:.25}to{transform:skewX(8deg) translateY(0);opacity:1}}
.mcDesc{margin-top:16px;display:flex;flex-direction:column;gap:10px;min-height:44px}
.mcDesc p{align-self:flex-start;font:400 20px/1.45 'NW Black',sans-serif;padding:6px 16px;transform:skewX(-8deg);opacity:0}
.mcDesc .mdG{background:#fff;color:var(--p5k)}
.mcDesc .mdB{background:var(--p5r);color:#fff}
.mcDesc .mdB span{display:inline-block;margin-right:10px;padding:0 8px;background:var(--p5k);color:#fff;font-size:16px}
.modCard.done .mcDesc p{animation:mcIn .32s cubic-bezier(.2,1.4,.4,1) forwards}
.modCard.done .mcDesc p+p{animation-delay:.12s}
@keyframes mcIn{from{opacity:0;transform:skewX(-8deg) translateX(-40px)}to{opacity:1;transform:skewX(-8deg) translateX(0)}}
.modCard.done .mcName{animation:mcHit .35s ease-out}
@keyframes mcHit{0%{transform:skewX(8deg) scale(1.25);text-shadow:0 0 0 var(--p5r)}100%{transform:skewX(8deg) scale(1);text-shadow:5px 5px 0 var(--p5r)}}
.mcSt{position:absolute;right:-26px;top:-34px;width:104px;height:104px;border-radius:50%;background:var(--p5r);border:5px solid #fff;box-shadow:0 0 0 4px var(--p5k),6px 8px 0 4px rgba(0,0,0,.45);color:#fff;font:400 56px/94px 'NW Black',sans-serif;text-align:center;transform:rotate(14deg) scale(0);opacity:0}
.modCard.done .mcSt{animation:mcStamp .38s .18s cubic-bezier(.3,1.6,.5,1) forwards}
@keyframes mcStamp{0%{transform:rotate(-20deg) scale(2.4);opacity:0}100%{transform:rotate(14deg) scale(1);opacity:1}}
.modCard.done{animation:none}

#title .tkungfu{position:absolute;right:450px;bottom:70px;width:330px;height:300px;z-index:0;animation:bob 3.5s ease-in-out infinite}
#title .tkungfu img{width:100%;height:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(8px 8px 0 rgba(13,13,13,.85))}

/* 标题字 · 马善政毛笔楷书（只含「奶蛙之塔」4 字，OFL 授权） */
@font-face{font-family:'NW Title';src:url(data:font/woff2;base64,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) format('woff2');font-display:block}
#title .logo h1 span.rn{font-family:'NW Title','NW Black',sans-serif!important;font-weight:400;font-size:120px!important;line-height:158px;-webkit-text-stroke:0}
#title .logo h1 span.rn.rn0,#title .logo h1 span.rn.rn2{text-shadow:5px 5px 0 rgba(229,25,28,.9)}
#title .logo h1 span.rn.rn1,#title .logo h1 span.rn.rn3{text-shadow:5px 5px 0 var(--p5k)}

#title .tsub .ribbon{font-family:'NW Title','NW Black',sans-serif!important;font-weight:400;font-size:30px!important;letter-spacing:5px;-webkit-text-stroke:.8px currentColor}
#title .gbtn:not(.sm) b{font-family:'NW Title','NW Black',sans-serif;font-weight:400;font-style:normal;font-size:52px;letter-spacing:10px;-webkit-text-stroke:1.4px currentColor;line-height:1.15}
#title .gbtn:not(.sm){padding:8px 46px 10px 30px;min-width:340px}
#title .tmenu .sub{margin-top:26px}
#title .tsub{margin-left:40px}

/* 主页四主角：同一地台、整体右移、原地呼吸 */
#title .tkungfu{right:410px;bottom:57px}
#title .tmage{right:260px;bottom:57px}
#title .thero{right:70px;bottom:57px}
#title .tknight{right:-24px;bottom:58px}
#title .tkungfu,#title .tmage,#title .thero,#title .tknight{transform-origin:50% 100%;animation-name:tBreath}
@keyframes tBreath{0%,100%{transform:scale(1,1)}50%{transform:scale(1.012,.975)}}
#title .thero .plat{display:none}
#title .tfloor{position:absolute;left:520px;right:-40px;bottom:30px;height:46px;z-index:0;background:var(--p5k);transform:skewX(-18deg);box-shadow:0 -4px 0 var(--p5w),10px 10px 0 var(--p5r);pointer-events:none}
#title .tknight{width:240px;height:305px;right:-34px}
#title .tfloor{display:none}
#title .tkungfu,#title .tmage,#title .thero,#title .tknight{isolation:isolate}
#title .tkungfu::before,#title .tmage::before,#title .thero::before,#title .tknight::before{content:"";position:absolute;left:18%;right:18%;bottom:-10px;height:26px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.7) 35%,rgba(216,20,26,.55) 62%,transparent);z-index:-1}
#title .tkungfu::before{left:8%;right:12%}
/* 事件页（遇见 NPC）· P5 统一 */
.evPic{border-radius:0;border:5px solid var(--p5k);background:#d8141a;box-shadow:0 0 0 4px #fff,10px 10px 0 4px var(--p5k);clip-path:none;transform:rotate(-1.5deg)}
.evPic::before{background:repeating-conic-gradient(#b80f14 0 9deg,transparent 9deg 18deg)}
.evPic::after{content:"";position:absolute;inset:0;background:radial-gradient(#0d0d0d 1.6px,transparent 2px) 0 0/12px 12px;opacity:.18;pointer-events:none;-webkit-mask:linear-gradient(transparent 40%,#000);mask:linear-gradient(transparent 40%,#000)}
.evPic img{filter:drop-shadow(6px 6px 0 rgba(13,13,13,.85))}
.evTxt p{font:400 22px/1.7 'NW Black',sans-serif;color:var(--p5k)}
.evo b{background:var(--p5k)!important;color:var(--p5w)!important;border-color:var(--p5k)!important;border-radius:0!important;transform:skewX(-6deg)}
.evo:hover:not(:disabled) b{background:var(--p5r)!important}
.evo small{font-family:'NW Black'!important;color:#3a3a3a!important}
.evo:hover:not(:disabled) small{color:#ddd!important}
.evo .good{color:#0a8a3a}.evo .bad{color:var(--p5r)}
/* 升级动画 · P5 统一 */
.upFx{background:radial-gradient(circle at 50% 46%,rgba(229,25,28,.28),rgba(8,6,10,.72) 70%)}
.upRays{background:repeating-conic-gradient(rgba(229,25,28,.55) 0 7deg,transparent 7deg 20deg)}
@keyframes upNew{0%{opacity:0;transform:scale(.85);filter:brightness(3)}60%{opacity:1;transform:scale(1.08);filter:brightness(1.4)}100%{opacity:1;transform:scale(1);filter:drop-shadow(0 0 0 #fff) drop-shadow(8px 8px 0 #e5191c)}}
.upFlash{box-shadow:0 0 60px 30px rgba(255,255,255,.8)}
.upSp{background:var(--p5w);border-color:var(--p5k)}
.upSp:nth-of-type(odd){background:var(--p5r)}
.upT small{display:inline-block;margin-top:14px;font:400 20px 'NW Black',sans-serif;-webkit-text-stroke:0;background:var(--p5w);color:var(--p5k);padding:4px 16px;transform:skewX(-10deg);box-shadow:5px 5px 0 var(--p5k)}
/* 升级选天赋 · 统一 */
.perk{background:var(--p5k)!important;color:var(--p5w)!important;border-color:var(--p5k)!important;box-shadow:0 0 0 4px var(--p5w),12px 12px 0 4px var(--p5r)!important}
.perk b{background:var(--p5w)!important;color:var(--p5k)!important}
.perk p{font:400 18px/1.5 'NW Black',sans-serif!important;color:#eee!important}
.perk small{color:#ff5a5d!important}
.perk .pi{background:var(--p5w)!important;border-color:var(--p5w)!important;box-shadow:6px 6px 0 var(--p5r)!important}
.perk .pi svg{filter:brightness(0)}
.perk:hover{background:var(--p5r)!important;box-shadow:0 0 0 4px var(--p5w),12px 12px 0 4px var(--p5k)!important}
.perk:hover b{background:var(--p5k)!important;color:var(--p5w)!important}
.perk:hover p,.lvWrap .perk:hover small{color:var(--p5w)!important}
.perk:hover .pi{box-shadow:6px 6px 0 var(--p5k)!important}
.p5Scene .p5ring{transform-origin:945px 215px;animation:p5spin 60s linear infinite reverse}
#title .tkungfu img{filter:contrast(1.14) saturate(1.2) brightness(1.04) drop-shadow(8px 8px 0 rgba(13,13,13,.85))}
#title .tkungfu{z-index:1}#title .tmage{z-index:2}
.yardBtn .ybPic{position:relative;display:block;width:60px;height:60px;overflow:hidden;background:var(--p5k);border:3px solid var(--p5k);box-shadow:0 0 0 2px var(--p5w);flex:none}
.yardBtn .ybPic img{position:absolute;left:-30%;top:-4%;width:160%;height:160%;max-width:none;object-fit:contain;background:none;border:0;filter:contrast(1.08) saturate(1.1) drop-shadow(2px 2px 0 var(--p5r))}
.yardBtn{padding:3px 14px 3px 3px}
/* 抓捕 · P5 风格 */
.catchBtn{right:-30px!important;top:-14px!important;width:auto!important;height:auto!important;min-width:70px;padding:6px 10px 6px!important;border-radius:0!important;background:var(--p5k)!important;border:3px solid var(--p5w)!important;box-shadow:6px 6px 0 var(--p5r)!important;transform:skewX(-10deg);flex-direction:column;gap:0;-webkit-text-stroke:0!important;color:var(--p5w)!important;animation:catchBob 1s ease-in-out infinite!important}
.catchBtn>*{transform:skewX(10deg)}
.catchBtn .ico{width:30px!important;height:30px!important;filter:brightness(0) invert(1)}
.catchBtn span{font:400 22px/1 'NW Title','NW Black',sans-serif;letter-spacing:2px}
.catchBtn i{font:900 13px/1.2 'NW Black',sans-serif;font-style:normal;color:var(--p5k);background:var(--p5w);padding:1px 6px;margin-top:3px}
.catchBtn:hover{background:var(--p5r)!important}
@keyframes catchBob{0%,100%{transform:skewX(-10deg) translateY(0)}50%{transform:skewX(-10deg) translateY(-6px)}}
.hpbar{position:relative}
.catchLn{position:absolute;top:-7px;bottom:-7px;width:3px;margin-left:-1.5px;background:var(--p5w);box-shadow:0 0 0 2px var(--p5k);z-index:3;pointer-events:none}
.catchLn .ico,.catchLn svg{position:absolute;left:50%;top:-20px;width:18px;height:18px;margin-left:-9px;filter:drop-shadow(0 0 0 #000) drop-shadow(1px 1px 0 #000)}
.catchLn.in{background:#b392ff;box-shadow:0 0 0 2px var(--p5k),0 0 10px #b392ff}
.en.netted .body img{animation:netShake .32s ease-in-out infinite}
@keyframes netShake{25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}
.netFx .netIn{width:100%;height:100%;filter:drop-shadow(4px 4px 0 var(--p5k))}
.netFx .netIn .ico,.netFx .netIn svg{width:100%;height:100%}
.netFx.wig .netIn{animation:netWig .3s ease-in-out}
@keyframes netWig{25%{transform:rotate(-14deg)}75%{transform:rotate(14deg)}}
.netFx.tear{animation:netTear .5s ease-in forwards!important}
@keyframes netTear{0%{transform:scale(1)}30%{transform:scale(1.15) rotate(8deg)}100%{transform:translateY(80px) scale(.6) rotate(40deg);opacity:0}}
.netFx.got{animation:netGot .6s ease-in forwards!important}
@keyframes netGot{0%{transform:scale(1)}40%{transform:scale(.8)}100%{transform:translate(-460px,60px) scale(.1);opacity:0}}
.catchRes{position:absolute;z-index:80;transform:translate(-50%,-50%) skewX(-10deg) rotate(-4deg);pointer-events:none;text-align:center;animation:catchRes 1.6s ease-out forwards}
.catchRes b{display:block;font:400 46px/1.1 'NW Title','NW Black',sans-serif;padding:2px 22px;white-space:nowrap}
.catchRes small{display:inline-block;font:900 15px 'NW Black',sans-serif;padding:2px 10px;margin-top:4px}
.catchRes.ok b{background:var(--p5w);color:var(--p5k);box-shadow:7px 7px 0 #b392ff}
.catchRes.ok small{background:#b392ff;color:var(--p5w)}
.catchRes.fail b{background:var(--p5k);color:var(--p5w);box-shadow:7px 7px 0 var(--p5r)}
.catchRes.fail small{background:var(--p5r);color:var(--p5w)}
@keyframes catchRes{0%{opacity:0;transform:translate(-50%,-30%) skewX(-10deg) rotate(-4deg) scale(1.6)}12%{opacity:1;transform:translate(-50%,-50%) skewX(-10deg) rotate(-4deg) scale(1)}80%{opacity:1}100%{opacity:0;transform:translate(-50%,-80%) skewX(-10deg) rotate(-4deg)}}
.catchLn .ico,.catchLn svg{display:none!important}
/* 天赋卡 · 对齐 + 流派 */
.perkRow{top:270px!important;gap:30px!important;align-items:stretch}
.perk.sch,.perk.sch:nth-child(2),.perk.sch:nth-child(3){transform:skewX(-4deg)!important;width:268px;height:330px;padding:44px 18px 14px!important;justify-content:flex-start;gap:6px;overflow:visible}
.perk.sch>*{transform:skewX(4deg)}
.perk.sch:hover{transform:skewX(-4deg) translateY(-10px) scale(1.04)!important}
.perk.sch::before{content:"";position:absolute;left:0;right:0;top:0;height:34px;background:var(--sc);clip-path:polygon(0 0,100% 0,100% 55%,0 100%)}
.perk.sch u{z-index:2}
.perk .pTag{position:absolute;right:10px;top:4px;z-index:2;font:900 15px/1 'NW Black',sans-serif;letter-spacing:2px;color:var(--p5k);background:var(--p5w);padding:4px 10px;transform:skewX(-10deg)!important;box-shadow:3px 3px 0 var(--p5k)}
.perk .pArt{display:block;width:96px;height:96px;margin:2px 0 6px;border-radius:50%;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--sc) 55%,#fff),var(--sc));border:4px solid var(--p5w);box-shadow:0 0 0 4px var(--p5k),6px 6px 0 4px var(--p5r);overflow:hidden}
.perk .pArt img{width:100%;height:100%;object-fit:contain;transform:scale(1.15) translateY(6%);filter:drop-shadow(2px 3px 0 rgba(0,0,0,.35))}
.perk.sch .pi{margin:10px 0 14px!important;background:var(--sc)!important;border-color:var(--p5w)!important}
.perk.sch b{font-size:26px!important}
.perk.sch p{flex:none!important;min-height:52px;font-size:17px!important}
.perk.sch p em{font-style:normal;color:var(--sc);font-size:21px;padding:0 1px;text-shadow:1px 1px 0 #000}
.perk:hover p em{color:var(--p5w)}
.perk .pLv{display:flex;gap:5px;margin-top:auto}
.perk .pLv i{width:12px;height:12px;transform:rotate(45deg);border:2px solid var(--p5w);background:transparent}
.perk .pLv i.on{background:var(--sc)}
.perk .pLv i.nx{background:var(--p5w);animation:pipNx .9s ease-in-out infinite}
@keyframes pipNx{50%{background:var(--sc)}}
.perk.sch small{margin-top:6px}
#enemies.crowd .en:not(.bossEn) .body img{max-width:205px!important;max-height:205px!important}
#enemies.crowd4 .en:not(.bossEn) .body img{max-width:172px!important;max-height:172px!important}
/* 抓捕按钮：只有一张网的图 */
.catchBtn{right:-34px!important;top:-26px!important;min-width:0!important;width:92px!important;height:92px!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;transform:none;animation:netBob 1.1s ease-in-out infinite!important;filter:drop-shadow(0 0 10px rgba(120,240,255,.85)) drop-shadow(3px 4px 0 rgba(0,0,0,.6))}
.catchBtn>*{transform:none}
.catchBtn img{width:100%;height:100%;object-fit:contain;pointer-events:none}
.catchBtn:hover{background:none!important;filter:drop-shadow(0 0 16px rgba(160,250,255,1)) drop-shadow(3px 4px 0 rgba(0,0,0,.6))}
@keyframes netBob{0%,100%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(6deg) translateY(-7px)}}
.netFx{width:170px!important;height:170px!important;margin:-85px 0 0 -85px!important}
.netFx .netIn img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 12px rgba(120,240,255,.9))}
.catchLn{display:none!important}

/* ===== 标题方案 A ===== */
#title .logo h1 span.rn{background:none!important;clip-path:none!important;filter:none!important;box-shadow:none!important;border:0!important;width:auto!important;height:auto!important;padding:0!important;transform:none!important}#title .logo h1{flex-direction:row;gap:0!important;align-items:flex-end}#title .logo h1 span.rn{font-size:150px!important;line-height:1!important;color:#fff!important;-webkit-text-stroke:0!important;text-shadow:6px 6px 0 #e5191c,12px 12px 0 #0d0d0d!important}#title .logo h1 span.rn.rn1{font-size:120px!important;transform:translateY(-14px) rotate(4deg)!important}#title .logo h1 span.rn.rn2{color:#e5191c!important;text-shadow:6px 6px 0 #fff,12px 12px 0 #0d0d0d!important;font-size:110px!important}#title .logo h1 span.rn.rn3{font-size:180px!important;transform:rotate(-4deg)!important}

/* 副标题：红色笔刷 */
#title .tsub .ribbon{background:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20400%2090%22%20preserveAspectRatio%3D%22none%22%3E%3Cg%20fill%3D%22%23e5191c%22%3E%3Cpath%20d%3D%22M10%2034%20C40%2014%20110%2018%20170%2014%20C240%2010%20320%208%20392%2020%20C398%2036%20396%2056%20386%2070%20C320%2078%20250%2074%20180%2078%20C110%2082%2050%2084%2014%2074%20C2%2062%204%2046%2010%2034%20Z%22/%3E%3Cpath%20d%3D%22M2%2040%20C30%2034%2060%2036%2080%2038%20L78%2044%20C50%2042%2024%2044%200%2048%20Z%22/%3E%3Cpath%20d%3D%22M330%2074%20C360%2072%20384%2074%20398%2078%20L396%2084%20C370%2082%20350%2082%20326%2082%20Z%22/%3E%3Cpath%20d%3D%22M360%2010%20C376%208%20390%2010%20398%2014%20L396%2018%20C380%2016%20370%2016%20356%2016%20Z%22/%3E%3Cpath%20d%3D%22M6%2078%20C26%2080%2046%2082%2070%2082%20L68%2088%20C40%2088%2022%2086%204%2084%20Z%22/%3E%3C/g%3E%3Cg%20fill%3D%22%23000%22%20opacity%3D%22.12%22%3E%3Cpath%20d%3D%22M30%2030%20C120%2024%20260%2022%20380%2028%20L380%2031%20C260%2026%20120%2028%2030%2033%20Z%22/%3E%3Cpath%20d%3D%22M40%2060%20C140%2058%20260%2062%20370%2058%20L370%2061%20C260%2066%20140%2062%2040%2063%20Z%22/%3E%3C/g%3E%3C/svg%3E") center/100% 100% no-repeat!important;border:0!important;box-shadow:none!important;clip-path:none!important;color:#fff!important;padding:12px 40px 14px!important;transform:rotate(-3deg)!important;text-shadow:3px 3px 0 #0d0d0d;-webkit-text-stroke:0!important;font-size:32px!important;filter:drop-shadow(6px 6px 0 #0d0d0d)}
#title .tsub{margin-left:20px!important;margin-top:20px!important}
/* 开始冒险：白色笔刷 + 黑字 */
#title .gbtn:not(.sm){background:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20400%2090%22%20preserveAspectRatio%3D%22none%22%3E%3Cg%20fill%3D%22%23ffffff%22%3E%3Cpath%20d%3D%22M10%2034%20C40%2014%20110%2018%20170%2014%20C240%2010%20320%208%20392%2020%20C398%2036%20396%2056%20386%2070%20C320%2078%20250%2074%20180%2078%20C110%2082%2050%2084%2014%2074%20C2%2062%204%2046%2010%2034%20Z%22/%3E%3Cpath%20d%3D%22M2%2040%20C30%2034%2060%2036%2080%2038%20L78%2044%20C50%2042%2024%2044%200%2048%20Z%22/%3E%3Cpath%20d%3D%22M330%2074%20C360%2072%20384%2074%20398%2078%20L396%2084%20C370%2082%20350%2082%20326%2082%20Z%22/%3E%3Cpath%20d%3D%22M360%2010%20C376%208%20390%2010%20398%2014%20L396%2018%20C380%2016%20370%2016%20356%2016%20Z%22/%3E%3Cpath%20d%3D%22M6%2078%20C26%2080%2046%2082%2070%2082%20L68%2088%20C40%2088%2022%2086%204%2084%20Z%22/%3E%3C/g%3E%3Cg%20fill%3D%22%23000%22%20opacity%3D%22.12%22%3E%3Cpath%20d%3D%22M30%2030%20C120%2024%20260%2022%20380%2028%20L380%2031%20C260%2026%20120%2028%2030%2033%20Z%22/%3E%3Cpath%20d%3D%22M40%2060%20C140%2058%20260%2062%20370%2058%20L370%2061%20C260%2066%20140%2062%2040%2063%20Z%22/%3E%3C/g%3E%3C/svg%3E") center/100% 100% no-repeat!important;border:0!important;box-shadow:none!important;transform:rotate(-2deg)!important;padding:14px 60px 16px 46px!important;min-width:360px;filter:drop-shadow(8px 8px 0 #e5191c)}
#title .gbtn:not(.sm) b{color:#0d0d0d!important;font-size:58px!important;letter-spacing:12px;-webkit-text-stroke:1.6px #0d0d0d!important;transform:none!important;text-shadow:none!important}
#title .gbtn:not(.sm)::after{content:"";display:block!important;position:absolute;right:22px;top:50%;width:0;height:0;margin-top:-13px;border-left:22px solid #e5191c;border-top:13px solid transparent;border-bottom:13px solid transparent}
#title .gbtn:not(.sm):hover{background:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20400%2090%22%20preserveAspectRatio%3D%22none%22%3E%3Cg%20fill%3D%22%23e5191c%22%3E%3Cpath%20d%3D%22M10%2034%20C40%2014%20110%2018%20170%2014%20C240%2010%20320%208%20392%2020%20C398%2036%20396%2056%20386%2070%20C320%2078%20250%2074%20180%2078%20C110%2082%2050%2084%2014%2074%20C2%2062%204%2046%2010%2034%20Z%22/%3E%3Cpath%20d%3D%22M2%2040%20C30%2034%2060%2036%2080%2038%20L78%2044%20C50%2042%2024%2044%200%2048%20Z%22/%3E%3Cpath%20d%3D%22M330%2074%20C360%2072%20384%2074%20398%2078%20L396%2084%20C370%2082%20350%2082%20326%2082%20Z%22/%3E%3Cpath%20d%3D%22M360%2010%20C376%208%20390%2010%20398%2014%20L396%2018%20C380%2016%20370%2016%20356%2016%20Z%22/%3E%3Cpath%20d%3D%22M6%2078%20C26%2080%2046%2082%2070%2082%20L68%2088%20C40%2088%2022%2086%204%2084%20Z%22/%3E%3C/g%3E%3Cg%20fill%3D%22%23000%22%20opacity%3D%22.12%22%3E%3Cpath%20d%3D%22M30%2030%20C120%2024%20260%2022%20380%2028%20L380%2031%20C260%2026%20120%2028%2030%2033%20Z%22/%3E%3Cpath%20d%3D%22M40%2060%20C140%2058%20260%2062%20370%2058%20L370%2061%20C260%2066%20140%2062%2040%2063%20Z%22/%3E%3C/g%3E%3C/svg%3E") center/100% 100% no-repeat!important;transform:rotate(-2deg) translateX(8px) scale(1.04)!important;filter:drop-shadow(8px 8px 0 #fff)}
#title .gbtn:not(.sm):hover b{color:#fff!important;-webkit-text-stroke:1.6px #fff!important}
#title .gbtn:not(.sm):hover::after{border-left-color:#fff}

.p5Scene .p5ring2{transform-origin:945px 215px;animation:p5spin 90s linear infinite}
/* 主页小按钮：图标 + 统一宽度 */
#title .tmenu .sub{gap:12px 14px!important}
#title .gbtn.sm{display:flex!important;align-items:center;gap:8px;min-width:132px;justify-content:center;padding:6px 16px 7px!important;box-shadow:5px 5px 0 var(--p5r)!important;transition:transform .12s,background .12s}
#title .gbtn.sm>*{transform:skewX(14deg)}
#title .gbtn.sm .sbi{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;font:900 18px/1 'NW Black',sans-serif;font-style:normal;color:var(--p5r)}
#title .gbtn.sm .sbi svg,#title .gbtn.sm .sbi .ico{width:22px;height:22px}
#title .gbtn.sm:hover{background:var(--p5k)!important;transform:skewX(-14deg) translateY(-3px)!important;box-shadow:5px 8px 0 var(--p5r)!important}
#title .gbtn.sm:hover .sbi{color:var(--p5w)}
#title .gbtn.sm.off{opacity:.75}
#title .gbtn.sm.off .sbi{color:#999;text-decoration:line-through}
/* 信箱按钮 */
.tmeta{display:flex;align-items:center;gap:10px}
.mailBtn{position:relative;width:46px;height:38px;padding:4px 6px;background:var(--p5k);border:3px solid var(--p5w);box-shadow:3px 3px 0 var(--p5r);transform:skewX(-12deg);cursor:pointer}
.mailBtn .mailIco{width:100%;height:100%;transform:skewX(12deg)}
.mailBtn:hover{background:var(--p5r)}
.mailBtn .dot,.mlItem .dot{position:absolute;right:-7px;top:-7px;width:14px;height:14px;border-radius:50%;background:#ff3b3b;border:2px solid #fff;animation:catchBob 1s infinite}
.mailBtn.wig,.mailBtn:has(.dot){animation:mailWig 2.4s ease-in-out infinite}
@keyframes mailWig{0%,80%,100%{transform:skewX(-12deg)}84%{transform:skewX(-12deg) rotate(-10deg)}88%{transform:skewX(-12deg) rotate(10deg)}92%{transform:skewX(-12deg) rotate(-6deg)}}
.mailBox{position:absolute;left:50%;top:50%;width:640px;transform:translate(-50%,-50%)}
.mailBox .mgHead{text-align:center;margin-bottom:22px}
.mlList{display:flex;flex-direction:column;gap:14px}
.mlItem{position:relative;display:flex;align-items:center;gap:14px;padding:12px 20px;background:var(--p5w);color:var(--p5k);border:4px solid var(--p5k);box-shadow:7px 7px 0 var(--p5r);transform:skewX(-8deg);text-align:left;cursor:pointer}
.mlItem>*{transform:skewX(8deg)}
.mlItem .mailIco{width:42px;height:34px;flex:none}
.mlItem b{flex:1;font:400 22px 'NW Black',sans-serif}
.mlItem small{font:700 15px 'NW Black',sans-serif;color:#777}
.mlItem.new b::after{content:"NEW";margin-left:10px;font-size:13px;color:#fff;background:var(--p5r);padding:1px 6px}
.mlItem:hover{background:var(--p5k);color:var(--p5w)}
.letter{position:absolute;left:50%;top:50%;width:760px;max-height:620px;transform:translate(-50%,-50%) rotate(-1deg);background:#fffdf6;border:5px solid var(--p5k);box-shadow:14px 14px 0 var(--p5r);padding:54px 50px 24px;color:var(--p5k)}
.letter .ltHead{position:absolute;left:30px;top:-26px;display:flex;align-items:center;gap:12px}
.letter .ltHead small{font:900 15px 'NW Black',sans-serif;background:var(--p5w);border:3px solid var(--p5k);padding:2px 10px;transform:skewX(-10deg)}
.letter .ltBody{max-height:440px;overflow:auto;padding-right:8px;background:repeating-linear-gradient(transparent 0 37px,rgba(229,25,28,.14) 37px 38px)}
.letter .ltBody p{font:400 19px/38px 'NW Black',sans-serif;text-indent:2em}
.letter .ltSig{text-align:right;text-indent:0!important;color:var(--p5r)}
.letter .ovFoot{position:static!important;margin-top:16px;display:flex;justify-content:center;gap:20px}
.mailBox .ovFoot{position:static!important;margin-top:24px;display:flex;justify-content:center}
/* 赞赏弹窗：二维码 + 作者的话 */
.zsBox{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;gap:36px;align-items:center;width:960px;max-width:94%}
.zsBox .zsL{flex:none;text-align:center}
.zsBox .zsL img{width:330px!important;height:330px!important;border-radius:0!important;border:6px solid var(--p5w)!important;box-shadow:12px 12px 0 var(--p5r)!important;transform:rotate(-2deg)}
.zsBox .zsL p{margin-top:16px;font:900 18px 'NW Black',sans-serif;color:var(--p5w)}
.zsBox .zsR{position:relative;flex:1;background:var(--p5w);color:var(--p5k);border:5px solid var(--p5k);box-shadow:12px 12px 0 var(--p5r);padding:42px 30px 22px;transform:rotate(1deg)}
.zsBox .zsR .ribbon{position:absolute;left:20px;top:-24px}
.zsBox .zsR p{font:400 19px/1.75 'NW Black',sans-serif;color:var(--p5k)!important;margin-bottom:10px}
.zsBox .zsR p b{color:var(--p5w);background:var(--p5r);padding:0 6px}
.zsBox .zsR .zsSig{text-align:right;color:var(--p5r)!important}
.zsBox .zsR .btn{margin-top:6px}
.zsBox{flex-direction:row!important;text-align:left!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important}
.mailBtn i.dot,.mlItem i.dot{display:block!important;position:absolute!important;right:-8px!important;top:-8px!important;left:auto!important;width:16px!important;height:16px!important;border-radius:50%!important;background:#ff2d2d!important;border:2px solid #fff!important;box-shadow:0 0 0 2px #0d0d0d!important;transform:none!important}
.mailBtn{width:52px;height:42px}
.zsBox .zsR{padding-top:52px!important}

/* 休息处：三张卡对齐，不放图标 */
.restOpts{align-items:stretch!important}
.ropt,.ropt:nth-child(1),.ropt:nth-child(2),.ropt:nth-child(3){transform:skewX(-6deg)!important;height:150px!important;justify-content:center;gap:10px!important}
.ropt>*{transform:skewX(6deg)}
.ropt b{font:400 34px 'NW Black',sans-serif!important;letter-spacing:4px}
.ropt small{font:700 16px 'NW Black',sans-serif!important;color:#444!important}
.ropt:hover{background:var(--p5k)!important;color:var(--p5w)!important}
.ropt:hover small{color:#ddd!important}
/* ===== 三连 / 连锁横幅 · P5 ===== */
.triBan.p5t{top:190px;animation:none}
.triBan.p5t .tbIn{animation:tbIn 1.05s cubic-bezier(.2,1.3,.4,1) forwards;transform-origin:50% 60%}
.triBan.p5t b{display:inline-block;font:900 104px/1 'NW Black',sans-serif;font-style:italic;letter-spacing:8px;color:var(--p5w);-webkit-text-stroke:0;padding:6px 40px 12px;background:var(--p5k);transform:skewX(-14deg) rotate(-4deg);box-shadow:10px 10px 0 var(--fc,#e5191c),0 0 0 5px var(--p5w);text-shadow:6px 6px 0 var(--fc,#e5191c)}
.triBan.p5t small{display:block;width:max-content;margin:14px auto 0;font:900 22px 'NW Black',sans-serif;color:var(--p5k);background:var(--p5w);border:3px solid var(--p5k);border-radius:0;padding:4px 18px;transform:skewX(-12deg) rotate(-3deg);box-shadow:5px 5px 0 var(--p5k)}
.triBan.p5t small em{font-style:normal;color:var(--p5w);background:var(--fc,#e5191c);padding:0 8px;margin-right:8px}
.triBan.chain.p5t b{font-size:128px;--fc:#e5191c;background:var(--p5r);text-shadow:7px 7px 0 var(--p5k);box-shadow:12px 12px 0 var(--p5k),0 0 0 6px var(--p5w)}
.triBan.chain.lv4 b,.triBan.chain.lv5 b,.triBan.chain.lv6 b{font-size:146px;animation:chainHue .5s steps(2) infinite}
@keyframes chainHue{50%{background:var(--p5k);text-shadow:7px 7px 0 var(--p5r)}}
@keyframes tbIn{0%{transform:scale(2.6) rotate(-8deg);opacity:0;filter:blur(6px)}14%{transform:scale(.92) rotate(2deg);opacity:1;filter:none}22%{transform:scale(1.04)}30%{transform:scale(1)}78%{transform:scale(1);opacity:1}100%{transform:translateY(-40px) scale(.96);opacity:0}}
.famFlash{position:absolute;inset:0;z-index:55;pointer-events:none;background:radial-gradient(circle at 50% 40%,transparent 30%,var(--fc) 100%);mix-blend-mode:screen;animation:famFl .45s ease-out forwards}
@keyframes famFl{0%{opacity:.85}100%{opacity:0}}
.poolRing{position:absolute;z-index:56;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:6px solid var(--fc);box-shadow:0 0 0 3px #fff;pointer-events:none;animation:poolRing .55s ease-out forwards}
@keyframes poolRing{0%{transform:scale(.4);opacity:1}100%{transform:scale(9);opacity:0;border-width:1px}}
/* 连击计数 */
#comboCt{flex-wrap:wrap;justify-content:center}
#comboCt em{flex-basis:100%;text-align:center;font:900 26px 'NW Black',sans-serif;font-style:italic;color:var(--p5w);background:var(--p5k);padding:2px 14px;transform:skewX(-12deg) rotate(-4deg);box-shadow:4px 4px 0 var(--p5r);margin-top:2px;animation:cpop .3s cubic-bezier(.2,1.8,.4,1)}
#comboCt.c1 b{color:#ffd23f}
#comboCt.c2 b{color:#ff8a00;font-size:84px}
#comboCt.c3 b{color:var(--p5w);font-size:96px;text-shadow:6px 6px 0 var(--p5r),12px 12px 0 var(--p5k);animation:comboGlow .4s ease-in-out infinite alternate}
@keyframes comboGlow{to{filter:drop-shadow(0 0 14px #ffd23f)}}
/* ===== 高光剪影 ===== */
.cutIn{position:absolute;inset:0;z-index:92;pointer-events:none;overflow:hidden}
.cutIn .ciDim{position:absolute;inset:0;background:rgba(0,0,0,.55);animation:ciDim 1.45s ease forwards}
@keyframes ciDim{0%{opacity:0}10%{opacity:1}80%{opacity:1}100%{opacity:0}}
.cutIn .ciBand{position:absolute;left:-20%;right:-20%;top:50%;height:250px;margin-top:-125px;transform:rotate(-14deg);background:var(--p5r);border-top:10px solid var(--p5w);border-bottom:10px solid var(--p5w);box-shadow:0 0 0 8px var(--p5k);overflow:hidden;animation:ciBand .38s cubic-bezier(.2,1,.3,1) both}
@keyframes ciBand{0%{transform:rotate(-14deg) translateX(-110%)}100%{transform:rotate(-14deg) translateX(0)}}
.cutIn.out .ciBand{animation:ciOut .38s cubic-bezier(.6,0,.8,.4) forwards}
@keyframes ciOut{to{transform:rotate(-14deg) translateX(110%)}}
.cutIn .ciLines{position:absolute;inset:-20px;background:repeating-linear-gradient(90deg,transparent 0 60px,rgba(255,255,255,.22) 60px 64px,transparent 64px 140px,rgba(0,0,0,.25) 140px 146px),radial-gradient(#0d0d0d 2px,transparent 2.5px) 0 0/14px 14px;opacity:.9;animation:ciLines .25s linear infinite}
@keyframes ciLines{to{transform:translateX(-146px)}}
.cutIn .ciHero{position:absolute;left:24%;top:-70px;width:340px;height:390px;transform:rotate(14deg);animation:ciHero .5s .08s cubic-bezier(.2,1.2,.3,1) both}
.cutIn .ciHero img{width:100%;height:100%;object-fit:contain;object-position:bottom;filter:brightness(0) drop-shadow(0 0 0 #fff) drop-shadow(4px 0 0 #fff) drop-shadow(-4px 0 0 #fff) drop-shadow(0 4px 0 #fff) drop-shadow(0 -4px 0 #fff) drop-shadow(12px 10px 0 rgba(13,13,13,.6))}
@keyframes ciHero{0%{transform:rotate(14deg) translateX(-240px) scale(1.2);opacity:0}100%{transform:rotate(14deg) translateX(0) scale(1);opacity:1}}
.cutIn .ciTxt{position:absolute;left:46%;top:50%;transform:translateY(-50%) rotate(0deg);animation:ciTxt .45s .16s cubic-bezier(.2,1.4,.3,1) both}
.cutIn .ciTxt b{display:block;font:900 118px/1 'NW Black',sans-serif;font-style:italic;color:var(--p5w);letter-spacing:6px;text-shadow:8px 8px 0 var(--p5k);-webkit-text-stroke:3px var(--p5k);paint-order:stroke;white-space:nowrap}
.cutIn .ciTxt small{display:inline-block;margin-top:10px;font:900 24px 'NW Black',sans-serif;color:var(--p5w);background:var(--p5k);padding:4px 18px;transform:skewX(-12deg)}
@keyframes ciTxt{0%{transform:translateY(-50%) translateX(260px);opacity:0}100%{transform:translateY(-50%) translateX(0);opacity:1}}
/* ===== 休息点 · 重做 ===== */
#rest .restGlow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 46% 52% at 50% 46%,rgba(255,150,60,.42),rgba(255,120,40,.12) 55%,transparent 75%),linear-gradient(transparent 55%,rgba(8,4,12,.75));animation:rgFlick 1.6s ease-in-out infinite alternate}
@keyframes rgFlick{to{opacity:.82}}
#rest .pickHead{top:70px!important}
#rest .restScene{top:118px!important;gap:6px!important;align-items:flex-end}
#rest .restScene img{width:220px!important;height:240px!important;filter:drop-shadow(6px 6px 0 rgba(13,13,13,.8))}
#rest .restScene .rsHero{transform:scaleX(-1)}
#rest .restScene .rsElder{width:190px!important;height:210px!important}
#rest .camp{width:130px;height:170px}
#rest .camp .fl{border:0;background:radial-gradient(circle at 50% 70%,#fff3b0,#ffb02e 45%,#ff5a1f 80%);box-shadow:0 0 40px 14px rgba(255,140,40,.55)}
#rest .camp .fl.b{background:radial-gradient(circle at 50% 70%,#fff,#ffe17a 70%)}
#rest .camp .logs{background:#5a2e14;border:3px solid #1a0c08}
#rest .camp .spark{position:absolute;left:50%;bottom:90px;width:5px;height:5px;border-radius:50%;background:#ffd27a;box-shadow:0 0 6px #ff9a2e;animation:rSpark 2.2s linear infinite}
#rest .camp .s2{animation-delay:.7s;margin-left:14px}#rest .camp .s3{animation-delay:1.4s;margin-left:-16px}
@keyframes rSpark{0%{transform:translate(0,0);opacity:1}100%{transform:translate(18px,-120px);opacity:0}}
#rest .restOpts{bottom:34px!important;gap:34px!important;align-items:stretch!important}
#rest .ropt,#rest .ropt:nth-child(1),#rest .ropt:nth-child(2),#rest .ropt:nth-child(3){position:relative;width:250px!important;height:252px!important;padding:96px 14px 16px!important;justify-content:flex-start!important;gap:8px!important;background:var(--p5k)!important;color:var(--p5w)!important;border:5px solid var(--p5w)!important;border-radius:0!important;box-shadow:10px 10px 0 var(--p5r)!important;transform:skewX(-6deg)!important;overflow:visible}
#rest .ropt>*{transform:skewX(6deg)}
#rest .ropt .rArt{position:absolute;left:50%;top:-58px;width:140px;height:140px;margin-left:-70px;border-radius:50%;background:radial-gradient(circle at 50% 40%,#fff,#ffd9b0);border:5px solid var(--p5w);box-shadow:0 0 0 5px var(--p5k),8px 8px 0 5px var(--p5r);overflow:hidden;transform:skewX(6deg)}
#rest .ropt .rArt img{width:100%;height:100%;object-fit:cover;object-position:50% 10%}
#rest .rHeal .rArt img{transform:scale(1.5) translateY(14%);filter:saturate(.9)}
#rest .rHeal .rArt{background:radial-gradient(circle at 50% 30%,#3a4a8a,#141a3a)}
#rest .rHeal .zz{position:absolute;right:14px;top:10px;font:900 30px/1 'NW Black',sans-serif;font-style:italic;color:#fff;text-shadow:2px 2px 0 #000}
#rest .rHeal .zz sup{font-size:18px}
#rest .rUp .rArt{background:radial-gradient(circle,#fff,#dfeaff)}
#rest .rUp .rArt img{object-fit:contain;transform:scale(1.05)}
#rest .rTalk .rArt img{transform:scale(1.35) translateY(16%)}
#rest .rTalk .rArt{background:radial-gradient(circle at 50% 40%,#ffe6a8,#e58a2e)}
#rest .ropt b{font:900 34px/1.1 'NW Black',sans-serif!important;letter-spacing:4px;color:var(--p5w)}
#rest .ropt small{font:700 16px/1.5 'NW Black',sans-serif!important;color:#ddd!important}
#rest .ropt small em{font-style:normal;color:#ffd23f;font-size:22px}
#rest .ropt:hover{background:var(--p5r)!important;box-shadow:10px 10px 0 var(--p5w)!important;transform:skewX(-6deg) translateY(-8px)!important}
#rest .ropt[disabled]{opacity:.45}
#rest .restScene{top:168px!important}
#rest .restScene img{width:200px!important;height:220px!important}
#rest .restScene .rsElder{width:170px!important;height:190px!important}
#rest .ropt,#rest .ropt:nth-child(1),#rest .ropt:nth-child(2),#rest .ropt:nth-child(3){width:260px!important;height:210px!important;padding:78px 12px 14px!important}
#rest .ropt .rArt{top:-52px;width:120px;height:120px;margin-left:-60px}
#rest .rHeal .rArt img,#rest .rTalk .rArt img{object-fit:cover;object-position:50% 0;transform:scale(1.25);transform-origin:50% 0}
#rest .rTalk .rArt img{transform:scale(1.15)}
#rest .ropt b{font-size:30px!important;letter-spacing:2px;white-space:nowrap}
#rest .restScene{top:192px!important}
.upT .upIc{display:block;width:96px;height:96px;margin:0 auto -18px;position:relative;z-index:1;filter:drop-shadow(0 0 16px rgba(255,220,120,.9));animation:upIc .7s cubic-bezier(.2,1.6,.4,1) .75s both}
@keyframes upIc{0%{transform:scale(0) rotate(-120deg)}100%{transform:scale(1) rotate(0)}}
.upT{display:flex;flex-direction:column;align-items:center}
.upT .upIc{margin:0 0 -14px!important;transform:none}
@keyframes upIc{0%{transform:scale(0)}100%{transform:scale(1)}}
#rest .ropt .rArt{transform:none!important;left:50%;margin-left:-60px}
#rest .ropt .rArt img{transform:none!important}
#rest .rHeal .rArt img,#rest .rTalk .rArt img{object-position:50% 0;transform:scale(1.25)!important;transform-origin:50% 0}
#rest .rUp .rArt img{object-fit:contain;object-position:50% 50%;padding:6px;box-sizing:border-box}
/* 休息处卡片摆正 */
#rest .ropt,#rest .ropt:nth-child(1),#rest .ropt:nth-child(2),#rest .ropt:nth-child(3),#rest .ropt:hover{transform:none!important}
#rest .ropt:hover{transform:translateY(-8px)!important}
#rest .ropt>*{transform:none!important}
#rest .ropt .rArt{transform:none!important}
#rest .rUp .rArt img{transform:none!important;padding:4px}
#rest .rUp .rArt img{transform:none!important;padding:6px;box-sizing:border-box;object-fit:contain;object-position:50% 50%}
/* 修炼：功夫奶蛙出拳 + 升级徽章 */
#rest .rUp .rArt{background:radial-gradient(circle at 50% 45%,#ffcf4a,#e5191c 70%,#7a0a0e)!important}
#rest .rUp .rArt::before{content:"";position:absolute;inset:0;background:repeating-conic-gradient(rgba(255,255,255,.28) 0 8deg,transparent 8deg 22deg);border-radius:50%}
#rest .rUp .rArt img.rFrog{position:relative;object-fit:cover!important;object-position:30% 0!important;padding:0!important;transform:scale(1.35)!important;transform-origin:35% 0;filter:drop-shadow(2px 3px 0 rgba(0,0,0,.5))}
#rest .rUp .rBadge{position:absolute;left:50%;top:22px;margin-left:24px;width:54px;height:54px;z-index:3;filter:drop-shadow(0 0 8px rgba(255,220,120,.9)) drop-shadow(2px 2px 0 #000);animation:rBadge 1.6s ease-in-out infinite}
@keyframes rBadge{50%{transform:translateY(-5px) scale(1.08)}}
/* 血条扣血反馈 */
.hpbar u{background:#fff!important;transition:width .55s cubic-bezier(.3,0,.2,1)!important}
.hpbar i{transition:width .12s ease-out!important}
.hpbar.hpHit{animation:hpHit .32s ease-out!important}
@keyframes hpHit{0%{transform:skewX(-14deg) translateX(0)}20%{transform:skewX(-14deg) translateX(-6px);filter:brightness(1.8)}45%{transform:skewX(-14deg) translateX(5px)}70%{transform:skewX(-14deg) translateX(-2px)}100%{transform:skewX(-14deg)}}
.hpbar.low i{animation:hpLow .6s ease-in-out infinite alternate}
@keyframes hpLow{to{filter:brightness(1.5)}}
.hpw{position:relative}
.hpChunk{position:absolute;right:-6px;top:6px;z-index:4;font:900 22px 'NW Black',sans-serif;font-style:italic;color:#fff;background:var(--p5r);padding:0 6px;transform:skewX(-12deg);box-shadow:3px 3px 0 var(--p5k);pointer-events:none;animation:hpChunk .7s ease-out forwards}
@keyframes hpChunk{0%{opacity:0;transform:skewX(-12deg) translateY(6px) scale(1.4)}15%{opacity:1;transform:skewX(-12deg) scale(1)}100%{opacity:0;transform:skewX(-12deg) translateY(-26px)}}
.blkB.bump{animation:blkBump .3s cubic-bezier(.2,1.8,.4,1)}
@keyframes blkBump{0%{transform:scale(1.5)}100%{transform:scale(1)}}
#arena.zoomP{animation:zoomP .28s cubic-bezier(.2,.9,.3,1)}
@keyframes zoomP{0%{transform:scale(1)}30%{transform:scale(1.035) translateY(-4px)}100%{transform:scale(1)}}
.fnum,.dnum{font-size:1.15em}
/* 对话气泡 · 统一风格 */
.bubble{border-radius:0!important;background:var(--p5w)!important;border:3px solid var(--p5k)!important;color:var(--p5k)!important;font:900 18px/1.4 'NW Black',sans-serif!important;padding:7px 16px!important;box-shadow:5px 5px 0 var(--p5r);transform-origin:20% 100%}
.bubble.hero{background:var(--p5k)!important;color:var(--p5w)!important;border-color:var(--p5w)!important;box-shadow:5px 5px 0 var(--p5r)}
.bubble::after{content:"";position:absolute;left:22px;bottom:-14px;border-left:10px solid transparent;border-right:6px solid transparent;border-top:14px solid var(--p5k)}
.bubble.hero::after{border-top-color:var(--p5w)}
.en.gone{display:none!important}
.eCnt.tauntT{background:var(--p5r)!important;color:#fff!important;border:2px solid #fff;font-weight:900}
.en.taunt .body::after{content:"";position:absolute;left:50%;bottom:4px;width:70%;height:22px;margin-left:-35%;border-radius:50%;border:4px solid var(--p5r);box-shadow:0 0 14px var(--p5r);animation:tauntRing 1s ease-in-out infinite alternate;pointer-events:none}
@keyframes tauntRing{to{transform:scale(1.15);opacity:.6}}
.en.tauntPing .body img{animation:hitA .35s!important}
.blessSay{left:300px!important;top:auto!important;bottom:40px!important;z-index:1}
/* 抓娃娃机的爪子：和攻击特效 .claw 撞名，单独恢复 */
.clawBox .claw{animation:none!important;transform:none!important;opacity:1!important;position:absolute!important;top:26px!important;z-index:4!important;pointer-events:none}
.clawBox .claw .hook{background:#ffd23f;box-shadow:0 0 12px rgba(255,210,63,.9)}
/* 伤害数字 / 格挡字：更大、停留更久 */
.fnum{animation:fnum2 1.6s cubic-bezier(.2,.8,.3,1) forwards!important}
@keyframes fnum2{0%{transform:translate(-50%,0) scale(.4);opacity:0}10%{transform:translate(-50%,-26px) scale(1.35);opacity:1}22%{transform:translate(-50%,-30px) scale(1)}75%{transform:translate(-50%,-56px) scale(1);opacity:1}100%{transform:translate(-50%,-80px) scale(.95);opacity:0}}
.fnum.blk{font-size:42px!important}
.fnum.txt{font-size:38px!important}
.fnum.gold{font-size:38px!important}
/* 五个主角选角页 */
.hsRow{left:16px!important;right:16px!important;gap:10px!important}
.hcard{width:236px!important}
#player.vform .body img{filter:drop-shadow(0 0 18px rgba(200,30,60,.9)) drop-shadow(0 0 30px rgba(150,120,255,.6))}
#player.vform .plat{box-shadow:0 0 30px 10px rgba(200,30,60,.6)}
.hcard p{font-size:13px!important;line-height:1.45!important}
/* 连击计数：挪到主角头顶右侧，不挡画面中央 */
#comboCt{left:430px!important;top:200px!important;transform:translate(-50%,-50%) scale(var(--k)) rotate(-6deg)!important;gap:2px!important}
#comboCt small{font:900 22px 'NW Black',sans-serif!important;color:#fff!important;-webkit-text-stroke:0!important;background:var(--p5k);padding:3px 10px;transform:skewX(-12deg);box-shadow:3px 3px 0 var(--p5r)}
#comboCt i{font:900 34px 'NW Black',sans-serif;font-style:italic;color:#fff;-webkit-text-stroke:5px var(--p5k);paint-order:stroke}
#comboCt b{font:900 64px/1 'NW Black',sans-serif!important;font-style:italic;-webkit-text-stroke:7px var(--p5k)!important;paint-order:stroke;text-shadow:5px 5px 0 var(--p5r)!important}
#comboCt.c2 b{font-size:74px!important}
#comboCt.c3 b{font-size:86px!important}
#comboCt.pop{animation:cpop2 .26s cubic-bezier(.2,1.8,.4,1)}
@keyframes cpop2{0%{transform:translate(-50%,-50%) scale(calc(var(--k)*1.5)) rotate(-12deg)}100%{transform:translate(-50%,-50%) scale(var(--k)) rotate(-6deg)}}
#comboCt em{flex-basis:auto!important;width:max-content;margin:4px auto 0 40px!important;font-size:20px!important;padding:2px 12px!important}#comboCt{flex-direction:row;flex-wrap:wrap;width:260px;justify-content:flex-start}
#hand .card.netted{filter:grayscale(.8) brightness(.7)}
#hand .card.netted::after{content:"";position:absolute;inset:0;z-index:5;background:repeating-linear-gradient(45deg,transparent 0 10px,rgba(30,20,10,.75) 10px 13px),repeating-linear-gradient(-45deg,transparent 0 10px,rgba(30,20,10,.75) 10px 13px);pointer-events:none}

/* 4.0 暴击/粉伤/真伤/破盾 */
.fnum.crit{color:#ff2a2a;-webkit-text-stroke:9px #fff2c8;paint-order:stroke;text-shadow:0 0 18px #ff3a1a,4px 4px 0 #0d0d0d;font-size:64px;z-index:9}
.fnum.crit::before{content:"";position:absolute;left:50%;top:50%;width:150px;height:150px;transform:translate(-50%,-50%);background:radial-gradient(circle,#ffd23f88,transparent 65%);z-index:-1}
.fnum.pink{color:#ff8fd0;-webkit-text-stroke:7px #5a0f3a;paint-order:stroke;font-size:36px}
.fnum.tru{color:#f3eaff;-webkit-text-stroke:8px #5b2bb5;paint-order:stroke;text-shadow:0 0 12px #b78cff;font-size:52px}
.shbreak{position:absolute;width:0;height:0;z-index:8;pointer-events:none}
.shbreak b{position:absolute;left:0;top:-70px;transform:translateX(-50%);font:400 34px "NW Black","NW Serif",sans-serif;color:#d8f0ff;-webkit-text-stroke:7px #1a3a7a;paint-order:stroke;white-space:nowrap;animation:shbT 1.1s ease-out forwards}
.shbreak i{position:absolute;left:-14px;top:-14px;width:28px;height:28px;background:linear-gradient(135deg,#e8f6ff,#6fb6ff);clip-path:polygon(50% 0,100% 40%,70% 100%,0 70%);animation:shbP .9s ease-out forwards}
.shbreak i:nth-child(1){--dx:-90px;--dy:-60px}.shbreak i:nth-child(2){--dx:80px;--dy:-70px}.shbreak i:nth-child(3){--dx:-60px;--dy:50px}.shbreak i:nth-child(4){--dx:95px;--dy:40px}.shbreak i:nth-child(5){--dx:0;--dy:-100px}.shbreak i:nth-child(6){--dx:10px;--dy:80px}
@keyframes shbP{0%{transform:translate(0,0) rotate(0) scale(1.2);opacity:1}100%{transform:translate(var(--dx),var(--dy)) rotate(260deg) scale(.4);opacity:0}}
@keyframes shbT{0%{transform:translate(-50%,10px) scale(.5);opacity:0}20%{transform:translate(-50%,0) scale(1.2);opacity:1}75%{opacity:1}100%{transform:translate(-50%,-24px) scale(1);opacity:0}}

/* 4.0 状态徽章：一个字 + 层数，减益带暗边会轻轻跳，点一下看说明 */
.st[data-st]{position:relative;min-width:0;width:34px;height:34px;padding:0;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffffff55,transparent 45%),var(--sc);border:3px solid var(--ink);box-shadow:0 2px 0 var(--ink);-webkit-text-stroke:0;cursor:pointer;pointer-events:auto}
.st[data-st] i{font:400 17px "NW Black","NW Serif",sans-serif;font-style:normal;color:#fff;-webkit-text-stroke:3px var(--ink);paint-order:stroke;line-height:1}
.st[data-st] b{position:absolute;right:-7px;bottom:-6px;min-width:19px;height:19px;padding:0 4px;border-radius:10px;background:#fff8e6;border:2px solid var(--ink);font:800 12px/15px var(--num);color:var(--ink);-webkit-text-stroke:0;text-align:center}
.st[data-st].bad{border-color:#2a0b18;box-shadow:0 0 0 2px #ff4d6d88,0 2px 0 var(--ink);animation:stBad 2.4s ease-in-out infinite}
.st[data-st].bad b{background:#ffe0e6;color:#7a0f28}
.st[data-st].tmp{border-style:dashed}
@keyframes stBad{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.sts{gap:8px 9px}

/* 4.0 怒气/顿悟条：血条下面一条细条，攒满变成按钮 */
.rageW{position:relative;margin:5px auto 0;width:170px;height:10px;border-radius:6px;background:#1a1410cc;border:2.5px solid var(--ink);z-index:4;pointer-events:auto;cursor:default}
.rageW .rf{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:linear-gradient(90deg,#ffb83f,#ff6a3d);transition:width .6s ease}
.rageW span{position:absolute;right:-6px;top:50%;transform:translate(100%,-50%);font:800 12px var(--num);color:#ffe9b8;-webkit-text-stroke:3px var(--ink);paint-order:stroke;white-space:nowrap}
.rageW .rageGo{display:none}
.rageW.full{height:30px;width:170px;border-radius:12px;border-width:3px;box-shadow:0 0 16px #ffd23f;animation:rageP 1.3s ease-in-out infinite}
.rageW.full .rf{width:100%!important;border-radius:9px;background:linear-gradient(#fff3a8,#ffb83f)}
.rageW.full span{display:none}
.rageW.full .rageGo{display:block;position:absolute;inset:0;width:100%;border:0;background:none;font:400 19px/24px "NW Black","NW Serif",sans-serif;color:var(--ink);cursor:pointer;white-space:nowrap}
@keyframes rageP{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
#player.rageOn .body img{filter:drop-shadow(0 0 10px #ffd23f) drop-shadow(0 0 22px #ff9a1f) brightness(1.08)}

/* 4.0 首领变身过场 */
#battle.formDim #player,#battle.formDim .en:not(.forming),#battle.formDim #hand,#battle.formDim #pool,#battle.formDim #skyBar,#battle.formDim #endBtn,#battle.formDim #energy,#battle.formDim #wxfx{filter:brightness(.38) saturate(.6);transition:filter .5s ease}
#bg.formDimBg{filter:brightness(.35)!important;transition:filter .5s ease}
.en.forming{z-index:6!important;position:relative}
.en.forming .body{animation:fStag 1.9s ease-in-out}
@keyframes fStag{0%,100%{transform:none}15%{transform:translateX(-10px) rotate(-3deg)}30%{transform:translateX(8px) rotate(2deg)}45%{transform:translateX(-5px)}60%{transform:translateY(6px) scale(.97)}}
.formFlash{position:absolute;inset:0;z-index:7;pointer-events:none;background:radial-gradient(circle at 68% 45%,#fff 0,#ffe9c0aa 30%,transparent 70%);animation:fFlash 1.2s ease-out forwards}
@keyframes fFlash{0%{opacity:0}18%{opacity:1}100%{opacity:0}}
.en .body img{transition:filter 1.1s ease}
.en.f2 .body img{filter:drop-shadow(0 0 14px var(--f2c,#ff3a3a)) saturate(1.25) contrast(1.05)}
.en.f2-rockfrog .body img{filter:drop-shadow(0 0 16px #ff6a1a) sepia(.35) saturate(1.8) hue-rotate(-12deg)}
.en.f2-count .body img{filter:drop-shadow(0 0 18px #ff1a3c) saturate(1.4) brightness(.95)}
.en.f2-thunderking .body img{filter:drop-shadow(0 0 16px #ffe14a) brightness(1.1) contrast(1.15)}
.en.f2-boilerdragon .body img{filter:drop-shadow(0 0 20px #ff4a1a) saturate(1.6) brightness(1.08)}
.en.f2-cosmicegg .body img{filter:drop-shadow(0 0 18px #b78cff) hue-rotate(25deg) saturate(1.3)}
.en.f2-general .body img{filter:drop-shadow(0 0 16px #ff2a1a) contrast(1.15) saturate(1.3)}
.en.f2-shadow .body img{filter:drop-shadow(0 0 14px #7a4bff) brightness(.85)}
.en.f2-shadow .body{animation:shFlick 3s ease-in-out infinite}
@keyframes shFlick{0%,100%{opacity:1}45%{opacity:.82}50%{opacity:.6}55%{opacity:.85}}
.en.f2-demon .body img{filter:drop-shadow(0 0 22px #c01a5a) drop-shadow(0 0 40px #5a0a3a) saturate(1.2)}
.en.f2-bishop .body img{filter:drop-shadow(0 0 16px #bfe8ff) brightness(1.05)}
.en.pile .body img{filter:grayscale(1) brightness(.75);transform:scaleY(.45) translateY(55%);transform-origin:50% 100%;transition:transform 1s ease,filter 1s ease}
.en.fakePop .body{animation:fakeP .4s ease-out forwards}
@keyframes fakeP{to{opacity:0;transform:scale(1.3);filter:blur(6px)}}
.eCnt.f2t{background:#5a1428;color:#ffd8d8}

/* 4.0 暗器袋 */
#bag{position:absolute;left:16px;top:352px;z-index:6;display:flex;align-items:center;gap:6px;padding:6px 8px 6px 6px;border-radius:14px;background:#14101acc;border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink)}
#bag em{font:400 15px "NW Black","NW Serif",sans-serif;font-style:normal;color:#ffe9b8;writing-mode:vertical-rl;letter-spacing:2px;-webkit-text-stroke:3px var(--ink);paint-order:stroke}
#bag .aq{width:46px;height:46px;border-radius:50%;padding:4px;border:3px solid var(--ink);background:radial-gradient(circle at 35% 30%,#fff6,transparent 50%),var(--ac,#555);box-shadow:0 2px 0 var(--ink);cursor:pointer;position:relative}
#bag .aq.fav::after{content:"★";position:absolute;right:-6px;top:-8px;font:800 14px var(--num);color:#ffd23f;-webkit-text-stroke:3px var(--ink);paint-order:stroke}
#bag .aq.empty{display:block;background:#ffffff10;border:2.5px dashed #ffffff40;box-shadow:none;cursor:default}
#bag .aq.new{animation:aqNew .5s cubic-bezier(.3,1.6,.5,1)}
#bag .aq:not(.empty):active{transform:scale(.9)}
@keyframes aqNew{0%{transform:scale(0) rotate(-90deg)}100%{transform:scale(1)}}
#bag .aqHint{position:absolute;left:0;top:-26px;white-space:nowrap;font:800 13px var(--num);font-style:normal;color:#ffd23f;-webkit-text-stroke:3px var(--ink);paint-order:stroke;animation:rageP 1.2s ease-in-out infinite}
.aqFly{position:absolute;width:40px;height:40px;margin:-20px 0 0 -20px;z-index:8;pointer-events:none;transition:transform .38s cubic-bezier(.3,.1,.6,1)}
/* 4.0 蛋 */
#player .eggs{position:absolute;left:50%;bottom:4px;transform:translateX(-50%);display:flex;gap:2px;z-index:3;pointer-events:none}
#player .egg{position:relative;width:30px;height:38px;border-radius:50% 50% 46% 46%/60% 60% 40% 40%;background:radial-gradient(circle at 35% 30%,#fff,#f3e6c8 60%,#d8c49a);border:2.5px solid var(--ink)}
#player .egg.gold{background:radial-gradient(circle at 35% 30%,#fff8c8,#ffd23f 60%,#c8901e)}
#player .egg b{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);font:800 14px var(--num);color:var(--ink)}
#player .egg.pop{animation:aqNew .5s cubic-bezier(.3,1.6,.5,1)}

/* 4.0 商店购买确认弹窗 */
.shopConf{position:absolute;inset:0;z-index:60;background:#0a0612aa;display:flex;align-items:center;justify-content:center;animation:fDim .2s ease}
.shopConf.out{opacity:0;transition:opacity .3s;pointer-events:auto}
.shopConf .scBox{min-width:340px;max-width:520px;padding:18px 24px 16px;border-radius:18px;background:var(--milk,#fff8e6);border:4px solid var(--ink);box-shadow:0 6px 0 var(--ink);text-align:center;color:var(--ink)}
.shopConf .scBox b{display:block;font-size:24px;margin:6px 0 4px}
.shopConf .scBox p{font-size:16px;line-height:1.5;margin:0 0 6px}
.shopConf .scCard{display:flex;justify-content:center;transform:scale(.8);margin:-24px 0 -30px}
.shopConf .scIcon{display:flex;justify-content:center;transform:scale(1.4);margin:10px 0}
.shopConf .scBtns{display:flex;gap:14px;justify-content:center;margin-top:10px}
.shopConf .scBtns .btn{min-width:120px}
.shopConf .scBtns .btn[disabled]{opacity:.5;filter:grayscale(1)}
@keyframes fDim{from{opacity:0}to{opacity:1}}

/* 4.0 魔法师蓝条 */
.manaW{position:relative;margin:4px auto 0;width:200px;height:14px;border-radius:7px;background:#0d1530;border:2.5px solid var(--ink);overflow:visible}
.manaW i{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:linear-gradient(#8fb8ff,#3a6aff 60%,#2a4ad0);box-shadow:inset 0 2px 0 #ffffff55;transition:width .5s ease}
.manaW span{position:absolute;inset:0;text-align:center;font:800 11px/10px var(--num);color:#fff;-webkit-text-stroke:2.5px #0d1530;paint-order:stroke}
/* 4.0 酒馆 */
.tavBoard .phead{display:flex;align-items:center;gap:14px}
.tavBoss{color:var(--ink);opacity:.75;font-size:15px}
.tavSec{margin:6px 0 10px}
.tavH{display:inline-block;font:400 18px "NW Black","NW Serif",sans-serif;margin-bottom:6px}
.qList{display:flex;gap:10px}
.qCard{position:relative;flex:1;min-width:0;padding:10px 10px 8px 12px;border-radius:10px;background:#fff8ea;border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink);cursor:pointer;text-align:left;color:var(--ink)}
.qCard:hover{transform:translateY(-2px)}
.qCard i,.qCur i{position:absolute;right:-8px;top:-10px;width:30px;height:30px;border-radius:50%;border:3px solid var(--ink);font:900 16px/24px var(--num);font-style:normal;text-align:center;color:#fff;background:var(--gc)}
.qCard b{display:block;font-size:17px;margin-bottom:2px}
.qCard p{margin:0;font-size:14px;line-height:1.35}
.qCard small{display:block;margin-top:4px;font-size:12px;opacity:.75}
.qCard.big{max-width:320px;margin:4px auto 8px}
.g-C{--gc:#7bb86b}.g-B{--gc:#4a8ad8}.g-A{--gc:#b05ad8}.g-S{--gc:#e8463a}
.qCard.g-S{background:linear-gradient(#fff3d8,#ffe0b8)}
.qCur{position:relative;display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;background:#fff8ea;border:3px solid var(--ink);color:var(--ink);font-size:15px}
.qCur>div{flex:1}.qCur small{display:block;opacity:.75;margin-top:2px}
.qTip{display:block;margin-top:6px;opacity:.7;font-size:12px}
.tavRow{display:flex;gap:10px;flex-wrap:wrap}
.tavIt{width:118px}
.tavIt .rmv{min-height:92px}
.rlPick{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:10px 0}
.rlOpt{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;border-radius:10px;border:3px solid var(--ink);background:#fff;cursor:pointer;font-size:13px;color:var(--ink)}
.rpsRes{display:flex;align-items:center;justify-content:center;gap:24px;font-size:54px;margin:8px 0}
.rpsRes i{font:900 22px var(--num);font-style:normal}
.rpsOut{font:400 22px "NW Black","NW Serif",sans-serif}.rpsOut.w{color:#2a8a3a}.rpsOut.l{color:#c8281e}

.tavName{position:absolute;left:70px;bottom:26px;z-index:3;padding:2px 14px;background:var(--p5k,#111);color:#fff;font:400 18px "NW Black","NW Serif",sans-serif;transform:skewX(-10deg);box-shadow:4px 4px 0 var(--p5r,#e8463a)}
/* 4.0 地图图标放大一点 */
.mn .ico.mico{width:44px;height:44px}
.mn.t-r{background:#ffe2b8}.mn.t-s{background:#fff1c8}.mn.t-v{background:#ffd89a}.mn.t-q{background:#efe2ff}.mn.t-t{background:#ffe08a}
.legend .ico.mico{width:22px;height:22px}

/* 4.0 图鉴：没拿到的牌也能看清效果 */
.card.unk2{filter:grayscale(.85) brightness(.82);opacity:.78}
.card.unk2::after{content:"未获得";position:absolute;right:6%;top:6%;z-index:5;padding:1px 8px;border-radius:6px;background:#222;color:#ddd;font-size:12px;border:2px solid #000}
/* 4.0 闪卡收藏册 */
.albumGrid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:18px 14px;align-content:start}
.pkSlot{position:relative;display:flex;flex-direction:column;align-items:center;padding:8px 6px 10px;border-radius:14px;background:#1b1626;border:3px solid #000;box-shadow:0 3px 0 #000}
.pkSlot.empty{min-height:250px;justify-content:center;background:repeating-linear-gradient(-45deg,#1b1626 0 10px,#211b2e 10px 20px);border-style:dashed;border-color:#4a405e}
.pkSlot.empty b{position:absolute;left:10px;top:8px;font:800 13px var(--num);color:#6a5e80}
.pkSlot.empty i{font:900 46px var(--num);font-style:normal;color:#3a3150}
.pkCard{position:relative;transition:transform .15s ease;transform-style:preserve-3d;--mx:50%;--my:50%}
.pkCard .holo{position:absolute;inset:0;border-radius:10px;pointer-events:none;mix-blend-mode:overlay;opacity:.7;background:radial-gradient(circle at var(--mx) var(--my),#fff9 0,transparent 35%),linear-gradient(115deg,#ff4ad8 0%,#4ad8ff 20%,#6aff8a 40%,#ffe84a 60%,#ff8a4a 80%,#c84aff 100%);background-size:100% 100%,240% 240%;background-position:center,var(--mx) var(--my);animation:holoA 6s linear infinite}
.pkSlot.gold .pkCard .holo{background:radial-gradient(circle at var(--mx) var(--my),#fff 0,transparent 35%),linear-gradient(115deg,#fff3a8,#ffd23f 30%,#fff8e0 50%,#c8901e 70%,#fff3a8);background-size:100% 100%,240% 240%;opacity:.6}
@keyframes holoA{0%{filter:hue-rotate(0)}100%{filter:hue-rotate(360deg)}}
.pkSlot.gold{background:linear-gradient(#3a2a0a,#1b1626);border-color:#c8901e;box-shadow:0 0 14px #ffd23f66,0 3px 0 #000}
.pkMeta{display:flex;justify-content:space-between;width:100%;padding:6px 6px 0}
.pkMeta b{font:800 13px var(--num);color:#cfc6e0}
.pkR{font:800 12px var(--num);padding:0 8px;border-radius:8px;background:linear-gradient(90deg,#ffd6f0,#b8e8ff,#d8ffc8);color:#3b1f5c}
.pkR.g{background:linear-gradient(90deg,#fff3a8,#ffd23f);color:#5a3a00}
.pkFl{margin:6px 4px 0;font-size:12px;line-height:1.45;color:#d8d0e8;font-style:italic;text-align:center}

.shopTalk{position:absolute;left:40px;bottom:20px;z-index:4}

/* 4.0 卡牌亮相（图鉴点开） */
#cinfo.reveal{background:radial-gradient(ellipse at 38% 50%,#2a1f4a 0,#0c0818 70%);overflow:hidden}
.rvRays{position:absolute;left:38%;top:50%;width:1800px;height:1800px;margin:-900px 0 0 -900px;background:repeating-conic-gradient(from 0deg,#ffffff14 0 6deg,transparent 6deg 18deg);animation:rvSpin 26s linear infinite;pointer-events:none}
@keyframes rvSpin{to{transform:rotate(360deg)}}
.rvGlow{position:absolute;left:38%;top:50%;width:620px;height:620px;margin:-310px 0 0 -310px;border-radius:50%;background:radial-gradient(circle,var(--fc) 0,transparent 62%);opacity:0;animation:rvGlow .9s .4s ease-out forwards;pointer-events:none}
@keyframes rvGlow{0%{opacity:0;transform:scale(.3)}40%{opacity:.9}100%{opacity:.45;transform:scale(1)}}
.rvSp i{position:absolute;left:var(--x);top:var(--y);width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 8px #fff;opacity:0;animation:rvTw 2.4s var(--d) ease-in-out infinite}
@keyframes rvTw{0%,100%{opacity:0;transform:scale(.4)}50%{opacity:.9;transform:scale(1)}}
.rvStage{position:relative;display:flex;align-items:center;gap:56px;z-index:2;padding:0 70px}
.rvCard{position:relative;flex:none;transition:transform .12s ease;--mx:50%;--my:50%}
.rvFlip{position:relative;transform-style:preserve-3d;transform:rotateY(180deg) scale(.7);transition:transform .75s cubic-bezier(.2,1.3,.4,1)}
#cinfo.flipped .rvFlip{transform:rotateY(0) scale(1.12)}
.rvBack,.rvFront{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.rvBack{position:absolute;inset:0;transform:rotateY(180deg);border-radius:14px;border:6px solid #fff;background:repeating-linear-gradient(-45deg,#e8463a 0 12px,#c8281e 12px 24px);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 4px #111}
.rvBack b{font:400 34px "NW Black","NW Serif",sans-serif;color:#fff;-webkit-text-stroke:6px #111;paint-order:stroke;writing-mode:vertical-rl;letter-spacing:6px}
.rvFront{position:relative}
.rvFront .card{cursor:default}
.rvFront .holo{position:absolute;inset:0;border-radius:12px;pointer-events:none;mix-blend-mode:overlay;opacity:.55;background:radial-gradient(circle at var(--mx) var(--my),#fffb 0,transparent 32%),linear-gradient(115deg,#ff4ad8,#4ad8ff 25%,#6aff8a 45%,#ffe84a 65%,#c84aff);background-size:100% 100%,260% 260%;background-position:center,var(--mx) var(--my)}
.rvInfo{width:500px;color:#f4eefc;font:600 16px/1.5 var(--body,sans-serif);opacity:0;transform:translateX(30px);transition:all .5s .55s ease}
#cinfo.flipped .rvInfo{opacity:1;transform:none}
.rvNo{font:800 22px var(--num);color:#b9a6ff}.rvNo small{font-size:14px;opacity:.6}
.rvInfo h3{margin:2px 0 4px;font:400 44px "NW Black","NW Serif",sans-serif;color:#fff;-webkit-text-stroke:7px #111;paint-order:stroke}
.rvStars{font-size:22px;color:#ffd23f;letter-spacing:2px;text-shadow:0 0 10px #ffd23f88}
.rvStars span{margin-left:10px;font:800 14px var(--num);color:#cfc6e0;letter-spacing:0;text-shadow:none}
.rvStars em{margin-left:10px;font:800 13px var(--num);font-style:normal;padding:1px 10px;border-radius:8px;background:linear-gradient(90deg,#ffd6f0,#b8e8ff,#d8ffc8);color:#3b1f5c;letter-spacing:0;text-shadow:none}
.rvStars em.g{background:linear-gradient(90deg,#fff3a8,#ffd23f);color:#5a3a00}
.rvTags{display:flex;gap:8px;margin:8px 0 10px}
.rvTags span{padding:1px 12px;border-radius:8px;background:#ffffff1c;border:2px solid #ffffff40;font-size:14px}
.rvTags span.fc{background:var(--fc);color:#111;border-color:#111}
.rvLock{color:#ffb8b8;margin:0 0 6px}
.rvLv{background:#00000055;border:2px solid #ffffff26;border-radius:12px;padding:8px 14px}
.rvLv p{margin:4px 0;font-size:17px}.rvLv p.u{color:#e8dcff}
.rvLv b{display:inline-block;min-width:54px;color:#ffd23f;font-size:14px}
.rvKw{display:flex;flex-direction:column;gap:3px;margin-top:8px;font-size:15px;color:#cfc6e0}
.rvKw b{color:#fff;margin-right:8px}
.rvFl{margin-top:12px;font-style:italic;color:#d8cffa;font-size:17px}
.rvNav{position:absolute;top:50%;z-index:3;width:54px;height:54px;margin-top:-27px;border-radius:50%;border:3px solid #fff;background:#0006;color:#fff;font:900 34px/40px sans-serif;cursor:pointer}
.rvNav.l{left:18px}.rvNav.r{right:18px}.rvNav[disabled]{opacity:.25}
#cinfo.reveal .ciX{z-index:4;position:absolute;top:18px;right:18px}

#cinfo.reveal:not(.isShiny) .rvFront .holo{display:none}

.qList{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 12px}
.qCard p{font-size:13px}
.tavIt .rmv small{display:block;color:#8a2a1e!important;opacity:1!important;font-size:13px;-webkit-text-stroke:0!important}

/* 4.0 地图：休息/商店/酒馆用人物头像 */
.mn img.head{width:58px!important;height:58px!important;border-radius:50%;object-fit:cover;object-position:50% 6%;margin:0!important;border:3px solid #fff;box-shadow:0 0 0 2px var(--p5k,#111);background:#fff3d8}
.legend img{object-fit:cover;object-position:50% 6%;border-radius:50%}
/* 4.0 主页小按钮做大，图鉴更显眼 */
#title .gbtn.sm{min-width:168px!important;padding:10px 22px 11px!important}
#title .gbtn.sm b{font-size:23px!important}
#title .gbtn.sm .sbi svg,#title .gbtn.sm .sbi .ico{width:28px!important;height:28px!important}
#title #tCodex{background:var(--p5r,#e8463a)!important;box-shadow:5px 5px 0 var(--p5k)!important;animation:cxPulse 2.4s ease-in-out infinite}
#title #tCodex b,#title #tCodex .sbi{color:#fff!important}
@keyframes cxPulse{0%,100%{filter:none}50%{filter:brightness(1.15) drop-shadow(0 0 8px #ff8a6a)}}

.mn .hw{position:relative;display:block;width:58px;height:58px}
.mn .hbd{position:absolute;right:-12px;bottom:-8px;width:26px;height:26px;border-radius:50%;background:#fff;border:2.5px solid var(--p5k,#111);display:flex;align-items:center;justify-content:center;font-size:15px;line-height:1;font-style:normal}
.mn .hbd .ico{width:20px;height:20px}
#title .gbtn.sm{min-width:148px!important;padding:8px 18px 9px!important}
#title .gbtn.sm b{font-size:20px!important}
#title .gbtn.sm .sbi svg,#title .gbtn.sm .sbi .ico{width:24px!important;height:24px!important}

/* 4.0 回忆关：旧照片质感 */
#battle.memory #player .body,#battle.memory #enemies .body{filter:sepia(.35) saturate(.9)}
#bg.memoBg{filter:sepia(.7) brightness(.75)}
#memoFx{position:absolute;inset:0;z-index:7;pointer-events:none}
#memoFx .grain{position:absolute;inset:-50%;opacity:.07;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");animation:grain .9s steps(4) infinite}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(-4%,3%)}50%{transform:translate(3%,-5%)}75%{transform:translate(-2%,-2%)}100%{transform:translate(4%,4%)}}
#memoFx .vig{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,transparent 55%,#2a1a0a99 100%);mix-blend-mode:multiply}
#memoFx .flick{position:absolute;inset:0;background:#fff3d8;opacity:0;animation:flick 6s infinite}
@keyframes flick{0%,92%,100%{opacity:0}93%{opacity:.12}94%{opacity:0}96%{opacity:.08}97%{opacity:0}}
#memoFx .memoT{position:absolute;left:50%;top:84px;transform:translateX(-50%) rotate(-1.5deg);padding:4px 22px;background:#f3e6c8;color:#4a3420;font:400 22px "NW Serif","NW Black",serif;border:2px solid #4a3420;box-shadow:3px 3px 0 #4a342088;letter-spacing:3px;white-space:nowrap}
#memoTip{position:absolute;left:50%;top:auto;bottom:250px;z-index:8;width:560px;margin-left:-280px;padding:12px 18px 14px;background:#f6ecd2;color:#3a2a18;border:3px solid #4a3420;border-radius:6px;box-shadow:5px 5px 0 #4a342099;font:600 17px/1.55 var(--body,sans-serif);transform:translateY(-12px) rotate(-.6deg);opacity:0;pointer-events:none;transition:all .35s ease}
#memoTip.on{opacity:1;transform:rotate(-.6deg)}
#memoTip i{display:inline-block;margin-bottom:4px;padding:0 8px;background:#4a3420;color:#f6ecd2;font-style:normal;font-size:13px;letter-spacing:2px}
#memoTip p{margin:0}#memoTip b{color:#a8281e}

#title .tmenu .sub{display:grid!important;grid-template-columns:repeat(2,max-content)!important;gap:14px 16px!important}
/* 4.0 地图稍微清爽一点点：背景略暗，路线略细 */
#bg .mPhoto{filter:saturate(.75) brightness(.86) contrast(1.05)!important}
#mapSvg path{opacity:.8}

/* 主页：开始冒险上移变大 */
#title .tmenu{transform:translateY(-34px)}
#title #tNew.gbtn{min-width:360px!important;padding:16px 46px 18px!important}
#title #tNew.gbtn b{font-size:46px!important}

#title #tNew{zoom:1.2}

/* 4.0 出手动画 */
.ghostAtk{position:absolute;z-index:6;pointer-events:none;transition-property:transform,opacity;transition-timing-function:cubic-bezier(.3,.9,.4,1);filter:brightness(1.6) saturate(.4) drop-shadow(0 0 6px #fff)}
.punchStar{position:absolute;width:120px;height:120px;margin:-60px 0 0 -60px;z-index:7;pointer-events:none;opacity:0;background:conic-gradient(from 0deg,#fff 0 6deg,transparent 6deg 30deg,#fff 30deg 36deg,transparent 36deg 60deg,#fff 60deg 66deg,transparent 66deg 90deg,#fff 90deg 96deg,transparent 96deg 120deg,#fff 120deg 126deg,transparent 126deg 150deg,#fff 150deg 156deg,transparent 156deg 180deg,#fff 180deg 186deg,transparent 186deg 210deg,#fff 210deg 216deg,transparent 216deg 240deg,#fff 240deg 246deg,transparent 246deg 270deg,#fff 270deg 276deg,transparent 276deg 300deg,#fff 300deg 306deg,transparent 306deg 330deg,#fff 330deg 336deg,transparent 336deg);-webkit-mask:radial-gradient(circle,transparent 22%,#000 24%,#000 46%,transparent 50%);mask:radial-gradient(circle,transparent 22%,#000 24%,#000 46%,transparent 50%);animation:pStar .32s ease-out forwards}
@keyframes pStar{0%{opacity:1;transform:scale(.3) rotate(0)}100%{opacity:0;transform:scale(1.4) rotate(25deg)}}
.slashArc{position:absolute;width:230px;height:230px;margin:-115px 0 0 -115px;z-index:7;pointer-events:none;opacity:0;transform:rotate(var(--r)) scale(.6);animation:slashA .42s ease-out forwards;filter:drop-shadow(0 0 8px #bfe3ff)}
.slashArc.heavy{width:300px;height:300px;margin:-150px 0 0 -150px;filter:drop-shadow(0 0 12px #ffd23f)}
.slashArc svg{width:100%;height:100%}
@keyframes slashA{0%{opacity:0;transform:rotate(calc(var(--r) - 40deg)) scale(.6)}25%{opacity:1}100%{opacity:0;transform:rotate(calc(var(--r) + 25deg)) scale(1.15)}}
#player .body.blinkOut{opacity:0;transition:opacity .08s}
#player .body.blinkIn{animation:blinkIn .3s ease-out}
@keyframes blinkIn{0%{opacity:0;transform:scale(.9)}100%{opacity:1;transform:none}}
.vampGhost{position:absolute;z-index:6;pointer-events:none;transform:scaleX(-1);filter:drop-shadow(0 0 10px #ff1a3c) brightness(.9);animation:vgIn .12s ease-out}
.vampGhost.out{opacity:0;transition:opacity .25s}
@keyframes vgIn{from{opacity:0;transform:scaleX(-1) translateX(-30px)}to{opacity:1}}
.clawMk{position:absolute;width:0;height:0;z-index:8;pointer-events:none}
.clawMk i{position:absolute;left:-70px;top:-60px;width:150px;height:8px;border-radius:6px;background:linear-gradient(90deg,transparent,#ff1a3c 20%,#fff 50%,#ff1a3c 80%,transparent);box-shadow:0 0 10px #ff1a3c;transform:rotate(-38deg) scaleX(0);transform-origin:0 50%;animation:claw .55s ease-out forwards}
.clawMk i:nth-child(2){top:-35px;left:-62px;animation-delay:.05s}.clawMk i:nth-child(3){top:-10px;left:-54px;animation-delay:.1s}
@keyframes claw{0%{transform:rotate(-38deg) scaleX(0);opacity:1}35%{transform:rotate(-38deg) scaleX(1);opacity:1}100%{transform:rotate(-38deg) scaleX(1);opacity:0}}
.runeC{position:absolute;width:220px;height:110px;margin:-55px 0 0 -110px;z-index:2;pointer-events:none;transform:perspective(300px) rotateX(62deg);animation:runeA .9s ease-out forwards;filter:drop-shadow(0 0 8px var(--rc))}
.runeC svg{width:220px;height:220px;margin-top:-55px;animation:runeSpin .9s linear}
@keyframes runeA{0%{opacity:0;transform:perspective(300px) rotateX(62deg) scale(.4)}25%{opacity:1;transform:perspective(300px) rotateX(62deg) scale(1)}100%{opacity:0;transform:perspective(300px) rotateX(62deg) scale(1.1)}}
@keyframes runeSpin{to{transform:rotate(120deg)}}
#title .logo{zoom:1.34}

.mn img.badge{width:60px!important;height:60px!important;margin:-4px 0 0 -4px!important;object-fit:contain;filter:drop-shadow(0 2px 2px #0008)}
.mn.t-q{background:#2a3a2e!important}

/* ===== 4.0 打击特效（按出手方式） ===== */
.fnum.blk{font-size:44px!important}
.hxRing,.hxRing2{position:absolute;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;pointer-events:none;z-index:7}
.hxRing{border:7px solid #fff;box-shadow:0 0 12px #fff;animation:hxR .38s ease-out forwards}
.hxRing2{border:3px solid #ffe8a8;animation:hxR2 .5s .06s ease-out forwards;opacity:0}
.hxRing.big{border-width:10px}
.hxRing.star{border-color:#ff8ce8;box-shadow:0 0 14px #ff8ce8}
@keyframes hxR{0%{transform:scale(.3);opacity:1}100%{transform:scale(4.2);opacity:0;border-width:1px}}
@keyframes hxR2{0%{transform:scale(.6);opacity:.9}100%{transform:scale(5.6);opacity:0}}
.hxRing.big{animation-name:hxRB}@keyframes hxRB{0%{transform:scale(.3);opacity:1}100%{transform:scale(6);opacity:0;border-width:1px}}
.hxLines{position:absolute;width:0;height:0;z-index:7;pointer-events:none}
.hxLines i{position:absolute;left:0;top:-3px;width:var(--l);height:6px;border-radius:3px;background:linear-gradient(90deg,transparent,#fff 40%,#fff);transform-origin:0 50%;transform:rotate(var(--a)) translateX(16px) scaleX(.2);animation:hxL .34s ease-out forwards}
.hxLines.big i{height:8px;top:-4px}
@keyframes hxL{0%{opacity:1;transform:rotate(var(--a)) translateX(10px) scaleX(.2)}60%{opacity:1}100%{opacity:0;transform:rotate(var(--a)) translateX(60px) scaleX(1)}}
.hxDust{position:absolute;width:0;height:0;z-index:6;pointer-events:none}
.hxDust i{position:absolute;left:-22px;top:-22px;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle,#f3e6c8cc,#d8c4a000 70%);animation:hxD .7s ease-out forwards}
@keyframes hxD{0%{transform:translate(0,0) scale(.3);opacity:.9}100%{transform:translate(var(--dx),var(--dy)) scale(calc(var(--s)*2));opacity:0}}
.hxCut{position:absolute;width:320px;height:10px;margin:-5px 0 0 -160px;z-index:7;pointer-events:none;transform:rotate(var(--r)) scaleX(0);background:linear-gradient(90deg,transparent,#bfe3ff 15%,#fff 50%,#bfe3ff 85%,transparent);border-radius:6px;box-shadow:0 0 14px #bfe3ff,0 0 4px #fff;animation:hxC .36s cubic-bezier(.2,.9,.3,1) forwards}
.hxCut.big{height:16px;width:400px;margin-left:-200px;background:linear-gradient(90deg,transparent,#ffd23f 12%,#fff 50%,#ffd23f 88%,transparent);box-shadow:0 0 22px #ffd23f}
@keyframes hxC{0%{transform:rotate(var(--r)) scaleX(0);opacity:1}35%{transform:rotate(var(--r)) scaleX(1);opacity:1}100%{transform:rotate(var(--r)) scaleX(1.08) scaleY(.15);opacity:0}}
.hxSpark{position:absolute;width:0;height:0;z-index:8;pointer-events:none}
.hxSpark i{position:absolute;left:-2px;top:-2px;width:14px;height:4px;border-radius:2px;background:#fff3a8;box-shadow:0 0 6px #ffd23f;animation:hxS .42s ease-out forwards}
@keyframes hxS{0%{transform:translate(0,0);opacity:1}100%{transform:translate(var(--dx),var(--dy));opacity:0}}
.hxClaw{position:absolute;width:0;height:0;z-index:8;pointer-events:none}
.hxClaw i{position:absolute;left:-80px;top:-70px;width:170px;height:10px;border-radius:8px;background:linear-gradient(90deg,transparent,#8a0a1e 10%,#ff2a4a 40%,#fff 55%,#ff2a4a 75%,transparent);box-shadow:0 0 12px #ff1a3c;transform:rotate(-40deg) scaleX(0);transform-origin:0 50%;animation:claw .55s ease-out forwards}
.hxClaw i:nth-child(2){top:-42px;left:-70px;animation-delay:.04s}.hxClaw i:nth-child(3){top:-14px;left:-60px;animation-delay:.08s}
.hxClaw.big i{height:14px}
.hxBlood{position:absolute;width:0;height:0;z-index:7;pointer-events:none}
.hxBlood i{position:absolute;left:-5px;top:-5px;width:10px;height:13px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:#d8102e;transform:scale(var(--s));animation:hxB .62s cubic-bezier(.3,.6,.6,1) forwards}
@keyframes hxB{0%{transform:translate(0,0) scale(var(--s));opacity:1}100%{transform:translate(var(--dx),calc(var(--dy) + 40px)) scale(var(--s));opacity:0}}
.hxBoom{position:absolute;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;z-index:7;pointer-events:none;background:radial-gradient(circle,#fff 0,#ffe08a 25%,#ff7a1a 55%,#d8261a 72%,transparent 74%);animation:hxBo .5s ease-out forwards}
.hxBoom.big{width:90px;height:90px;margin:-45px 0 0 -45px}
@keyframes hxBo{0%{transform:scale(.2);opacity:1}40%{transform:scale(2.4);opacity:1}100%{transform:scale(3.1);opacity:0}}
.hxEmber{position:absolute;width:0;height:0;z-index:8;pointer-events:none}
.hxEmber i{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:#ffd23f;box-shadow:0 0 8px #ff7a1a;animation:hxS .7s ease-out forwards}
.hxSmoke{position:absolute;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;z-index:6;pointer-events:none;background:radial-gradient(circle,#4a3a3a99,transparent 70%);animation:hxSm .9s .15s ease-out forwards;opacity:0}
@keyframes hxSm{0%{transform:scale(.5);opacity:.8}100%{transform:scale(2) translateY(-30px);opacity:0}}
.ono.fire{color:#ffd23f!important;-webkit-text-stroke-color:#a8281e!important}
.hxFrost{position:absolute;width:50px;height:50px;margin:-25px 0 0 -25px;border-radius:50%;z-index:7;pointer-events:none;border:6px solid #e8fbff;box-shadow:0 0 18px #6fd3ff,inset 0 0 18px #6fd3ff;animation:hxR .5s ease-out forwards}
.hxIce{position:absolute;width:0;height:0;z-index:8;pointer-events:none}
.hxIce i{position:absolute;left:-7px;top:-12px;width:14px;height:24px;background:linear-gradient(135deg,#fff,#9fe4ff 50%,#4aa8e8);clip-path:polygon(50% 0,100% 40%,50% 100%,0 40%);transform:rotate(var(--rt));animation:hxIc .62s ease-out forwards}
@keyframes hxIc{0%{transform:translate(0,0) rotate(var(--rt)) scale(1.2);opacity:1}100%{transform:translate(var(--dx),var(--dy)) rotate(calc(var(--rt) + 180deg)) scale(.5);opacity:0}}
.hxBolt{position:absolute;width:0;height:0;z-index:8;pointer-events:none}
.hxBolt svg{position:absolute;left:-46px;top:-310px;filter:drop-shadow(0 0 10px #b46bff) drop-shadow(0 0 4px #fff);animation:hxBt .36s steps(3) forwards}
@keyframes hxBt{0%{opacity:1}50%{opacity:.4}75%{opacity:1}100%{opacity:0}}
.hxZap{position:absolute;width:160px;height:160px;margin:-80px 0 0 -80px;border-radius:50%;z-index:6;pointer-events:none;background:radial-gradient(circle,#fff,#e8d0ff88 35%,transparent 70%);animation:hxR .3s ease-out forwards}
.hxStar{position:absolute;width:0;height:0;z-index:8;pointer-events:none}
.hxStar i{position:absolute;left:-10px;top:-10px;width:20px;height:20px;background:#fff;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);filter:drop-shadow(0 0 6px #ff8ce8);animation:hxSt .7s ease-out forwards}
@keyframes hxSt{0%{transform:translate(0,0) scale(0) rotate(0);opacity:1}30%{transform:translate(calc(var(--dx)*.5),calc(var(--dy)*.5)) scale(var(--s)) rotate(90deg);opacity:1}100%{transform:translate(var(--dx),var(--dy)) scale(0) rotate(180deg);opacity:0}}
.hxPop{position:absolute;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;z-index:7;pointer-events:none;background:radial-gradient(circle,#fff,var(--c) 60%,transparent 70%);animation:hxR .36s ease-out forwards}
.hxShield{position:absolute;width:120px;height:120px;margin:-60px 0 0 -60px;z-index:7;pointer-events:none;background:radial-gradient(circle,transparent 45%,#8fd4ff99 60%,transparent 72%);clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);animation:hxR .5s ease-out forwards}
/* 4.0 状态叠满发金光 */
.st[data-st].full{border-color:#c8901e;box-shadow:0 0 0 2px #ffd23f,0 0 14px #ffd23f,0 2px 0 var(--ink);animation:stFull 1.2s ease-in-out infinite}
.st[data-st].full b{background:#ffd23f;color:#5a3a00}
@keyframes stFull{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.12);filter:brightness(1.25)}}
.hxFrost.wat{border-color:#d8f0ff;box-shadow:0 0 18px #4aa8ff,inset 0 0 18px #4aa8ff}
.hxIce.rock i{background:linear-gradient(135deg,#f3d8a8,#b8864a 50%,#6a4a28);clip-path:polygon(20% 0,90% 15%,100% 70%,45% 100%,0 60%)}

/* 4.0 新状态教学卡 */
#stIntro{position:absolute;right:18px;top:150px;z-index:9;width:330px;padding:12px 16px 12px;border-radius:14px;background:#fff8ea;color:var(--ink);border:4px solid var(--ink);box-shadow:6px 6px 0 var(--p5r,#e8463a);transform:translateX(120%);transition:transform .35s cubic-bezier(.2,1.2,.4,1)}
#stIntro.on{transform:none}
#stIntro .stTag{display:inline-block;padding:0 10px;background:var(--p5r,#e8463a);color:#fff;font:400 14px "NW Black",sans-serif;font-style:normal;letter-spacing:2px}
#stIntro .stRow{display:flex;align-items:center;gap:10px;margin:8px 0 4px}
#stIntro .stRow .sts,.stItem .sts{margin:0;min-height:0;max-width:none}
#stIntro .stRow b{font-size:24px}
#stIntro p{margin:0 0 8px;font-size:15px;line-height:1.5}
#stIntro .stBtns{display:flex;gap:10px;justify-content:flex-end}
.stList{position:absolute;left:60px;right:60px;top:120px;bottom:90px;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;align-content:start}
.stItem{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:#fff8ea;border:3px solid var(--ink);color:var(--ink)}
.stItem.bad{background:#fff0f0}
.stItem b{font-size:19px}.stItem em{margin-left:8px;font-size:12px;font-style:normal;opacity:.6}
.stItem p{margin:2px 0 0;font-size:14px;line-height:1.45}

/* 4.0 受击更明显：白闪更久、后退更远；血条白色那段停一下再慢慢追上 */
.hpbar u{background:#fff!important;transition:width .9s cubic-bezier(.4,0,.2,1)!important;box-shadow:0 0 6px #fff}
.en.hit .body img,.en.bossEn.hit .body img{animation:hitA4 .42s!important}
@keyframes hitA4{0%{filter:brightness(4) saturate(0);transform:translateX(0) scale(1)}10%{filter:brightness(4) saturate(0);transform:translateX(34px) scale(.9,1.08) rotate(7deg)}22%{filter:brightness(3) saturate(0);transform:translateX(30px) scale(.92,1.06) rotate(6deg)}45%{filter:brightness(1.2);transform:translateX(-8px) scale(1.04,.96) rotate(-2deg)}100%{filter:none;transform:none}}
.en.hitBig .body img{animation:hitB4 .6s cubic-bezier(.2,.8,.3,1)!important}
@keyframes hitB4{0%{filter:brightness(5) saturate(0);transform:none}12%{filter:brightness(5) saturate(0);transform:translateX(60px) scale(.82,1.16) rotate(12deg)}28%{filter:brightness(2.4) saturate(0);transform:translateX(52px) scale(.86,1.12) rotate(10deg)}55%{filter:brightness(1.2);transform:translateX(-10px) scale(1.05,.95) rotate(-3deg)}100%{filter:none;transform:none}}

/* 4.0 真结局相关 */
#bg.dream .bgPhoto,#bg.dream .mPhoto,#bg.dream .scene{filter:hue-rotate(235deg) saturate(.7) brightness(.95) blur(1px)!important}
#bg.dream::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,#d8c8ff22,#2a1a4a88 80%);pointer-events:none}
.endBox.chapter h1{font-size:64px;letter-spacing:8px}
.endBox.chapter.dream{filter:hue-rotate(200deg)}
.en.corrupt .body img{filter:drop-shadow(0 0 16px #b84aff) drop-shadow(0 0 30px #5a0a8a) saturate(.7) hue-rotate(-20deg)!important}
.mn.t-C{background:#3a1a4a!important;box-shadow:0 0 0 4px #b84aff,0 0 18px #b84aff!important}
#credits{position:absolute;inset:0;z-index:200;background:#07050c;overflow:hidden;animation:fDim .8s ease}
#credits.out{opacity:0;transition:opacity .7s}
#credits .crRoll{position:absolute;left:0;right:0;top:100%;text-align:center;color:#f3e6c8;animation:crRoll 30s linear forwards}
#credits h3{margin:26px 0 6px;font:400 34px "NW Black","NW Serif",sans-serif;color:#ffd23f;letter-spacing:4px}
#credits p{margin:4px 0;font-size:20px;line-height:1.6}
#credits .crSkip{position:absolute;right:20px;bottom:18px}
@keyframes crRoll{to{transform:translateY(calc(-100% - 760px))}}
.hofBtn{position:absolute;right:24px;top:228px;z-index:5;padding:8px 18px;border:3px solid #111;background:linear-gradient(#fff3a8,#ffd23f);font:400 18px "NW Black",sans-serif;color:#111;box-shadow:4px 4px 0 #e8463a;transform:skewX(-10deg);cursor:pointer}
.hofList{position:absolute;left:120px;right:120px;top:130px;bottom:90px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}
.hofRow{display:flex;align-items:center;gap:18px;padding:8px 18px;background:#fff8ea;border:3px solid #111;color:#111;box-shadow:4px 4px 0 #ffd23f;font-size:16px}
.hofRow img{width:54px;height:54px;object-fit:contain}.hofRow b{font-size:20px;min-width:100px}.hofRow small{margin-left:auto;opacity:.7}

.mn img.sil{filter:brightness(0) drop-shadow(0 0 3px #b84aff)!important}

#memoFx .memoT{left:auto!important;right:20px;top:66px!important;transform:rotate(1.5deg)!important;text-align:right;font-size:22px!important}
#memoFx .memoT small{display:block;font-size:14px;letter-spacing:1px;opacity:.75}
#memoTip{pointer-events:auto!important;cursor:pointer}
#memoTip .mtX{position:absolute;right:10px;top:4px;font-size:22px;color:#4a3420}
.blessSay{cursor:pointer}

.gtag.aqfav{background:linear-gradient(90deg,#fff3a8,#ffd23f)!important;color:#5a3a00!important}

.en.dreamy .body img{opacity:.78;filter:hue-rotate(230deg) saturate(.7) drop-shadow(0 0 12px #b8a8ff)!important}
.en.dreamy .ename{background:#4a3a7a!important}

/* SS 悬赏：彩色边框 */
.qSS{position:relative;display:flex;gap:14px;align-items:flex-start;margin-bottom:10px;padding:10px 14px;border-radius:12px;color:var(--ink);cursor:pointer;border:4px solid transparent;background:linear-gradient(#fff8ea,#fff8ea) padding-box,linear-gradient(90deg,#ff4a4a,#ffd23f,#6aff8a,#4ad8ff,#b84aff,#ff4ad8,#ff4a4a) border-box;background-size:100% 100%,300% 100%;animation:ssB 3s linear infinite;box-shadow:0 3px 0 var(--ink)}
@keyframes ssB{to{background-position:0 0,300% 0}}
.qSS i{flex:none;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:900 20px var(--num);font-style:normal;color:#111;background:linear-gradient(135deg,#fff3a8,#ffd23f,#ff8ce8);border:3px solid #fff;box-shadow:0 0 14px #ffd23f}
.qSS b{font-size:18px;color:var(--ink)}.qSS p{margin:4px 0;font-size:14px;line-height:1.45;color:var(--ink)}.qSS small{font-size:12px;color:#6a3a9a}
.qSS.taken{cursor:default;opacity:.85}.qSS.big{max-width:440px;margin:6px auto 10px;text-align:left}
.mn.hidR{box-shadow:0 0 0 4px #fff,0 0 0 8px #b84aff,0 0 22px #ffd23f!important;animation:hidR 1.6s ease-in-out infinite}
@keyframes hidR{0%,100%{filter:hue-rotate(0)}50%{filter:hue-rotate(120deg)}}
.mn.t-H{background:#1a1426!important}
.spareBox p{font-size:18px;line-height:1.6;text-align:center}
/* 4.1 金宝箱 */
.mn.t-t.gold{background:radial-gradient(circle,#fff6c0,#ffc93a)!important;box-shadow:0 0 0 3px #fff3a0,0 0 18px 4px rgba(255,205,40,.85)!important;animation:gcPulse 1.4s ease-in-out infinite}
.mn.t-t.gold.past,.mn.t-t.gold.visited{animation:none}
@keyframes gcPulse{50%{box-shadow:0 0 0 3px #fff3a0,0 0 28px 9px rgba(255,205,40,.95)}}
.mico .cgRay{transform-origin:32px 30px;animation:cgSpin 4s linear infinite}
@keyframes cgSpin{to{transform:rotate(360deg)}}
.chestBig .mico{width:100%;height:100%}
.chestBig.t2 .ico{filter:drop-shadow(0 0 10px #ffd23f)}
.rwList.many{gap:7px;margin-top:10px}.rwList.many .rwItem{height:52px;font-size:21px}.rwList.many .rwItem .ic{width:40px;height:40px}
.chestBig.t2{width:100px;height:100px}
.uiBtns{display:flex;gap:6px}.uiBtns .uiBuy{flex:1}
.uiTog{flex:1;font:800 15px var(--body);padding:6px 4px;border-radius:10px;border:3px solid var(--ink);background:#d9d2c0;color:#5a4a3a;cursor:pointer;box-shadow:0 3px 0 var(--ink)}
.uiTog.on{background:#7ad36b;color:var(--ink)}
.upItem.off{opacity:.62}.upItem.off .uiH span{filter:grayscale(1)}
.pkw,.shopItem{position:relative}
.newTag{position:absolute;top:-8px;left:50%;transform:translateX(-50%) rotate(-3deg);z-index:6;font:900 13px/1 var(--body);font-style:normal;color:#fff;background:#e5191c;border:2px solid var(--ink);padding:3px 7px;border-radius:6px;white-space:nowrap;box-shadow:0 2px 0 var(--ink);pointer-events:none}
.cxF{position:absolute;top:144px;left:0;right:0;display:flex;justify-content:center;flex-wrap:wrap;gap:10px;padding:0 12px}
.cxF span{display:flex;gap:3px;background:#0005;padding:3px;border-radius:9px}
.cxF button{padding:1px 9px;border-radius:7px;font:700 13px var(--body);color:var(--milk);background:#3b2d74;border:2px solid var(--ink)}
.cxF button.on{color:var(--ink);background:#ffe08a}
.cxNone{grid-column:1/-1;text-align:center;color:var(--milk);font:700 18px var(--body);margin-top:40px}
.en.bossEn .sts{flex-wrap:wrap-reverse;max-height:150px;flex-direction:column;align-content:flex-start;transform:translateX(-100%) translateX(52px)}
.en:not(.bossEn) .sts{max-width:200px}
.st.pwc b{font:800 12px var(--body);margin-left:3px}.st.pwc i{font-style:normal;font-size:11px}
/* 4.1 性能：天气、发光改成只动 transform/opacity，不再每帧重画整屏 */
#wxfx{overflow:hidden}
.wx-rain,.wx-storm,.wx-snow,.wx-wind{background:none!important;-webkit-mask:none!important;mask:none!important;animation:none!important}
.wx-rain::before,.wx-storm::before{content:"";position:absolute;inset:-240px;background-image:repeating-linear-gradient(105deg,transparent 0 22px,rgba(190,215,255,.35) 22px 24px,transparent 24px 60px);background-size:120px 120px;animation:rainT .45s linear infinite;will-change:transform}
@keyframes rainT{to{transform:translate(-30px,120px)}}
.wx-snow::before{content:"";position:absolute;inset:-360px;background-image:radial-gradient(circle at 20px 30px,#fff 0 4px,transparent 5px),radial-gradient(circle at 80px 90px,#fff 0 3px,transparent 4px),radial-gradient(circle at 140px 20px,#fff 0 5px,transparent 6px),radial-gradient(circle at 170px 140px,#fff 0 3px,transparent 4px);background-size:200px 180px;animation:snowT 6s linear infinite;will-change:transform}
@keyframes snowT{to{transform:translate(40px,180px)}}
.wx-wind::before{content:"";position:absolute;inset:0 -300px 0 -300px;background-image:repeating-linear-gradient(0deg,transparent 0 70px,rgba(255,255,255,.18) 70px 72px,transparent 72px 140px);background-size:300px 140px;-webkit-mask:repeating-linear-gradient(90deg,#000 0 120px,transparent 120px 300px);mask:repeating-linear-gradient(90deg,#000 0 120px,transparent 120px 300px);animation:windT .6s linear infinite;will-change:transform}
@keyframes windT{to{transform:translateX(-300px)}}
.fighter .body img{will-change:transform}
.en.tg .body img{animation:idle 2.6s ease-in-out infinite;filter:drop-shadow(0 0 2px #fff6c8) drop-shadow(0 0 9px rgba(255,210,63,.9))}
.mn.t-t.gold{animation:none}
.mn.t-t.gold::after{content:"";position:absolute;inset:-10px;border-radius:50%;background:radial-gradient(circle,rgba(255,220,60,.75),rgba(255,200,40,0) 70%);z-index:-1;animation:gcGlow 1.4s ease-in-out infinite;pointer-events:none}
@keyframes gcGlow{50%{opacity:.35;transform:scale(1.15)}}
.letter .ltBody p.li{text-indent:-1em;padding-left:1em;font-size:17px;line-height:30px}
.letter .ltBody:has(p.li){background:none}
/* ===== 4.1 展示卡：全图卡面 + 跟手倾斜 + 镭射 ===== */
#cinfo.tcgMode .rvCard{transition:none;--mx:50%;--my:50%;--px:0px;--py:0px;--hyp:0;touch-action:none;will-change:transform}
#cinfo.tcgMode.flipped .rvFlip{transform:rotateY(0) scale(1)}
#cinfo.tcgMode .rvFlip{transform:rotateY(180deg) scale(.55)}
#cinfo.tcgMode .rvBack{border-radius:22px;border:10px solid #f4f4ff;box-shadow:0 0 0 3px #111,0 18px 40px #000a}
#cinfo.tcgMode.one .rvNav{display:none}
#cinfo.tcgMode .rvStage{gap:64px}
.tcg{position:relative;width:384px;height:540px;padding:11px;border-radius:24px;background:linear-gradient(135deg,#fafaff 0%,#8f9ab8 22%,#ffffff 42%,#6f7a9c 62%,#eef0ff 82%,#9aa6c8 100%);box-shadow:0 0 0 2px #15131f,0 22px 50px rgba(0,0,0,.65);user-select:none;-webkit-user-select:none}
.tcg.tr-R{background:linear-gradient(135deg,#eaf4ff,#4f8dff 25%,#ffffff 45%,#2f6fe0 65%,#cfe4ff)}
.tcg.tr-E,.tcg.tr-X{background:linear-gradient(135deg,#f6ecff,#a05cff 25%,#ffffff 45%,#6a3fd8 65%,#ffd0f4 85%,#7fd8ff)}
.tcg.tr-L,.tcg.tgold{background:linear-gradient(135deg,#fff8d8,#f2b21e 22%,#fffbe8 42%,#c8860e 62%,#ffe58a 82%,#fff)}
.tcg.tr-P{background:linear-gradient(135deg,#f4ecff,#b392ff 30%,#fff 50%,#8a68e0 70%,#e8dcff)}
.tcgIn{position:relative;width:100%;height:100%;border-radius:14px;overflow:hidden;background:#0c1030;isolation:isolate;--s1:#1a2a78;--s2:#3f7fd8;--s3:#9fd8ff;--h1:#274a9a;--h2:#16306e;--mc:#eaf4ff}
.tf-frog .tcgIn{--s1:#0e3a4a;--s2:#1f8a78;--s3:#a8f0c0;--h1:#2a7a4a;--h2:#14502e;--mc:#f0ffe0}
.tf-horse .tcgIn{--s1:#5a1f4a;--s2:#e0703a;--s3:#ffd98a;--h1:#a8542a;--h2:#6a2e1e;--mc:#fff0c8}
.tf-chick .tcgIn{--s1:#2a6ab8;--s2:#7fc8f0;--s3:#fff3b0;--h1:#e8b83a;--h2:#b8801e;--mc:#fffbe0}
.tf-cat .tcgIn{--s1:#4a2a7a;--s2:#d86aa8;--s3:#ffd0e0;--h1:#a84a8a;--h2:#6a2a66;--mc:#fff0f6}
.tf-pal .tcgIn{--s1:#24185a;--s2:#6a4ad0;--s3:#d0c0ff;--h1:#4a34a0;--h2:#2a1c6a;--mc:#f0eaff}
.tf-magic .tcgIn,.tf-blood .tcgIn{--s1:#1a0c3a;--s2:#7a2a8a;--s3:#ff9ac0;--h1:#5a1a5a;--h2:#30103a;--mc:#ffe0ea}
.tBg{position:absolute;inset:-16px;background:radial-gradient(2px 2px at 12% 9%,#fff,transparent 60%),radial-gradient(1.5px 1.5px at 28% 21%,#fff,transparent 60%),radial-gradient(2px 2px at 44% 6%,#fff,transparent 60%),radial-gradient(1.5px 1.5px at 8% 33%,#fff,transparent 60%),radial-gradient(2.5px 2.5px at 36% 38%,#fffbe0,transparent 60%),radial-gradient(1.5px 1.5px at 58% 17%,#fff,transparent 60%),radial-gradient(2px 2px at 90% 44%,#fff,transparent 60%),radial-gradient(1.5px 1.5px at 20% 50%,#fff,transparent 60%),radial-gradient(ellipse 120% 60% at 30% 62%,rgba(255,255,255,.22),transparent 70%),linear-gradient(180deg,var(--s1) 0%,var(--s2) 52%,var(--s3) 100%);transform:translate(calc(var(--px)*-.35),calc(var(--py)*-.35))}
.tMoon{position:absolute;right:-34px;top:34px;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle at 38% 36%,rgba(255,255,255,.95) 0 8%,transparent 9%),radial-gradient(circle at 62% 58%,rgba(120,150,210,.28) 0 14%,transparent 15%),radial-gradient(circle at 30% 68%,rgba(120,150,210,.22) 0 10%,transparent 11%),radial-gradient(circle at 66% 28%,rgba(120,150,210,.2) 0 8%,transparent 9%),radial-gradient(circle at 40% 40%,#fff 0,var(--mc) 55%,rgba(255,255,255,.75) 100%);box-shadow:0 0 50px 14px rgba(255,255,255,.35);opacity:.92;transform:translate(calc(var(--px)*-.6),calc(var(--py)*-.6))}
.tHill{position:absolute;left:-20px;right:-20px;bottom:-10px;height:46%;background:radial-gradient(ellipse 62% 78% at 18% 100%,var(--h1) 0 99%,transparent 100%),radial-gradient(ellipse 70% 62% at 88% 100%,var(--h1) 0 99%,transparent 100%);filter:brightness(1.12);transform:translate(calc(var(--px)*.2),calc(var(--py)*.2))}
.tHill.h2{height:30%;background:radial-gradient(ellipse 90% 100% at 50% 100%,var(--h2) 0 99%,transparent 100%),radial-gradient(ellipse 50% 70% at 0% 100%,var(--h2) 0 99%,transparent 100%);filter:none;transform:translate(calc(var(--px)*.45),calc(var(--py)*.45))}
.tArt{position:absolute;left:0;right:0;top:66px;bottom:150px;display:flex;align-items:flex-end;justify-content:center;transform:translate(var(--px),var(--py));z-index:2}
.tArt img{max-width:104%;max-height:100%;object-fit:contain;filter:drop-shadow(0 10px 0 rgba(8,10,40,.35)) drop-shadow(0 0 18px rgba(255,255,255,.35));pointer-events:none}
.tlk .tArt img{filter:brightness(0) drop-shadow(0 0 2px #fff) opacity(.75)}
.tTop{position:absolute;left:0;right:0;top:0;height:62px;display:flex;align-items:center;gap:8px;padding:0 12px 0 10px;z-index:4;background:linear-gradient(180deg,rgba(8,10,40,.5),transparent)}
.tStage{flex:none;font:900 13px/1 'NW Black',sans-serif;font-style:italic;color:#fff;background:linear-gradient(180deg,#8b93a8,#4a5068);border:2px solid #fff;border-radius:7px;padding:4px 8px;transform:skewX(-10deg);box-shadow:0 2px 0 #15131f}
.tName{flex:1;min-width:0;font:900 30px/1 'NW Black',sans-serif;color:#15131f;-webkit-text-stroke:5px #fff;paint-order:stroke fill;white-space:nowrap;overflow:hidden;letter-spacing:1px;padding:6px 3px}
.tCost{flex:none;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:900 26px/1 var(--num,'NW Black');color:#fff;background:radial-gradient(circle at 35% 30%,#fff 0 9%,#6f8cff 10%,#2a3fb8 70%,#15206a);border:3px solid #fff;box-shadow:0 0 0 2px #15131f,0 3px 8px #0008;-webkit-text-stroke:1px #15131f}
.tFx{position:absolute;left:0;right:0;bottom:44px;padding:26px 18px 12px;z-index:4;background:linear-gradient(180deg,transparent,rgba(8,10,40,.62) 38%,rgba(8,10,40,.78))}
.tFx p{font:700 17px/1.45 var(--body,sans-serif);color:#fff;text-shadow:0 1px 0 #0a0c28,0 0 6px #0a0c28,0 0 2px #0a0c28;text-align:center}
.tFoot{position:absolute;left:0;right:0;bottom:0;height:44px;display:flex;align-items:center;gap:8px;padding:0 14px;z-index:4;background:rgba(8,10,40,.78)}
.tStars{font-size:17px;color:#ffd23f;text-shadow:0 0 0 #000,0 1px 0 #7a5200;letter-spacing:1px;flex:none}
.tNo{font:800 11px/1 var(--num,sans-serif);color:#c8d0f0;flex:none;opacity:.9}
.tFl{flex:1;min-width:0;font:600 10.5px/1.3 var(--body,sans-serif);font-style:normal;color:#e8ecff;text-align:right;opacity:.92;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tFoil,.tSpark,.tGlare{position:absolute;inset:0;pointer-events:none;z-index:6}
.tGlare{background:radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.8) 0,rgba(255,255,255,.28) 22%,rgba(255,255,255,0) 58%);mix-blend-mode:overlay;opacity:calc(.35 + var(--hyp)*.65)}
.tFoil{display:none;mix-blend-mode:color-dodge;background-image:repeating-linear-gradient(112deg,#ff3fd0 0%,#ffe24a 9%,#5aff8a 18%,#3fd0ff 27%,#b05aff 36%,#ff3fd0 45%);background-size:340% 340%;background-position:var(--mx) var(--my);filter:brightness(.62) contrast(1.5) saturate(1.3);opacity:calc(.18 + var(--hyp)*.5)}
.tr-R .tFoil{display:block;background-image:repeating-linear-gradient(112deg,transparent 0 6%,rgba(120,190,255,.9) 8%,rgba(255,255,255,.9) 9%,rgba(120,190,255,.9) 10%,transparent 12% 18%);opacity:calc(.12 + var(--hyp)*.45)}
.tr-E .tFoil,.tr-X .tFoil,.tr-P .tFoil,.tr-L .tFoil,.tsh .tFoil{display:block}
.tr-L .tFoil,.tsh .tFoil{opacity:calc(.3 + var(--hyp)*.55)}
.tgold .tFoil{background-image:repeating-linear-gradient(112deg,#fff3a8 0%,#ffb81e 10%,#fffbe0 20%,#c8860e 30%,#fff3a8 40%)}
.tSpark{display:none;mix-blend-mode:color-dodge;background-image:radial-gradient(1.6px 1.6px at 10% 20%,#fff,transparent 70%),radial-gradient(2px 2px at 34% 62%,#fff,transparent 70%),radial-gradient(1.4px 1.4px at 58% 12%,#fff,transparent 70%),radial-gradient(2.2px 2.2px at 76% 46%,#fff,transparent 70%),radial-gradient(1.6px 1.6px at 90% 82%,#fff,transparent 70%),radial-gradient(1.8px 1.8px at 22% 88%,#fff,transparent 70%),radial-gradient(1.5px 1.5px at 48% 36%,#fff,transparent 70%);background-size:78px 92px;-webkit-mask-image:radial-gradient(circle at var(--mx) var(--my),#000 0,rgba(0,0,0,.5) 30%,transparent 62%);mask-image:radial-gradient(circle at var(--mx) var(--my),#000 0,rgba(0,0,0,.5) 30%,transparent 62%)}
.tr-L .tSpark,.tr-E .tSpark,.tr-X .tSpark,.tsh .tSpark{display:block}
#cinfo.tcgMode .rvFront{border-radius:24px}
#cinfo.tcgMode.flipped .rvFront::after{content:"";position:absolute;inset:0;border-radius:24px;background:#fff;opacity:0;pointer-events:none;animation:tcgFlash .7s .25s ease-out}
@keyframes tcgFlash{0%{opacity:.95}100%{opacity:0}}
