/* =====================================================================
 * 末日荒野 · 横屏运营版 V1.55.0（全站横屏 UI 接管层）
 * 原则：全站锁定横向、禁止任何页面纵向滚动（弹窗内除外）、
 *       取消旧导航、功能入口收敛到「后街」独立全屏建筑页、
 *       首页=英雄展示+运营位、战斗=全屏迷你 HUD。
 * 本文件不依赖也不使用 transform:scale 做任何视图缩放。
 * ===================================================================== */

:root {
  --wll-top-h: 38px;
  --wll-gap: 6px;
  --wll-panel: rgba(13, 17, 10, 0.96);
  --wll-line: #435434;
  --wll-gold: #ffd76a;
  --wll-acc: #8fd14f;
}

/* ---------- ① 全局锁屏：只许横向手势，禁止页面级纵向滚动 ---------- */
html {
  height: 100%;
  width: 100%;
  overflow: hidden !important;
  overscroll-behavior: none !important;
  -webkit-overflow-scrolling: auto;
}
body {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden !important;
  overscroll-behavior: none !important;
  -webkit-overflow-scrolling: auto;
  touch-action: pan-x pan-y pinch-zoom;
  background: #0b0e08;
}

.wl-app {
  max-width: none !important;
  margin: 0 !important;
  padding: var(--wll-top-h) 0 0 !important;
  height: 100vh;
  height: 100dvh;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden !important;
  touch-action: pan-x pan-y pinch-zoom;
}

/* 取消顶部旧导航 / 底部旧导航 */
.wl-top, .wl-bottom { display: none !important; }

.wl-view { margin-top: 0 !important; }
.wl-view.active {
  position: relative;
  height: calc(100vh - var(--wll-top-h));
  height: calc(100dvh - var(--wll-top-h));
  overflow: hidden !important;
  box-sizing: border-box;
  touch-action: pan-x pan-y pinch-zoom;
}

/* 通用紧凑 */
.wl-view .wl-h1 { font-size: .74rem; margin-bottom: 3px; gap: 5px; }
.wl-view .wl-sub { font-size: .54rem; margin-bottom: 4px; line-height: 1.4; }
.wl-view .wl-sec { padding: 5px 7px; margin-bottom: 5px; border-radius: 8px; }
.wl-view .wl-sec-t { font-size: .66rem; margin-bottom: 3px; }
.wl-view .wl-sec-d { font-size: .54rem; line-height: 1.42; }
.wl-view .wl-btn { padding: 4px 9px; font-size: .6rem; }
.wl-view .wl-btn.small { padding: 3px 7px; font-size: .56rem; }
.wl-view .wl-tab { padding: 4px 9px; font-size: .58rem; }
.wl-view .wl-chip { padding: 2px 6px; font-size: .54rem; gap: 2px; }
.wl-view .wl-chip b { font-size: .58rem; }
.wl-view .wl-tag { font-size: .48rem; padding: 1px 4px; }
.wl-view .wl-tabs { gap: 4px; margin-bottom: 4px; }
.wl-view .wl-row { gap: 4px; }

/* ---------- ② 横屏顶栏（38px；消费引导锁定首页右上方） ---------- */
.wll-top {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: var(--wll-top-h);
  z-index: 96;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 3px max(8px, env(safe-area-inset-left)) 3px 8px;
  background: linear-gradient(180deg, rgba(11, 14, 9, .99), rgba(19, 24, 13, .97));
  border-bottom: 1px solid #3f5030;
  box-shadow: 0 3px 10px rgba(0, 0, 0, .45);
  box-sizing: border-box;
}
body.wll-battle .wll-top,
body.on-alley .wll-top { display: none; }

.wll-logo {
  flex: 0 0 auto;
  font-size: .78rem; font-weight: 800; color: var(--wll-acc);
  text-shadow: 0 0 10px rgba(143, 209, 79, .45);
  white-space: nowrap;
}
.wll-srv {
  flex: 0 0 auto;
  font-size: .52rem; font-weight: 800; letter-spacing: .02em;
  color: #ffd76a; background: linear-gradient(180deg, #35280f, #201705);
  border: 1px solid #71531e; border-radius: 999px; padding: 2px 7px;
  white-space: nowrap; box-shadow: 0 0 8px rgba(255, 190, 70, .25);
}
.wll-top .wl-vip {
  flex: 0 0 auto;
  font-size: .52rem; padding: 2px 7px;
  border-radius: 999px;
  white-space: nowrap;
}

/* 资源条（原 .wl-res 迁入） */
.wll-top .wl-res {
  display: flex; gap: 3px; margin: 0;
  flex: 0 1 auto; min-width: 0; overflow: hidden; flex-wrap: nowrap;
}
.wll-top .wl-chip {
  padding: 2px 6px; font-size: .52rem; gap: 2px;
  white-space: nowrap; border-radius: 999px;
}
.wll-top .wl-chip b { font-size: .56rem; }
.wll-top .res-plus { font-size: .56rem; padding: 0 2px; line-height: 1; }

.wll-aux { display: flex; gap: 3px; flex: 0 0 auto; margin-left: auto; }
.wll-top .wl-tbtn, .wll-home {
  padding: 3px 7px; font-size: .56rem; border-radius: 6px;
  background: #1b2313; border: 1px solid #3f5030; color: #dbe4c8; cursor: pointer;
  line-height: 1.2; white-space: nowrap;
}
.wll-top.on-main .wll-home { display: none; }

/* 消费引导簇：首充 / 充值 / 福利（仅首页右上） */
.wll-cons { display: none; gap: 5px; flex: 0 0 auto; }
.wll-top.on-main .wll-cons { display: flex; }
.wll-cons-i {
  position: relative;
  display: inline-flex; align-items: center; gap: 3px;
  border-radius: 7px; padding: 3px 8px;
  font-size: .56rem; font-weight: 800; cursor: pointer;
  background: linear-gradient(180deg, #26321a, #161f10);
  border: 1px solid #435434; color: #e2e7d3;
  white-space: nowrap;
}
.wll-cons-i b { font-style: normal; font-size: .74rem; }
.wll-cons-i.first {
  background: linear-gradient(180deg, #ffd88a, #e8a33d);
  border-color: #ffe6b0; color: #2a1c03;
  box-shadow: 0 0 12px rgba(255, 200, 90, .55);
  animation: wllFirstPulse 1.6s ease-in-out infinite;
}
.wll-cons-i.wf { border-color: #8a6bb8; }
.wll-cons-i.zx { border-color: #71531e; color: #ffd76a; }
@keyframes wllFirstPulse {
  0%, 100% { box-shadow: 0 0 8px rgba(255, 200, 90, .4); }
  50% { box-shadow: 0 0 18px rgba(255, 210, 110, .9); }
}
.wll-dot {
  display: none; position: absolute; top: -3px; right: -3px;
  width: 8px; height: 8px; border-radius: 50%;
  background: #ff2b2b; box-shadow: 0 0 7px #ff2b2b;
}
.wll-dot.on { display: block; animation: vpDot .9s ease-out infinite; }

/* ---------- ③ 首页：左英雄展示 + 右运营栏（无营地网格） ---------- */
#wl-v-main.active {
  display: flex; flex-direction: row; gap: 7px;
  padding: 6px max(8px, env(safe-area-inset-left)) 7px 8px;
  align-items: stretch;
}
#wl-v-main #wl-camp-grid { display: none !important; }

/* 左栏：出战阵容英雄舞台 */
#wl-v-main #wl-camp-stagewrap {
  flex: 1 1 auto; min-width: 0; margin: 0 !important;
  padding: 6px 7px 5px;
  display: flex; flex-direction: column;
  overflow: hidden;
}
#wl-v-main #wl-camp-stagewrap .wl-sec-t { font-size: .6rem; padding-bottom: 2px; margin-bottom: 3px; flex: none; }
#wl-v-main #wl-camp-stagewrap > .wl-row { margin: 5px 0 0 !important; flex: none; }
#wl-v-main #wl-camp-stagewrap .wl-btn { font-size: .58rem; padding: 4px 12px; }
#wl-v-main .wl-hstage-wrap {
  position: relative;
  flex: 1 1 auto; min-height: 0;
  display: flex; align-items: center;
}
#wl-v-main #wl-camp-stage {
  height: 100% !important;
  min-height: 132px;
}
#wl-v-main .hst { width: 64px; }
#wl-v-main .hst-fig { width: 58px; height: 102px; }
#wl-v-main .hst-img, #wl-v-main .wl-bodysvg { max-width: 58px; max-height: 102px; width: 58px; height: 102px; }
#wl-v-main .hst-nm { font-size: .58rem; }
#wl-v-main .hst-sub { font-size: .48rem; }

/* 舞台内右上角福利小簇（原位置，缩小） */
#wl-v-main .wf-corner {
  top: 4px; right: 4px; width: min(44%, 240px);
  gap: 2px 3px; padding: 2px; border-radius: 8px;
}
#wl-v-main .wf-chip { padding: 2px 4px; font-size: .48rem; gap: 2px; }
#wl-v-main .wf-chip .wfc-em { font-size: .58rem; }

/* 右栏：营地信息 / 消费按钮 / 广播 */
.wll-main-right {
  flex: 0 0 30%; max-width: 30%; min-width: 0;
  display: flex; flex-direction: column; gap: 5px;
  overflow: hidden;
}
.wll-main-right .wl-camp-head {
  margin: 0 !important; padding: 6px 8px 5px; border-radius: 9px; flex: none;
}
.wll-main-right .wl-camp-head .t { font-size: .8rem; }
.wll-main-right .wl-camp-head .d { font-size: .52rem; margin-top: 1px; line-height: 1.35; }
.wll-main-right .wl-camp-head .wl-row { margin-top: 4px !important; gap: 4px; flex-wrap: wrap; }
.wll-main-right .wl-chip { font-size: .52rem; padding: 2px 6px; }
.wll-main-right .wl-camp-vipcard { margin-top: 4px; padding: 4px 7px; }
.wll-main-right .wl-camp-vipcard .cv-row { font-size: .54rem; }
.wll-main-right .wll-promo { flex: none; }
.wll-main-right .wl-sec { margin: 0 !important; padding: 5px 7px; border-radius: 9px; }
.wll-main-right .wl-sec:has(#wl-camp-news) {
  flex: 1 1 auto; min-height: 0; overflow: hidden;
}
.wll-main-right #wl-camp-news { font-size: .52rem; line-height: 1.45; }
.wll-main-right .wl-sec-t { font-size: .6rem; padding-bottom: 2px; margin-bottom: 2px; }
.wll-main-right .wl-sec-d { font-size: .52rem; line-height: 1.45; }
.wll-promo { display: flex; gap: 4px; }
.wll-promo .wl-btn {
  flex: 1 1 0; min-width: 0; position: relative;
  font-size: .52rem; padding: 5px 2px; border-radius: 7px;
  white-space: nowrap;
}
.wll-promo .wl-btn .wll-dot { top: 2px; right: 2px; }

/* ---------- ④ 后街：右下角入口按钮 + 独立全屏横向建筑街 ---------- */
.wll-alley-btn {
  position: fixed;
  right: max(10px, env(safe-area-inset-right));
  bottom: max(10px, env(safe-area-inset-bottom));
  z-index: 128;
  width: 58px; height: 58px;
  border-radius: 17px;
  display: none;
  flex-direction: column; align-items: center; justify-content: center;
  gap: 0;
  background: linear-gradient(180deg, #ffd88a, #e8a33d);
  border: 1px solid #ffe6b0;
  color: #2a1c03; font-weight: 800;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .55), 0 0 18px rgba(255, 190, 70, .55);
  cursor: pointer;
}
body.on-main:not(.on-alley) .wll-alley-btn { display: flex; }
.wll-alley-btn .em { font-size: 1.3rem; line-height: 1; }
.wll-alley-btn .tx { font-size: .52rem; line-height: 1.2; }
.wll-alley-btn:active { transform: scale(.94); }

/* 后街独立全屏页 */
.wll-alley-page {
  position: fixed; inset: 0;
  z-index: 150;
  display: none;
  flex-direction: column;
  background:
    radial-gradient(72% 46% at 50% 0%, rgba(143, 209, 79, .12), transparent 62%),
    radial-gradient(56% 40% at 100% 100%, rgba(192, 84, 48, .12), transparent 62%),
    linear-gradient(180deg, #10140c, #0a0d07);
  overflow: hidden;
}
body.on-alley .wll-alley-page { display: flex; }

.wll-alley-hd {
  flex: none;
  display: flex; align-items: center; gap: 8px;
  padding: 6px max(10px, env(safe-area-inset-left)) 6px;
  height: 44px;
  box-sizing: border-box;
  border-bottom: 1px solid #6a5522;
  background: rgba(12, 15, 9, .85);
}
.wll-alley-back {
  flex: none;
  padding: 4px 12px; font-size: .62rem; font-weight: 800;
  border-radius: 8px;
  background: linear-gradient(180deg, #2a3520, #1a2213);
  border: 1px solid #4a5c38; color: #dbe4c8; cursor: pointer;
}
.wll-alley-title {
  flex: none;
  font-size: .78rem; font-weight: 900; letter-spacing: .06em;
  color: #ffd76a;
  text-shadow: 0 0 12px rgba(255, 190, 70, .4);
}
.wll-alley-hint {
  flex: 1; text-align: right;
  font-size: .52rem; color: #7e8a6c;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.wll-alley-track {
  flex: 1 1 auto; min-height: 0;
  display: flex; align-items: center; gap: 10px;
  padding: 10px max(14px, env(safe-area-inset-left));
  overflow-x: auto; overflow-y: hidden;
  touch-action: none;
  scrollbar-width: none;
  overscroll-behavior: contain;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
}
.wll-alley-track::-webkit-scrollbar { display: none; }
.wll-alley-track.grabbing { cursor: grabbing; }
.wll-node {
  position: relative;
  flex: 0 0 auto;
  width: 88px; height: min(72%, 176px); min-height: 126px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 4px;
  border-radius: 14px;
  background: linear-gradient(180deg, #27331c, #141a0f);
  border: 1px solid #4a5c38;
  color: #e4e8d5;
  cursor: pointer;
  box-shadow: 0 5px 14px rgba(0, 0, 0, .4);
}
.wll-node:active { transform: scale(.95); }
.wll-node.hot { border-color: #8a6bb8; box-shadow: 0 0 14px rgba(138, 107, 184, .35); }
.wll-node .wll-em {
  font-size: 2rem; line-height: 1.05;
  filter: drop-shadow(0 3px 5px rgba(0, 0, 0, .6));
}
.wll-node .wll-nm {
  font-size: .58rem; font-weight: 800; white-space: nowrap;
  max-width: 82px; overflow: hidden; text-overflow: ellipsis;
  color: #ffe9c4;
}
.wll-node .wll-ds {
  font-size: .46rem; color: #8f9b7c; white-space: nowrap;
  max-width: 82px; overflow: hidden; text-overflow: ellipsis;
}
.wll-node .wll-dot { top: 5px; right: 5px; }

/* ---------- ⑤ 战斗全屏（迷你 HUD：右上敌方 / 左下我方 / 右下倍速+跳过） ---------- */
body.wll-battle .wll-alley-btn { display: none !important; }

#wl-v-battle.bat3.active {
  position: fixed; inset: 0;
  z-index: 140;
  height: 100vh; height: 100dvh;
  width: 100%;
  margin: 0 !important;
  padding: 4px max(6px, env(safe-area-inset-left)) max(5px, env(safe-area-inset-bottom));
  box-sizing: border-box;
  background: #080b07;
  display: flex; flex-direction: column; gap: 4px;
  overflow: hidden;
}

/* 老式战斗条全部隐藏（内容已由 JS 迁入新 HUD 条） */
#wl-v-battle.bat3.active .bat3-top,
#wl-v-battle.bat3.active .wl-bat-team,
#wl-v-battle.bat3.active .bat3-bottom { display: none !important; }

/* 顶部条：标题/回合在左，敌方 HUD 横排在右（右上角） */
.wll-bat-top {
  flex: none;
  display: flex; align-items: center; gap: 6px;
  min-height: 34px;
}
.wll-bat-top .wll-bat-topl { flex: 1 1 auto; min-width: 0; }
.wll-bat-top #wl-bat-title {
  font-size: .64rem; margin: 0; color: #a9e37a;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.wll-bat-top .bat3-meta { display: flex; gap: 4px; margin-top: 1px; }
.wll-bat-top .bat3-chip { font-size: .46rem; padding: 0 7px; line-height: 1.5; border-radius: 999px; }

/* 战场：占满剩余空间 */
#wl-v-battle.bat3.active .wl-bat-wrap {
  flex: 1 1 auto; min-height: 0;
  position: relative;
}
#wl-v-battle.bat3.active .wl-scene {
  position: absolute; inset: 0;
  width: 100%; height: 100% !important;
  border-radius: 10px;
}

/* 出手顺序轴：场景左上角横向 */
#wl-v-battle.bat3.active .bat3-order {
  top: 5px; left: 5px; right: auto; bottom: auto;
  flex-direction: row; gap: 3px;
}
#wl-v-battle.bat3.active .b3o-i { width: 22px; height: 22px; font-size: .5rem; }

/* 战场单位整体缩小：与 HUD 头像同量级 */
#wl-v-battle.bat3.active .wl2-unit .u-em { font-size: clamp(22px, 3.6vw, 30px) !important; }
#wl-v-battle.bat3.active .wl2-unit .u-img {
  width: clamp(22px, 3.6vw, 30px) !important;
  height: clamp(22px, 3.6vw, 30px) !important;
}
#wl-v-battle.bat3.active .wl2-unit .u-spr {
  transform: scale(.7);
  transform-origin: 50% 100%;
}
#wl-v-battle.bat3.active .wl2-unit .u-nm { font-size: .48rem; }
#wl-v-battle.bat3.active .wl2-unit .u-hp { height: 3px; border-radius: 2px; }

/* 底部条：左下我方 HUD / 技能 / 播报 / 右下倍速+跳过 */
.wll-bat-bottom {
  flex: none;
  display: flex; align-items: center; gap: 6px;
  min-height: 0;
}

/* HUD 单元（迷你卡片） */
.wll-hud {
  flex: none;
  display: flex; gap: 4px;
  pointer-events: none;
}
.wll-unit {
  width: 48px;
  display: flex; flex-direction: column; align-items: center; gap: 2px;
  padding: 3px 3px 3px; border-radius: 7px;
  background: rgba(6, 10, 8, .88);
  border: 1px solid rgba(255, 215, 106, .32);
  box-shadow: 0 2px 7px rgba(0, 0, 0, .5);
}
.wll-hud.en .wll-unit { border-color: rgba(255, 120, 90, .5); }
.wll-unit.dead { opacity: .42; filter: grayscale(.85); }
.wll-unit.act { border-color: #ffd76a; box-shadow: 0 0 8px rgba(255, 215, 106, .65); }
.wll-av {
  width: 22px; height: 22px; border-radius: 5px;
  display: flex; align-items: center; justify-content: center;
  font-size: .88rem;
  background-color: rgba(255, 255, 255, .05);
  background-repeat: no-repeat; background-position: center;
  background-size: auto 100%;
  overflow: hidden;
}
.wll-unit .wll-nm {
  font-size: .4rem; color: #cfe0c0; line-height: 1.1;
  max-width: 44px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.wll-bars { width: 100%; display: flex; flex-direction: column; gap: 1px; }
.wll-bars .wll-row { display: flex; align-items: center; gap: 2px; }
.wll-lb { flex: 0 0 auto; font-size: .4rem; color: #79866a; width: 11px; text-align: right; }
.wll-bar {
  flex: 1; height: 3px; border-radius: 2px;
  background: #241f15; border: 1px solid rgba(0, 0, 0, .45);
  overflow: hidden;
}
.wll-bar i { display: block; height: 100%; transition: width .25s; }
.wll-hp i { background: linear-gradient(90deg, #6fbf3a, #a4e06b); }
.wll-hud.en .wll-hp i { background: linear-gradient(90deg, #b0432a, #e0704c); }
.wll-rg i { background: linear-gradient(90deg, #c9871a, #f0b84a); }
.wll-en {
  flex: 1; font-size: .4rem; color: #ffd76a;
  font-family: 'Courier New', monospace; text-align: left; white-space: nowrap;
}

/* 技能栏（底部条中段） */
#wl-v-battle.bat3.active #wl-bat-skills {
  flex: none;
  display: flex; gap: 3px; width: auto; min-width: 0;
  align-items: center; overflow-x: auto; overflow-y: hidden;
  padding: 0 1px; max-width: 30vw;
  scrollbar-width: none;
}
#wl-v-battle.bat3.active #wl-bat-skills::-webkit-scrollbar { display: none; }
#wl-v-battle.bat3.active #wl-bat-skills .b3-skill { width: 28px; height: 28px; border-radius: 6px; }
#wl-v-battle.bat3.active #wl-bat-skills .b3-skill .sem { font-size: .78rem; line-height: 26px; }
#wl-v-battle.bat3.active #wl-bat-skills .b3-skill .snm { font-size: .36rem; }

/* 播报：底部中央单行 */
#wl-v-battle.bat3.active #wl-bat-log {
  flex: 1 1 auto; min-width: 0;
  height: 20px; margin: 0;
  padding: 2px 6px; font-size: .5rem; line-height: 1.5;
  overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
  border-radius: 6px; text-align: center;
}

/* 右下 dock：倍速 + 跳过战斗（仅此二者） */
#wll-bat-dock {
  flex: none;
  display: flex; flex-direction: column; align-items: flex-end; gap: 3px;
}
#wll-bat-dock .sp { display: flex; gap: 3px; }
#wll-bat-dock .wl-spd { padding: 3px 7px; font-size: .54rem; }
#wll-bat-dock #wl-btn-skip { margin: 0; font-size: .5rem; padding: 3px 7px; }

/* ---------- ⑥ 补给商城：横排页签 + 横向分页（重点修复） ---------- */
#wl-v-shop.active {
  display: flex; flex-direction: column;
  padding: 5px 8px 7px;
}
#wl-v-shop .wl-h1 { flex: none; }
#wl-v-shop .wl-sub { flex: none; font-size: .52rem; margin-bottom: 3px; line-height: 1.35; }
#wl-v-shop .shop-wrap {
  flex: 1 1 auto; min-height: 0;
  display: flex; flex-direction: column; gap: 5px;
}
#wl-shop-side {
  flex: none;
  display: flex; flex-direction: row; flex-wrap: nowrap;
  gap: 5px;
  overflow-x: auto; overflow-y: hidden;
  position: static; top: auto;
  padding: 0 1px 4px;
  scrollbar-width: none;
  touch-action: pan-x;
}
#wl-shop-side::-webkit-scrollbar { display: none; }
#wl-shop-side .shop-tab {
  flex: none;
  display: flex; flex-direction: row; align-items: center; gap: 3px;
  padding: 4px 9px;
  border: 1px solid #4a3c6e; border-radius: 8px;
  font-size: .54rem;
  background: linear-gradient(90deg, #221b31, #100b1a);
  color: #8a6bb8;
}
#wl-shop-side .shop-tab b { font-size: .76rem; line-height: 1; }
#wl-shop-side .shop-tab i { font-style: normal; }
#wl-shop-side .shop-tab.on {
  background: linear-gradient(90deg, #f3d06e, #d4af37);
  color: #3d2200; border-color: #fff;
  box-shadow: 0 0 10px rgba(212, 175, 55, .7);
}

/* 商城内容：横向分页（每页一个 .wl-sec） */
#wl-shop-body {
  flex: 1 1 auto; min-height: 0;
  display: flex; flex-direction: row; gap: 6px;
  overflow-x: auto; overflow-y: hidden;
  scroll-snap-type: x proximity;
  padding: 0 1px 3px;
  touch-action: pan-x;
  scrollbar-width: none;
}
#wl-shop-body::-webkit-scrollbar { display: none; }
#wl-shop-body > .wl-sec {
  flex: 0 0 min(44vw, 430px);
  max-width: min(44vw, 430px);
  margin: 0;
  padding: 5px 7px;
  display: flex; flex-direction: column;
  overflow: hidden;
  scroll-snap-align: start;
  border-radius: 9px;
}
#wl-shop-body > .wl-sec .wl-sec-t { flex: none; font-size: .62rem; margin-bottom: 2px; }
#wl-shop-body > .wl-sec .wl-sec-d { flex: none; font-size: .5rem; line-height: 1.35; margin-bottom: 3px; }
#wl-shop-body .shop-grid {
  flex: 1 1 auto; min-height: 0;
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  grid-auto-columns: minmax(64px, 76px);
  gap: 5px;
  overflow-x: auto; overflow-y: hidden;
  padding: 0 1px 2px;
  scrollbar-width: none;
  touch-action: pan-x;
}
#wl-shop-body .shop-grid::-webkit-scrollbar { display: none; }
#wl-shop-body .shop-cell {
  padding: 3px 2px; gap: 1px; border-radius: 8px;
  display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
  overflow: hidden;
}
#wl-shop-body .shop-cell .sc-ic { width: 30px; height: 30px; }
#wl-shop-body .shop-cell .sc-em { font-size: 1rem; }
#wl-shop-body .shop-cell .sc-nm { font-size: .48rem; line-height: 1.15; }
#wl-shop-body .shop-cell .sc-pr { font-size: .48rem; }
#wl-shop-body .shop-cell .sc-buy { font-size: .46rem; padding: 2px 3px; }
#wl-shop-body .shop-cell .sc-off { font-size: .42rem; }
#wl-shop-body .shop-cell .sc-hot { font-size: .4rem; padding: 1px 3px; }

/* V1.56.1：商城固定头部，切换分类只换商品，不把分类栏滚走 */
#wl-v-shop.active { overflow: hidden; }
#wl-v-shop .shop-wrap { overflow: hidden; }
#wl-shop-side { min-height: 36px; }

/* ---------- ⑦ 福利中心：横排页签 + 横向页 ---------- */
#wl-v-wf.active { display: flex; flex-direction: column; padding: 5px 8px 7px; }
#wl-v-wf .wl-h1, #wl-v-wf .wl-sub { flex: none; }
#wl-v-wf .wl-sub { font-size: .52rem; margin-bottom: 3px; }
#wl-wf-tabs {
  flex: none;
  display: flex; flex-wrap: nowrap; gap: 4px;
  overflow-x: auto; overflow-y: hidden;
  margin: 2px 0 4px;
  scrollbar-width: none;
  touch-action: pan-x;
}
#wl-wf-tabs::-webkit-scrollbar { display: none; }
#wl-wf-tabs .wf-tab {
  flex: none; padding: 3px 9px; font-size: .54rem; border-radius: 7px;
}
#wl-wf-body {
  flex: 1 1 auto; min-height: 0;
  overflow: hidden;
}
#wl-wf-body > .wl-sec {
  height: 100%;
  margin: 0; padding: 5px 7px;
  overflow: hidden;
  display: flex; flex-direction: column;
  border-radius: 9px;
}
#wl-wf-body .wl-sec-t { flex: none; font-size: .62rem; margin-bottom: 2px; }
#wl-wf-body .wl-sec-d { flex: none; font-size: .5rem; line-height: 1.35; }
#wl-wf-body .wf-grid7, #wl-wf-body .wf-grid {
  flex: 1 1 auto; min-height: 0;
  display: grid; grid-auto-flow: column;
  grid-auto-columns: minmax(70px, 92px);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 5px; margin-top: 4px;
  overflow-x: auto; overflow-y: hidden;
  scrollbar-width: none;
  touch-action: pan-x;
}
#wl-wf-body .wf-grid7::-webkit-scrollbar, #wl-wf-body .wf-grid::-webkit-scrollbar { display: none; }
#wl-wf-body .wf-card { padding: 5px 3px 4px; gap: 1px; }
#wl-wf-body .wf-card .wfc-em { font-size: 1.05rem; }
#wl-wf-body .wf-card .wfc-nm { font-size: .54rem; }
#wl-wf-body .wf-card .wfc-ds { font-size: .46rem; line-height: 1.2; }

/* ---------- ⑧ PVE / 竞技场 / 背包 / 英雄大厅：紧凑化（锁定纵滚） ---------- */
/* PVE */
#wl-v-pve.active { padding: 5px 7px 7px; }
#wl-v-pve .pve2-wrap { padding: 5px 6px; gap: 4px; }
#wl-v-pve .pve2-top { gap: 5px; }
#wl-v-pve .pve2-camp b { font-size: .58rem; }
#wl-v-pve .pve2-camp span { font-size: .54rem; }
#wl-v-pve .pve2-qb { padding: 2px 6px; font-size: .5rem; }
#wl-v-pve .pve2-qb .em { font-size: .9rem; }
#wl-v-pve .pve2-main { gap: 5px; }
#wl-v-pve .pve2-map, #wl-v-pve .pve2-info {
  overflow-y: auto; overflow-x: hidden;
  touch-action: pan-x;
  scrollbar-width: thin;
}
#wl-v-pve .pve2-scene { height: auto; min-height: 150px; }
#wl-v-pve .pve2-scene .wl-hstage .hst { width: 56px; }
#wl-v-pve .pve2-scene .hst-fig { width: 50px; height: 88px; }
#wl-v-pve .pve2-scene .hst-img { max-width: 50px; max-height: 88px; }
#wl-v-pve .pve2-scene .hst-nm { font-size: .5rem; }
#wl-v-pve .pve2-scene-cap { font-size: .54rem; padding: 1px 7px; }
#wl-v-pve .pve2-bar { gap: 5px; margin-bottom: 4px; }
#wl-v-pve .pve2-abtn { padding: 4px 3px; }
#wl-v-pve .pve2-abtn .em { font-size: 1rem; }
#wl-v-pve .pve2-abtn .t { font-size: .56rem; }
#wl-v-pve .pve2-abtn .s { font-size: .46rem; }
#wl-v-pve .pve-znm { font-size: .64rem; }
#wl-v-pve .pve2-more-in { max-width: 86vw; max-height: 82dvh; overflow-y: auto; }

/* 竞技场 */
#wl-v-arena.active { padding: 5px 7px 7px; overflow: hidden; }
#wl-v-arena .ar3-top { gap: 5px; }
#wl-v-arena .ar3-season { font-size: .54rem; }
#wl-v-arena .ar3-main { gap: 6px; flex: 1 1 auto; min-height: 0; }
#wl-v-arena .ar3-right { flex-basis: 168px; gap: 5px; }
#wl-v-arena .ar3-opps { gap: 5px; }
#wl-v-arena .ar3-count-t { font-size: .52rem; }
#wl-v-arena .ar3-count-v { font-size: .68rem; }
#wl-v-arena .ar3-offer .ar3-buy { font-size: .54rem; }
#wl-v-arena .ar3-shop-sec { flex: none; }
#wl-v-arena #wl-arena-shop {
  display: grid; grid-auto-flow: column;
  grid-auto-columns: minmax(70px, 90px);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 5px; overflow-x: auto; overflow-y: hidden;
  scrollbar-width: none; touch-action: pan-x;
}
#wl-v-arena #wl-arena-shop::-webkit-scrollbar { display: none; }

/* 背包 */
#wl-v-bag.active { padding: 5px 7px 7px; }
#wl-v-bag .bg3-tabs { margin-bottom: 3px; }
#wl-v-bag .bg3-main { gap: 6px; flex: 1 1 auto; min-height: 0; }
#wl-v-bag .bg3-preview { flex-basis: 190px; }
#wl-v-bag .bg3-list {
  display: grid; grid-auto-flow: column;
  grid-auto-columns: minmax(72px, 88px);
  grid-template-rows: repeat(4, minmax(0, 1fr));
  gap: 5px; overflow-x: auto; overflow-y: hidden;
  scrollbar-width: none; touch-action: pan-x;
  align-content: start;
}
#wl-v-bag .bg3-list::-webkit-scrollbar { display: none; }
#wl-v-bag .bg3-item { font-size: .52rem; }
#wl-v-bag .bg3-actions { margin: 0 0 4px; }

/* 英雄大厅 */
#wl-v-heroes.active { padding: 5px 7px 7px; }
#wl-v-heroes .hs3-body { gap: 6px; flex: 1 1 auto; min-height: 0; }
#wl-v-heroes .hs3-team, #wl-v-heroes .hs3-mid, #wl-v-heroes .hs3-mod {
  padding: 6px 7px; border-radius: 9px;
}
#wl-v-heroes .hs3-team { overflow: hidden; }
#wl-v-heroes .hs3-team .hs3-slots { overflow: hidden; }
#wl-v-heroes .hs3-right { gap: 5px; overflow: hidden; }
#wl-v-heroes .hs3-fig { transform: scale(.78); transform-origin: top center; }
#wl-v-heroes .hs3-relic-collect { flex: none; }
#wl-v-heroes #wl-relic-list {
  display: grid; grid-auto-flow: column;
  grid-auto-columns: minmax(64px, 80px);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 5px; overflow-x: auto; overflow-y: hidden;
  scrollbar-width: none; touch-action: pan-x;
}
#wl-v-heroes #wl-relic-list::-webkit-scrollbar { display: none; }

/* ---------- ⑨ 任务 / 铁匠铺 / 排行榜 / 图鉴 / 招募 / 酒馆 / 荒野塔 ---------- */
/* 任务中心：两栏并排 */
#wl-v-tasks.active {
  display: flex; flex-direction: row; gap: 6px;
  padding: 5px 7px 7px;
  align-items: stretch;
}
#wl-v-tasks > .wl-ph { display: none; }
#wl-v-tasks > .wl-h1 {
  position: absolute; left: 8px; top: 4px; z-index: 2;
  font-size: .64rem;
}
#wl-v-tasks > .wl-sec {
  flex: 1 1 0; min-width: 0; margin: 20px 0 0;
  display: flex; flex-direction: column; overflow: hidden;
}
#wl-v-tasks .wl-sec > div:last-child {
  flex: 1 1 auto; min-height: 0;
  display: grid; grid-auto-flow: column;
  grid-auto-columns: minmax(120px, 160px);
  grid-template-rows: repeat(3, minmax(0, 1fr));
  gap: 5px; overflow-x: auto; overflow-y: hidden;
  scrollbar-width: none; touch-action: pan-x;
}
#wl-v-tasks .wl-sec > div:last-child::-webkit-scrollbar { display: none; }
#wl-v-tasks .task-item, #wl-v-tasks .tl-item { font-size: .52rem; padding: 4px 5px; }

/* 铁匠铺 */
#wl-v-forge.active { padding: 5px 7px 7px; }
#wl-v-forge .wl-tabs { flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; touch-action: pan-x; }
#wl-v-forge .wl-tabs::-webkit-scrollbar { display: none; }
#wl-v-forge .wl-tab { flex: none; }
#wl-v-forge #wl-forge-body {
  height: calc(100% - 34px);
  display: grid; grid-auto-flow: column;
  grid-auto-columns: minmax(190px, 240px);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 6px; overflow-x: auto; overflow-y: hidden;
  scrollbar-width: none; touch-action: pan-x;
}
#wl-v-forge #wl-forge-body::-webkit-scrollbar { display: none; }
#wl-v-forge #wl-forge-body .wl-sec { margin: 0; overflow: hidden; }
#wl-v-forge .wl-grid.wl-g3 { grid-template-columns: repeat(3, 1fr); gap: 4px; }
#wl-v-forge .wl-qb { padding: 3px 2px; }
#wl-v-forge .wl-qb .em { font-size: 1rem; }
#wl-v-forge .wl-qb .nm { font-size: .48rem; }

/* 排行榜 / 图鉴 / 招募 / 酒馆：横向多列内容 */
#wl-v-boards.active, #wl-v-codex.active, #wl-v-recruit.active, #wl-v-tavern.active {
  padding: 5px 7px 7px;
}
#wl-v-boards .wl-tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; touch-action: pan-x; }
#wl-v-boards #wl-boards-body,
#wl-v-codex #wl-codex-body,
#wl-v-tavern #wl-tavern-body {
  height: calc(100% - 36px);
  display: grid; grid-auto-flow: column;
  grid-auto-columns: minmax(150px, 190px);
  grid-template-rows: repeat(3, minmax(0, 1fr));
  gap: 5px; overflow-x: auto; overflow-y: hidden;
  scrollbar-width: none; touch-action: pan-x;
}
#wl-v-boards #wl-boards-body::-webkit-scrollbar,
#wl-v-codex #wl-codex-body::-webkit-scrollbar,
#wl-v-tavern #wl-tavern-body::-webkit-scrollbar { display: none; }
#wl-v-boards .wl-row, #wl-v-tavern .wl-row { font-size: .52rem; padding: 4px 5px; }
#wl-v-codex .wl-qb, #wl-v-codex .wl-gear { padding: 3px 2px; }
#wl-v-codex .wl-qb .em { font-size: 1rem; }

/* 招募中心：左右并排 */
#wl-v-recruit.active { display: flex; flex-direction: row; flex-wrap: wrap; gap: 6px; }
#wl-v-recruit > .wl-h1, #wl-v-recruit > .wl-sub { flex: 1 1 100%; }
#wl-v-recruit > .wl-ph { flex: 1 1 100%; margin-bottom: 0; }
#wl-v-recruit > .wl-sec { flex: 1 1 0; min-width: 260px; margin: 0; overflow: hidden; }

/* 荒野塔 */
#wl-v-tower.active { padding: 5px 7px 7px; }
#wl-v-tower .wl-tower-card { padding: 8px 10px; }
#wl-v-tower .wl-tower-card .fl { font-size: 1.4rem; }

/* 限时采集 / 末日首领：紧凑化 */
#wl-v-idle.active { gap: 4px; }
#wl-v-idle .idle-top { padding: 4px 8px 2px; gap: 6px; }
#wl-v-idle .idle-title .it2 { font-size: .88rem; }
#wl-v-idle .idle-title .idec { width: 64px; height: 4px; }
#wl-v-idle .idle-hitop { width: 40px; height: 40px; }
#wl-v-idle .idle-iconph { font-size: 1.4rem; }
#wl-v-idle .idle-wrap { gap: 6px; padding: 0 8px; flex: 1 1 auto; min-height: 0; overflow: hidden; }
#wl-v-idle .idle-left { padding: 7px; }
#wl-v-idle .idle-lt { font-size: .68rem; margin-bottom: 4px; }
#wl-v-idle .idle-ld { font-size: .54rem; line-height: 1.45; margin-bottom: 5px; }
#wl-v-idle .idle-lrow { font-size: .54rem; margin-top: 4px; }
#wl-v-idle .ic-grid { gap: 4px; }
#wl-v-idle .ic-btn { padding: 4px 3px; font-size: .52rem; }
#wl-v-idle .ic-btn .em { font-size: 1rem; }
#wl-v-idle .idle-right { overflow: hidden; }

#wl-v-lord.active { padding: 4px 6px 6px; }
#wl-v-lord .lord-top { gap: 6px; padding: 4px 6px 3px; }
#wl-v-lord .lord-title .lt2 { font-size: .86rem; }
#wl-v-lord #wl-lord-body {
  flex: 1 1 auto; min-height: 0; overflow: hidden;
}

/* ---------- ⑩ 弹窗 / 浮层 / toast：必须在视口内 ---------- */
.wl-modal { align-items: center; justify-content: center; }
.wl-modal .wl-mod-box {
  max-width: min(76vw, 720px);
  max-height: 82vh; max-height: 82dvh;
  border-radius: 12px;
  padding: 8px 12px 12px;
  overflow-y: auto;
  touch-action: pan-y;
}
.wl-modal .wl-mod-title { font-size: .78rem; }
.wl-modal .wl-btn { font-size: .58rem; padding: 4px 8px; }
#wl-toast {
  top: calc(var(--wll-top-h) + 8px);
  max-width: 70vw;
  font-size: .6rem;
}
#wl-toast .wl-toast-item { padding: 5px 10px; border-radius: 8px; }
.wl-cs {
  padding: 8px max(10px, env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom));
}
.wl-cs .wl-mod-box { max-height: 84dvh; overflow-y: auto; }
#wl-get, #wl-ad, #wl-pay { align-items: center; }
#wl-pay .wl-mod-box { max-width: min(86vw, 480px); }
#wl-pay .wl-pay-qrwrap { max-height: 44dvh; }
#wl-pay-qr img, #wl-pay-qr svg { max-height: 42dvh; width: auto; }

/* 动态弹窗（dynModal 系列） */
.wl-modal#wl-dyn, .wl-modal.center { align-items: center; }
.wl-modal#wl-dyn .wl-mod-box { border-radius: 12px; }

/* ---------- ⑪ 竖屏旋转提示遮罩（尝试锁定横屏） ---------- */
.wll-rotate {
  display: none;
  position: fixed; inset: 0; z-index: 999;
  flex-direction: column; align-items: center; justify-content: center;
  gap: 12px;
  background:
    radial-gradient(700px 360px at 50% 20%, rgba(143, 209, 79, .1), transparent 60%),
    radial-gradient(520px 300px at 50% 100%, rgba(192, 84, 48, .12), transparent 60%),
    #0c0f0a;
}
.wll-rotate .em { font-size: 2.6rem; animation: wllRot 1.8s ease-in-out infinite; }
.wll-rotate .t { font-size: .95rem; font-weight: 900; color: var(--wll-acc); letter-spacing: .08em; }
.wll-rotate .s { font-size: .64rem; color: #7e8a6c; }
@keyframes wllRot {
  0%, 100% { transform: rotate(0deg); }
  45% { transform: rotate(90deg); }
  60% { transform: rotate(90deg); }
}
@media (orientation: portrait) {
  .wll-rotate { display: flex; }
}

/* ---------- ⑫ 极矮屏（<360px 高）再压一级 ---------- */
@media (max-height: 370px) {
  :root { --wll-top-h: 34px; }
  .wll-cons-i { padding: 2px 6px; font-size: .52rem; }
  #wl-v-main #wl-camp-stage { min-height: 104px; }
  #wl-v-main .hst-fig { height: 88px; }
  #wl-v-battle.bat3.active { gap: 2px; padding-top: 2px; padding-bottom: 2px; }
  .wll-unit { width: 44px; }
  .wll-av { width: 20px; height: 20px; }
  #wl-v-battle.bat3.active #wl-bat-skills .b3-skill { width: 24px; height: 24px; }
}

/* 深色滚动条（横向容器不显示） */
@media (hover: hover) {
  .wl-modal .wl-mod-box::-webkit-scrollbar { width: 6px; }
}
/* =====================================================================
 * V1.52.1 追加：JS 接管层（12-ui-landscape.js）配套规则
 * ===================================================================== */

/* 首页右栏广播块（:has 不支持时的兜底，JS 会打 wll-news-sec 类） */
.wll-main-right .wll-news-sec {
  flex: 1 1 auto; min-height: 0; overflow: hidden;
}

/* 战斗 HUD 两侧限宽，避免与战场/底部栏冲突 */
.wll-hud { max-width: 40vw; overflow: hidden; }
.wll-hud.en { margin-left: auto; }
.wll-bat-top { justify-content: flex-start; }
.wll-bat-bottom { overflow: hidden; }
#wll-bat-dock .sp { flex-wrap: nowrap; }

/* 窄横屏（<920px，常见安卓横屏）再压缩顶栏与战斗底栏 */
@media (max-width: 920px) {
  .wll-logo { font-size: .7rem; }
  .wll-srv { font-size: .47rem; padding: 2px 6px; }
  .wll-cons-i { padding: 2px 7px; font-size: .52rem; }
  .wll-cons-i b { font-size: .68rem; }
  .wll-hud { max-width: 36vw; }
  #wl-v-battle.bat3.active #wl-bat-skills { max-width: 25vw; }
  #wll-bat-dock .wl-spd { padding: 2px 5px; font-size: .5rem; }
  #wll-bat-dock #wl-btn-skip { font-size: .46rem; padding: 2px 5px; }
}

/* =====================================================================
 * V1.53.0 横屏 UI 修复层
 *  - 顶栏改为固定左侧竖排导航（战斗/后街全屏时隐藏）
 *  - 首页英雄展示舞台铺满并显示大厅背景
 *  - 商城 / 铁匠铺 / 竞技场 / 背包等页面的溢出与版面修复
 *  - 战斗：战场内只保留双方头像状态 + 右下角倍速/跳过
 *  - 后街 2.5D 建筑节点
 *  - 领取奖励掉落特效 / 福利中心居中弹窗
 * ===================================================================== */
:root {
  --wll-rail-w: 108px;
  --wll-top-h: 0px;
}

/* ---------- 左侧竖向导航 ---------- */
.wll-top {
  top: 0;
  left: 0;
  right: auto;
  bottom: 0;
  width: var(--wll-rail-w);
  height: 100vh;
  height: 100dvh;
  padding: 5px 6px calc(7px + env(safe-area-inset-bottom));
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 4px;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: none;
  background:
    radial-gradient(120% 30% at 50% 0%, rgba(143, 209, 79, .10), transparent 70%),
    linear-gradient(180deg, rgba(11, 14, 9, .995), rgba(17, 22, 12, .985));
  border-right: 1px solid #3f5030;
  border-bottom: none;
  box-shadow: 4px 0 14px rgba(0, 0, 0, .45);
  z-index: 170;
}
.wll-top::-webkit-scrollbar { display: none; }
.wll-logo {
  width: 100%;
  text-align: center;
  font-size: .68rem;
  line-height: 1.25;
  white-space: normal;
  padding: 2px 0 1px;
}
.wll-srv {
  width: 100%;
  text-align: center;
  font-size: .44rem;
  padding: 2px 3px;
  white-space: normal;
  line-height: 1.25;
}
.wll-top .wl-vip {
  width: 100%;
  text-align: center;
  font-size: .48rem;
  padding: 2px 3px;
}
.wll-top .wl-res {
  width: 100%;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 3px;
  overflow: visible;
}
.wll-top .wl-chip {
  width: 100%;
  justify-content: flex-start;
  gap: 2px;
  padding: 3px 4px;
  font-size: .48rem;
  line-height: 1.1;
  border-radius: 7px;
  box-sizing: border-box;
}
.wll-top .wl-chip b { font-size: .54rem; margin-left: auto; max-width: 56px; overflow: hidden; text-overflow: ellipsis; }
.wll-top .res-plus { margin-left: 1px; padding: 0 1px; font-size: .58rem; }
.wll-aux {
  width: 100%;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 3px;
  margin: 2px 0 0;
}
.wll-top .wl-tbtn, .wll-home {
  width: 100%;
  padding: 3px 4px;
  font-size: .5rem;
  line-height: 1.2;
  text-align: center;
}
.wll-home { display: block; }
.wll-top.on-main .wll-home { display: none; }
.wll-cons {
  width: 100%;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 3px;
  margin-top: 2px;
}
.wll-cons-i {
  width: 100%;
  justify-content: center;
  padding: 4px 3px;
  font-size: .5rem;
  border-radius: 7px;
}
.wll-cons-i b { font-size: .68rem; }
.wll-dot { width: 7px; height: 7px; }

/* 所有页面让出左侧导航宽度；战斗/后街全屏时归零 */
.wl-app {
  padding: 0 0 0 var(--wll-rail-w) !important;
  height: 100vh;
  height: 100dvh;
}
.wl-view.active {
  height: 100vh;
  height: 100dvh;
}
body.wll-battle .wl-app,
body.on-alley .wl-app { padding-left: 0 !important; }

/* 页面统一：隐藏页头插画条与重复返回按钮，把空间还给内容 */
.wl-view .wl-ph { display: none !important; }
.wl-view .wl-h1 .back,
.wl-view .lord-back,
.wl-view .hs3-back,
.wl-view .idle-back { display: none !important; }
.wl-view .wl-h1 { margin-top: 0 !important; }

/* Toast 居中到内容区 */
#wl-toast {
  top: 8px !important;
  left: calc(var(--wll-rail-w) + (100vw - var(--wll-rail-w)) / 2) !important;
  transform: translateX(-50%) !important;
  max-width: min(62vw, 620px);
  z-index: 240;
}

/* ---------- 首页：英雄舞台铺满 + 背景显示 ---------- */
#wl-v-main.active {
  gap: 6px;
  padding: 6px max(7px, env(safe-area-inset-right)) 7px 7px;
}
#wl-v-main #wl-camp-stagewrap {
  width: auto;
  flex: 1 1 auto;
  min-height: 0;
}
#wl-v-main #wl-camp-stagewrap .wl-hstage-wrap {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
}
#wl-v-main #wl-camp-stage {
  flex: 1 1 auto;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none;
}
#wl-v-main #wl-camp-stage.hallbg {
  background-size: cover;
  background-position: center 34%;
  box-shadow: inset 0 0 90px rgba(0, 0, 0, .55);
}
#wl-v-main #wl-camp-stage.hallbg::before { opacity: .22; }
#wl-v-main #wl-camp-stage.hallbg::after { opacity: .55; }
#wl-v-main .wll-main-right { flex: 0 0 29%; max-width: 29%; }

/* ---------- 战斗：全屏、只保留头像状态 + 右下角倍速/跳过 ---------- */
body.wll-battle .wll-top { display: none !important; }
body.wll-battle .wl-app { padding-left: 0 !important; }
body.wll-battle .wll-alley-btn { display: none !important; }

#wl-v-battle.bat3.active {
  padding: 0 !important;
  gap: 0 !important;
  background: #070a06;
}
#wl-v-battle.bat3.active .bat3-top,
#wl-v-battle.bat3.active .wl-bat-team,
#wl-v-battle.bat3.active .bat3-bottom,
#wl-v-battle.bat3.active .wll-bat-top,
#wl-v-battle.bat3.active .wll-bat-bottom,
#wl-v-battle.bat3.active .bat3-order,
#wl-v-battle.bat3.active #wl-bat-log {
  display: none !important;
}
#wl-v-battle.bat3.active .wl-bat-wrap {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  height: 100%;
}
#wl-v-battle.bat3.active .wl-scene {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100% !important;
  border-radius: 0;
  border: none;
}

/* 战斗 HUD 放在战场框内：右上敌方 / 左下我方 */
#wl-scene .wll-hud {
  position: absolute;
  z-index: 24;
  display: grid;
  grid-template-columns: repeat(2, 44px);
  gap: 3px;
  max-width: none;
  overflow: visible;
  pointer-events: none;
}
#wl-scene .wll-hud.en { top: 7px; right: 7px; margin-left: 0; }
#wl-scene .wll-hud.my { left: 7px; bottom: calc(2px + var(--wll-sab, 0px)); }
#wl-scene .wll-hud .wll-unit {
  width: 44px;
  background: rgba(4, 8, 5, .68);
  border-color: rgba(255, 215, 106, .34);
  backdrop-filter: blur(2px);
}
#wl-scene .wll-hud.en .wll-unit { border-color: rgba(255, 120, 90, .5); }
#wl-scene .wll-hud .wll-kills {
  position: absolute;
  top: -1px;
  font-size: .46rem;
  font-weight: 900;
  color: #ffd76a;
  background: rgba(4, 8, 5, .8);
  border: 1px solid rgba(255, 215, 106, .3);
  border-radius: 999px;
  padding: 1px 6px;
  white-space: nowrap;
  pointer-events: none;
}
#wl-scene .wll-hud.en .wll-kills { right: 0; transform: translateY(-100%); }
#wl-scene .wll-hud.my .wll-kills { left: 0; transform: translateY(-100%); }

/* V1.63.6：底部技能栏（战场内浮层，父级 .bat3-bottom 已隐藏） */
#wl-scene #wll-bat-skillbar {
  position: absolute;
  left: 50%;
  bottom: calc(2px + var(--wll-sab, env(safe-area-inset-bottom, 0px)));
  transform: translateX(-50%);
  z-index: 27;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  max-width: min(64vw, 560px);
  padding: 4px 7px;
  border-radius: 10px;
  background: rgba(4, 8, 5, .72);
  border: 1px solid rgba(255, 215, 106, .24);
  box-shadow: 0 3px 12px rgba(0, 0, 0, .55);
  pointer-events: auto;
}
#wl-scene #wll-bat-skillbar #wl-bat-skills {
  display: flex !important;
  flex: 0 1 auto;
  min-width: 0;
  max-width: none !important;
  gap: 4px;
  padding: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}
#wl-scene #wll-bat-skillbar #wl-bat-skills::-webkit-scrollbar { display: none; }
#wl-scene #wll-bat-skillbar #wl-bat-skills .b3-skill {
  width: 30px; height: 30px; border-radius: 6px;
}
#wl-scene #wll-bat-skillbar #wl-bat-skills .b3-skill .sem { font-size: .8rem; line-height: 28px; }
#wl-scene #wll-bat-skillbar #wl-bat-skills .b3-skill .snm { font-size: .36rem; }
@media (max-width: 700px) {
  #wl-scene #wll-bat-skillbar { max-width: 58vw; }
  #wl-scene #wll-bat-skillbar #wl-bat-skills .b3-skill { width: 26px; height: 26px; }
}
@media (max-width: 620px) {
  /* 窄屏：技能栏放到我方 HUD 右侧、dock 左侧，贴底不抬高 */
  #wl-scene #wll-bat-skillbar {
    left: 210px;
    right: 170px;
    transform: none;
    max-width: none;
    bottom: calc(2px + var(--wll-sab, 0px));
  }
}
@media (max-width: 520px) {
  /* 极窄屏：宽度不够时仍抬到 HUD 上方，保证技能可点 */
  #wl-scene #wll-bat-skillbar {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    bottom: calc(56px + var(--wll-sab, 0px));
  }
}

/* V1.63.6：战斗根层/战场强制铺满，去掉上下黑边 */
#wl-v-battle.bat3.active {
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  height: var(--wl-vvh, var(--wl-vh, 100dvh)) !important;
  max-height: var(--wl-vvh, 100dvh) !important;
  width: 100% !important;
}
body.wll-battle .wl-app {
  padding: 0 !important;
  height: var(--wl-vvh, var(--wl-vh, 100dvh)) !important;
}
#wl-v-battle.bat3.active .wl-bat-wrap {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  border: 0 !important;
}
#wl-v-battle.bat3.active .wl-scene {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 0 !important;
}
/* V1.63.14：抖动独立层（#wl-cam 只做镜头，#wl-shake 只做抖动） */
#wl-scene #wl-shake { position: absolute; inset: 0; transform-origin: 50% 50%; pointer-events: none; z-index: 1; }
#wl-scene #wl-shake.shake1 { animation: scShake1 .3s ease-in-out; }
#wl-scene #wl-shake.shake2 { animation: scShake2 .5s ease-in-out; }
/* 右下角：倍速 + 跳过战斗（战场内浮层） */
#wl-scene #wll-bat-dock {
  position: absolute;
  right: 7px;
  bottom: 7px;
  z-index: 26;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
  padding: 4px 5px;
  border-radius: 10px;
  background: rgba(4, 8, 5, .62);
  border: 1px solid rgba(255, 215, 106, .22);
  backdrop-filter: blur(2px);
}
#wl-scene #wll-bat-dock .sp { display: flex; gap: 3px; }
#wl-scene #wll-bat-dock .wl-spd { padding: 3px 7px; font-size: .54rem; }
#wl-scene #wll-bat-dock #wl-btn-skip { margin: 0; font-size: .48rem; padding: 3px 6px; }

/* 战场单位整体略微缩小，让站位更靠中间 */
#wl-v-battle.bat3.active .wl2-unit { width: 74px; }
#wl-v-battle.bat3.active .wl2-unit .u-img {
  width: clamp(28px, 4.4vw, 38px) !important;
  height: clamp(28px, 4.4vw, 38px) !important;
}
#wl-v-battle.bat3.active .wl2-unit .u-em { font-size: clamp(26px, 4.2vw, 36px) !important; }
#wl-v-battle.bat3.active .wl2-unit .u-nm { font-size: .46rem; }


/* ---------- 补给商城：铺满、4×2 商品格 ---------- */
#wl-v-shop .shop-wrap {
  align-items: stretch !important;
  width: 100%;
}
#wl-v-shop .shop-hero { display: none !important; }
#wl-v-shop #wl-shop-side { width: 100%; }
#wl-v-shop #wl-shop-body {
  width: 100% !important;
  flex: 1 1 auto;
}
#wl-shop-body > .wl-sec {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
  height: 100%;
  overflow: hidden;
}
#wl-shop-body .shop-grid {
  display: grid !important;
  grid-auto-flow: row !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-columns: auto !important;
  gap: 6px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  align-content: stretch;
}
#wl-shop-body .shop-cell {
  min-height: 0;
  height: 100%;
  padding: 5px 4px !important;
  justify-content: center;
  gap: 2px;
}
#wl-shop-body .shop-cell .sc-ic { width: 34px; height: 34px; }
#wl-shop-body .shop-cell .sc-em { font-size: 1.15rem; }
#wl-shop-body .shop-cell .sc-nm { font-size: .52rem; }
#wl-shop-body .shop-cell .sc-pr { font-size: .5rem; }
#wl-shop-body .shop-cell .sc-buy { font-size: .48rem; padding: 2px 4px; }

/* ---------- 铁匠铺：单面板铺满，不再只占左上角 ---------- */
#wl-v-forge.active { display: flex; flex-direction: column; }
#wl-v-forge #wl-forge-body {
  display: flex !important;
  flex-direction: column;
  gap: 5px;
  flex: 1 1 auto;
  min-height: 0;
  height: auto !important;
  width: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}
#wl-v-forge #wl-forge-body > .wl-sec {
  width: 100%;
  margin: 0;
  flex: 0 0 auto;
}
#wl-v-forge #wl-forge-body .shop-grid {
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-template-rows: none !important;
}

/* ---------- 竞技场：修正主区高度与商城溢出 ---------- */
#wl-v-arena.active {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
#wl-v-arena .ar3-top,
#wl-v-arena #wl-arena-head { flex: 0 0 auto; }
#wl-v-arena .ar3-main {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
#wl-v-arena .ar3-left {
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  touch-action: pan-y;
  scrollbar-width: thin;
}
#wl-v-arena .ar3-right {
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
}
#wl-v-arena .ar3-shop-sec { display: none !important; }
#wl-arena-shop .ar3-shop-item { font-size: .5rem; }
.wll-arena-shop-btn {
  position: absolute;
  right: 8px;
  bottom: 8px;
  z-index: 9;
  padding: 5px 10px;
  border-radius: 8px;
  border: 1px solid #71531e;
  background: linear-gradient(180deg, #35280f, #201705);
  color: #ffd76a;
  font-size: .56rem;
  font-weight: 800;
  cursor: pointer;
}

/* ---------- 背包：内容区填满，预览栏略缩 ---------- */
#wl-v-bag .bg3-main { width: 100%; }
#wl-v-bag .bg3-list { flex: 1 1 auto; }
#wl-v-bag .bg3-preview { flex: 0 0 172px; }

/* ---------- 任务 / 招募：让内容真正铺开 ---------- */
#wl-v-tasks > .wl-sec { min-height: 0; }
#wl-v-recruit > .wl-sec { flex: 1 1 0; }

/* ---------- 后街：2.5D 建筑街区 ---------- */
.wll-alley-page {
  background:
    radial-gradient(80% 50% at 50% 100%, rgba(255, 170, 60, .10), transparent 70%),
    linear-gradient(180deg, #0b0f08 0%, #13180d 48%, #080b06 100%);
}
.wll-alley-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center 42%;
  opacity: .28;
  filter: saturate(.8) brightness(.65);
  pointer-events: none;
}
.wll-alley-page::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.018) 0 1px, transparent 1px 46px),
    radial-gradient(90% 55% at 50% 100%, rgba(143,209,79,.10), transparent 62%);
  pointer-events: none;
}
.wll-alley-track {
  position: relative;
  gap: 18px;
  padding: 18px max(26px, env(safe-area-inset-left)) 34px;
  perspective: 1000px;
  perspective-origin: 50% 68%;
  align-items: flex-end;
}
.wll-alley-track::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 26%;
  background:
    linear-gradient(180deg, rgba(10,14,8,0), rgba(10,14,8,.86)),
    repeating-linear-gradient(90deg, rgba(255,215,106,.06) 0 2px, transparent 2px 60px);
  pointer-events: none;
}
.wll-node {
  position: relative;
  width: 112px;
  height: 190px;
  min-height: 150px;
  margin-bottom: 10px;
  border: none;
  border-radius: 12px;
  background: transparent;
  box-shadow: none;
  transform-style: preserve-3d;
  transform: rotateX(2deg) rotateY(-7deg);
  transition: transform .16s ease, filter .16s ease;
  gap: 0;
  justify-content: flex-end;
  align-items: center;
  padding-bottom: 6px;
}
.wll-node::before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 2px;
  width: 112%;
  height: 26px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(50% 50% at 50% 50%, rgba(0,0,0,.65), rgba(0,0,0,0) 74%);
  pointer-events: none;
}
.wll-node .wll-b3d {
  position: relative;
  width: 88px;
  height: 128px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border-radius: 8px 8px 5px 5px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0) 34%),
    linear-gradient(160deg, #34421f 0%, #202a15 55%, #13190e 100%);
  border: 1px solid #5a6d40;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.04),
    inset 8px 0 12px rgba(0,0,0,.38),
    0 10px 18px rgba(0,0,0,.48);
  transform: translateZ(16px);
}
.wll-node .wll-b3d::before {
  content: '';
  position: absolute;
  top: -13px;
  left: 4px;
  right: -6px;
  height: 15px;
  border-radius: 6px 8px 3px 3px;
  background: linear-gradient(160deg, #6f834f, #384826 70%);
  border: 1px solid #7d9159;
  transform: skewX(-14deg);
  box-shadow: 0 4px 8px rgba(0,0,0,.45);
}
.wll-node .wll-b3d::after {
  content: '';
  position: absolute;
  top: 2px;
  right: -12px;
  width: 13px;
  height: 122px;
  border-radius: 0 4px 4px 0;
  background: linear-gradient(180deg, #27331b, #11160c);
  border: 1px solid #3d4c2c;
  border-left: none;
  transform: skewY(-42deg);
  transform-origin: left top;
  filter: brightness(.72);
}
.wll-node .wll-em {
  position: relative;
  z-index: 2;
  font-size: 2.35rem;
  line-height: 1;
  filter: drop-shadow(0 0 12px rgba(255,215,106,.38)) drop-shadow(0 4px 5px rgba(0,0,0,.7));
}
.wll-node .wll-nm {
  position: relative;
  z-index: 2;
  width: 100%;
  text-align: center;
  font-size: .58rem;
  padding: 0 3px;
  max-width: none;
  color: #ffe9c4;
  text-shadow: 0 1px 2px #000, 0 0 8px rgba(255,190,70,.25);
}
.wll-node .wll-ds {
  position: relative;
  z-index: 2;
  font-size: .44rem;
  color: #9aa886;
  max-width: 80px;
}
.wll-node .wll-dot { top: -4px; right: 4px; }
.wll-node:hover { transform: rotateX(1deg) rotateY(-3deg) translateY(-6px); filter: brightness(1.1); }
.wll-node:active { transform: rotateX(1deg) rotateY(-3deg) scale(.96); }
.wll-node.hot .wll-b3d {
  border-color: #a47ad6;
  background:
    linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0) 34%),
    linear-gradient(160deg, #4a3664 0%, #2a1d3d 55%, #150f20 100%);
  box-shadow: 0 0 22px rgba(164,122,214,.36), 0 12px 20px rgba(0,0,0,.5);
}
.wll-node.hot .wll-b3d::before { background: linear-gradient(160deg, #a682d8, #5c3f83 70%); border-color: #c4a3f0; }
.wll-node.hot .wll-b3d::after { background: linear-gradient(180deg, #33234a, #120b1b); border-color: #513c6c; }
.wll-node.n-wf .wll-b3d, .wll-node.n-shop .wll-b3d { border-color: #8f7b3c; }
.wll-node.n-wf .wll-b3d::before, .wll-node.n-shop .wll-b3d::before { background: linear-gradient(160deg, #c9a85a, #6f5a24 70%); border-color: #e0c878; }
.wll-node.n-arena .wll-b3d, .wll-node.n-pve .wll-b3d { border-color: #8c4b3f; }
.wll-node.n-arena .wll-b3d::before, .wll-node.n-pve .wll-b3d::before { background: linear-gradient(160deg, #b05a48, #5f2b23 70%); border-color: #cf7a66; }
.wll-node.n-recruit .wll-b3d, .wll-node.n-tavern .wll-b3d { border-color: #66528f; }
.wll-node.n-recruit .wll-b3d::before, .wll-node.n-tavern .wll-b3d::before { background: linear-gradient(160deg, #8f6bc4, #3f2b60 70%); border-color: #aa8bd8; }
.wll-alley-title { letter-spacing: .14em; }
.wll-alley-hint { color: #aab694; }

/* ---------- 福利中心：居中弹窗（比背景小一圈） ---------- */
.wll-wfmodal {
  position: fixed;
  inset: 0;
  z-index: 205;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(3, 5, 3, .66);
  backdrop-filter: blur(2px);
  padding: 12px;
}
.wll-wfmodal.on { display: flex; }
.wll-wfbox {
  width: min(74vw, 760px);
  max-width: calc(100vw - var(--wll-rail-w) - 28px);
  height: min(80dvh, 560px);
  display: flex;
  flex-direction: column;
  border-radius: 14px;
  border: 1px solid #5a6d40;
  background:
    radial-gradient(80% 40% at 50% 0%, rgba(255, 215, 106, .08), transparent 60%),
    linear-gradient(180deg, rgba(26, 33, 18, .99), rgba(12, 16, 9, .995));
  box-shadow: 0 24px 80px rgba(0, 0, 0, .75), inset 0 1px 0 rgba(255,255,255,.06);
  overflow: hidden;
  animation: wllWfIn .18s ease-out;
}
@keyframes wllWfIn { from { opacity: 0; transform: scale(.94) translateY(8px); } to { opacity: 1; transform: none; } }
.wll-wfhd {
  flex: none;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border-bottom: 1px solid #435434;
  background: linear-gradient(180deg, rgba(38, 48, 27, .9), rgba(17, 22, 12, .9));
}
.wll-wfhd b { font-size: .78rem; color: #ffd76a; letter-spacing: .08em; }
.wll-wfhd .sub { font-size: .5rem; color: #8f9b7c; }
.wll-wfhd .x {
  margin-left: auto;
  width: 26px;
  height: 26px;
  border-radius: 7px;
  border: 1px solid #4a5c38;
  background: #1b2313;
  color: #dbe4c8;
  font-size: .8rem;
  cursor: pointer;
}
.wll-wftabs {
  flex: none;
  display: flex;
  gap: 4px;
  padding: 6px 10px 4px;
  overflow-x: auto;
  scrollbar-width: none;
}
.wll-wftabs::-webkit-scrollbar { display: none; }
.wll-wftab {
  flex: none;
  padding: 3px 9px;
  border-radius: 7px;
  border: 1px solid #4a5c38;
  background: #1b2313;
  color: #b9c6a4;
  font-size: .52rem;
  font-weight: 700;
  cursor: pointer;
}
.wll-wftab.on {
  background: linear-gradient(180deg, #f3d06e, #d4af37);
  border-color: #fff;
  color: #3d2200;
  box-shadow: 0 0 10px rgba(212, 175, 55, .55);
}
.wll-wfbody {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 2px 10px 10px;
  scrollbar-width: thin;
}
.wll-wfbody > .wl-sec { margin: 0 0 5px; }
.wll-wfbody .wf-grid7 {
  display: grid;
  grid-auto-flow: row;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 4px;
}
.wll-wfbody .wf-card,
.wll-wfbody .wf-cell { min-height: 0; }
.wll-wfbody .wl-row.wf-task { font-size: .52rem; }

/* ---------- 领取奖励：掉落 + 弹窗卡片下坠 ---------- */
.wll-rain {
  position: fixed;
  inset: 0;
  z-index: 230;
  pointer-events: none;
  overflow: hidden;
}
.wll-rain i {
  position: absolute;
  top: -12vh;
  left: var(--x);
  width: var(--s);
  height: var(--s);
  font-style: normal;
  filter: drop-shadow(0 0 9px rgba(255, 215, 106, .8)) drop-shadow(0 4px 5px rgba(0, 0, 0, .6));
  animation: wllRainFall var(--dur) cubic-bezier(.22, .62, .35, 1) forwards;
  animation-delay: var(--dl);
  opacity: 0;
}
.wll-rain i.wll-r-gold {
  border-radius: 50%;
  background: radial-gradient(circle at 34% 28%, #fff6c2 0 16%, #ffd76a 38%, #e8a33d 72%, #9a5d12 100%);
  box-shadow: inset 0 0 0 2px rgba(255, 245, 190, .45), 0 0 14px rgba(255, 200, 80, .8);
}
.wll-rain i.wll-r-dia {
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  background: linear-gradient(135deg, #e5fbff 0%, #8fdcff 40%, #3b9bd8 100%);
  box-shadow: 0 0 14px rgba(120, 210, 255, .9);
}
.wll-rain i.wll-r-star {
  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 93%, 50% 71%, 21% 93%, 32% 57%, 2% 35%, 39% 35%);
  background: linear-gradient(180deg, #f3ffd8, #b6ff85 45%, #6fce3a 100%);
  box-shadow: 0 0 14px rgba(160, 255, 120, .85);
}
.wll-rain i.wll-r-zx {
  border-radius: 4px;
  transform: rotate(45deg);
  background: linear-gradient(135deg, #f0e2ff, #c9a3ff 45%, #7a4ed0 100%);
  box-shadow: 0 0 14px rgba(190, 150, 255, .9);
}
.wll-rain i.wll-r-tk {
  border-radius: 3px;
  background: repeating-linear-gradient(180deg, #ffcf8a 0 3px, #c97b1e 3px 5px);
  box-shadow: 0 0 14px rgba(255, 180, 90, .8);
}
@keyframes wllRainFall {
  0% { transform: translate3d(0, -12vh, 0) rotate(0deg) scale(.6); opacity: 0; }
  10% { opacity: 1; }
  75% { opacity: 1; }
  100% { transform: translate3d(var(--dx), 108vh, 0) rotate(var(--rot)) scale(1.05); opacity: .96; }
}
.wl-claim-list .itm-chip {
  animation: wllChipDrop .48s cubic-bezier(.2, 1.45, .4, 1) both;
}
.wl-claim-list .itm-chip:nth-child(2) { animation-delay: .05s; }
.wl-claim-list .itm-chip:nth-child(3) { animation-delay: .10s; }
.wl-claim-list .itm-chip:nth-child(4) { animation-delay: .15s; }
.wl-claim-list .itm-chip:nth-child(5) { animation-delay: .20s; }
.wl-claim-list .itm-chip:nth-child(6) { animation-delay: .25s; }
.wl-claim-list .itm-chip:nth-child(7) { animation-delay: .30s; }
.wl-claim-list .itm-chip:nth-child(8) { animation-delay: .35s; }
@keyframes wllChipDrop {
  0% { opacity: 0; transform: translateY(-34px) scale(.7); }
  65% { opacity: 1; transform: translateY(4px) scale(1.06); }
  100% { opacity: 1; transform: none; }
}
.wl-modal#wl-dyn .wl-mod-box { animation: wllModIn .2s ease-out; }
@keyframes wllModIn { from { opacity: 0; transform: scale(.94); } to { opacity: 1; transform: none; } }

/* ---------- 极矮屏适配（保留左栏但压缩） ---------- */
@media (max-height: 380px) {
  :root { --wll-rail-w: 98px; }
  .wll-top { padding-top: 3px; gap: 3px; }
  .wll-logo { font-size: .62rem; }
  .wll-srv { font-size: .4rem; }
  .wll-top .wl-chip { padding: 2px 3px; font-size: .44rem; }
  .wll-top .wl-chip b { font-size: .5rem; }
  .wll-top .wl-tbtn, .wll-home { font-size: .46rem; padding: 2px 3px; }
  .wll-cons-i { font-size: .46rem; padding: 3px 2px; }
  .wll-cons-i b { font-size: .6rem; }
  #wl-v-battle .wll-hud .wll-unit { width: 44px; }
  .wll-node { width: 102px; height: 170px; }
  .wll-node .wll-b3d { width: 80px; height: 112px; }
  .wll-node .wll-em { font-size: 2rem; }
}

/* ===== V1.53.0 后街节点 · 2.5D 建筑增强（覆盖上一版平面卡片观感） ===== */
.wll-alley-track { perspective: 900px; }
.wll-node {
  width: 124px;
  height: 208px;
  overflow: visible !important;
  transform: none !important;
  transform-style: preserve-3d;
}
.wll-node .wll-b3d {
  --roof: #6f834f;
  --roof2: #3d4c2c;
  --wall1: #3c4a26;
  --wall2: #171f0f;
  --glow: #ffd76a;
  position: relative;
  width: 84px;
  height: 108px;
  margin-top: 34px;
  border-radius: 4px 4px 3px 3px;
  border: 1px solid rgba(255, 255, 255, .16);
  background:
    radial-gradient(circle at 26% 35%, rgba(255, 220, 130, .95) 0 4px, rgba(255, 220, 130, 0) 5px),
    radial-gradient(circle at 74% 35%, rgba(255, 220, 130, .95) 0 4px, rgba(255, 220, 130, 0) 5px),
    radial-gradient(circle at 26% 60%, rgba(255, 190, 90, .70) 0 4px, rgba(255, 190, 90, 0) 5px),
    radial-gradient(circle at 74% 60%, rgba(255, 190, 90, .70) 0 4px, rgba(255, 190, 90, 0) 5px),
    linear-gradient(90deg, rgba(0,0,0,.20), transparent 22%, transparent 78%, rgba(0,0,0,.32)),
    linear-gradient(160deg, var(--wall1) 0%, var(--wall2) 100%);
  box-shadow:
    inset 0 0 0 1px rgba(0,255,255,0),
    inset 0 -10px 16px rgba(0,0,0,.38),
    10px 9px 0 -1px #0d1208,
    15px 15px 22px rgba(0, 0, 0, .58);
  transform: rotateX(3deg) rotateY(-9deg);
  transform-style: preserve-3d;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 2px;
  padding-top: 14px;
}
/* 屋顶：真正的坡屋顶三角 */
.wll-node .wll-b3d::before {
  content: '';
  position: absolute;
  top: -27px;
  left: -9px;
  width: 102px;
  height: 30px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.20), rgba(0,0,0,.16)),
    linear-gradient(160deg, var(--roof) 0%, var(--roof2) 100%);
  clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
  border: none;
  border-radius: 0;
  transform: none;
  filter: drop-shadow(0 5px 5px rgba(0,0,0,.45));
  z-index: 3;
}
/* 右侧墙：真正的侧面（不是细边） */
.wll-node .wll-b3d::after {
  content: '';
  position: absolute;
  top: 4px;
  right: -15px;
  width: 15px;
  height: 98px;
  border-radius: 0 3px 3px 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(0,0,0,.28)),
    linear-gradient(180deg, var(--roof2), var(--wall2));
  border: 1px solid rgba(255,255,255,.10);
  border-left: none;
  transform: skewY(-19deg);
  transform-origin: left top;
  filter: brightness(.72);
  z-index: 1;
}
/* 楼体正面上的门 */
.wll-node .wll-b3d .wll-em::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 46px;
  width: 18px;
  height: 29px;
  transform: translateX(-50%);
  border-radius: 9px 9px 1px 1px;
  background: linear-gradient(180deg, rgba(255, 220, 140, .18), rgba(0, 0, 0, .55));
  border: 1px solid rgba(255, 215, 106, .22);
  box-shadow: inset 0 0 6px rgba(0,0,0,.6);
  pointer-events: none;
}
.wll-node .wll-em {
  position: relative;
  z-index: 4;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: -2px;
  border-radius: 50%;
  font-size: 1.9rem;
  background: radial-gradient(circle at 50% 44%, rgba(255, 215, 106, .30), rgba(0, 0, 0, .45) 62%, transparent 70%);
  filter: drop-shadow(0 0 10px var(--glow)) drop-shadow(0 3px 4px rgba(0,0,0,.7));
}
.wll-node .wll-nm {
  position: relative;
  z-index: 4;
  margin-top: 5px;
  padding: 1px 4px;
  border-radius: 3px;
  background: rgba(3, 6, 3, .62);
  border: 1px solid rgba(255, 215, 106, .16);
  color: #ffe9c4;
  font-size: .54rem;
  line-height: 1.25;
  max-width: 76px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wll-node .wll-ds {
  position: relative;
  z-index: 4;
  font-size: .4rem;
  color: #b6c1a3;
  max-width: 78px;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* 门前地台（等距菱形） */
.wll-node::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 22px;
  width: 118px;
  height: 34px;
  transform: translateX(-50%);
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  background:
    radial-gradient(60% 60% at 50% 50%, rgba(255, 215, 106, .20), rgba(0, 0, 0, .52) 62%, transparent 72%);
  border: none;
  box-shadow: none;
  pointer-events: none;
  z-index: 0;
}
.wll-node .wll-b3d { margin-bottom: 28px; }
.wll-node .wll-dot { top: 26px; right: 10px; z-index: 6; }

/* 各类型屋顶/墙/光色 */
.wll-node.n-shop .wll-b3d, .wll-node.n-wf .wll-b3d { --roof: #c9a85a; --roof2: #66531f; --wall1: #4a4028; --wall2: #1e1a0e; --glow: #ffd76a; }
.wll-node.n-arena .wll-b3d, .wll-node.n-pve .wll-b3d { --roof: #b05a48; --roof2: #5c2a22; --wall1: #493127; --wall2: #1b100d; --glow: #ff9a6a; }
.wll-node.n-recruit .wll-b3d, .wll-node.n-tavern .wll-b3d { --roof: #8f6bc4; --roof2: #45305f; --wall1: #382c4c; --wall2: #151020; --glow: #c9a3ff; }
.wll-node.hot .wll-b3d { --roof: #a682d8; --roof2: #4d326c; --wall1: #40305a; --wall2: #160e22; --glow: #d0a6ff; }
.wll-node.n-forge .wll-b3d { --roof: #a86b45; --roof2: #57301d; --wall1: #44301f; --wall2: #1c120a; --glow: #ffb070; }
.wll-node.n-idle .wll-b3d { --roof: #5a9a8b; --roof2: #2c4f46; --wall1: #2d443c; --wall2: #101d18; --glow: #8fe0d0; }
.wll-node.n-bag .wll-b3d, .wll-node.n-tasks .wll-b3d, .wll-node.n-boards .wll-b3d, .wll-node.n-codex .wll-b3d { --roof: #7b8a5a; --roof2: #3a4527; --wall1: #39432a; --wall2: #161c0e; --glow: #d8e4a0; }

@media (max-height: 380px) {
  .wll-node { width: 112px; height: 188px; }
  .wll-node .wll-b3d { width: 76px; height: 96px; margin-top: 30px; }
  .wll-node .wll-b3d::before { width: 92px; height: 27px; left: -8px; top: -24px; }
  .wll-node .wll-b3d::after { height: 86px; }
  .wll-node .wll-em { width: 42px; height: 42px; font-size: 1.6rem; }
  .wll-node .wll-b3d .wll-em::after { top: 38px; height: 25px; }
}

/* ===== 后街节点 · 2.5D 建筑最终版（更明确的正/侧/屋顶三面） ===== */
.wll-node { width: 132px; height: 212px; }
.wll-node .wll-b3d {
  width: 76px;
  height: 104px;
  margin-top: 42px;
  margin-right: 18px;
  padding-top: 10px;
  border-radius: 3px 3px 2px 2px;
  background:
    linear-gradient(90deg, transparent 43%, rgba(5, 7, 3, .88) 43% 57%, transparent 57%) 50% 100% / 100% 34px no-repeat,
    radial-gradient(circle at 26% 38%, #ffd76a 0 5px, rgba(255,215,106,0) 6px),
    radial-gradient(circle at 74% 38%, #ffd76a 0 5px, rgba(255,215,106,0) 6px),
    repeating-linear-gradient(0deg, rgba(0,0,0,.16) 0 1px, transparent 1px 12px),
    linear-gradient(90deg, rgba(0,0,0,.22), transparent 18%, transparent 82%, rgba(0,0,0,.34)),
    linear-gradient(160deg, var(--wall1), var(--wall2));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.05),
    inset -10px 0 16px rgba(0,0,0,.36),
    13px 10px 0 -1px #0c1107,
    20px 18px 26px rgba(0,0,0,.60);
  transform: rotateX(2deg) rotateY(-7deg);
}
.wll-node .wll-b3d::before {
  top: -32px;
  left: -13px;
  width: 102px;
  height: 36px;
  background:
    linear-gradient(116deg, rgba(255,255,255,.22) 0 46%, rgba(0,0,0,.26) 46% 100%),
    linear-gradient(160deg, var(--roof), var(--roof2));
  clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
  filter: drop-shadow(0 6px 6px rgba(0,0,0,.5));
}
.wll-node .wll-b3d::after {
  top: 9px;
  right: -22px;
  width: 22px;
  height: 96px;
  transform: skewY(-24deg);
  background:
    linear-gradient(90deg, rgba(255,255,255,.08), rgba(0,0,0,.24)),
    linear-gradient(180deg, var(--roof2), var(--wall2));
  filter: brightness(.65);
}
.wll-node .wll-em {
  width: 44px;
  height: 38px;
  margin-top: 0;
  border-radius: 4px;
  background: rgba(4, 7, 3, .36);
  border: 1px solid rgba(255, 215, 106, .28);
  box-shadow: inset 0 0 10px rgba(255, 215, 106, .12), 0 0 10px var(--glow);
  font-size: 1.45rem;
}
.wll-node .wll-b3d .wll-em::after { display: none; }
.wll-node .wll-nm {
  margin-top: 3px;
  font-size: .5rem;
  max-width: 68px;
  padding: 0 2px;
  background: rgba(0,0,0,.5);
}
.wll-node .wll-ds {
  font-size: .36rem;
  max-width: 68px;
  margin-top: 0;
}
.wll-node .wll-dot { top: 40px; right: 16px; }

/* ===== V1.53.0 末日首领横屏紧凑版 ===== */
#wl-v-lord.active { display: flex; flex-direction: column; padding: 2px 5px 4px !important; }
#wl-v-lord .lord-top { flex: none; height: 34px; padding: 2px 4px !important; }
#wl-v-lord #wl-lord-body { flex: 1 1 auto; min-height: 0; overflow: hidden !important; }
#wl-v-lord .ll-wrap {
  height: 100%;
  grid-template-columns: 29% 1fr 34% !important;
  gap: 5px !important;
  padding: 2px 4px 4px !important;
  align-items: stretch !important;
  overflow: hidden;
}
#wl-v-lord .ll-boss,
#wl-v-lord .ll-mid,
#wl-v-lord .ll-panel { min-height: 0 !important; overflow: hidden; }
#wl-v-lord .ll-boss { padding: 4px 5px !important; display: flex; flex-direction: column; }
#wl-v-lord .ll-figure { height: 88px !important; flex: 0 0 auto; }
#wl-v-lord .ll-lordimg { max-height: 88px !important; }
#wl-v-lord .ll-lordph { font-size: 2.9rem !important; }
#wl-v-lord .ll-bname { margin-top: 2px !important; font-size: .78rem !important; }
#wl-v-lord .ll-tags { gap: 3px !important; margin-top: 2px !important; }
#wl-v-lord .ll-tag { font-size: .46rem !important; padding: 1px 5px !important; }
#wl-v-lord .ll-mech { font-size: .48rem !important; line-height: 1.35; margin-top: 3px; max-height: 2.7em; overflow: hidden; }
#wl-v-lord .ll-mid { padding: 5px 7px 4px !important; display: flex; flex-direction: column; }
#wl-v-lord .ll-mtitle { font-size: 1rem !important; }
#wl-v-lord .ll-mtitle .ldec { width: 74px !important; height: 4px !important; margin-top: 2px !important; }
#wl-v-lord .ll-leftline { margin-top: 3px !important; font-size: .54rem !important; }
#wl-v-lord .ll-stats { margin: 4px 0 2px !important; gap: 4px !important; }
#wl-v-lord .ll-stat { padding: 4px 2px !important; }
#wl-v-lord .ll-stat i { font-size: .76rem !important; }
#wl-v-lord .ll-stat em { font-size: .44rem !important; margin-top: 1px !important; }
#wl-v-lord .ll-acts { gap: 4px !important; margin-top: 4px !important; }
#wl-v-lord .ll-go { font-size: .68rem !important; padding: 6px 4px !important; border-radius: 7px !important; }
#wl-v-lord .ll-right { gap: 5px !important; display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
#wl-v-lord .ll-panel { padding: 4px 6px !important; display: flex; flex-direction: column; min-height: 0; }
#wl-v-lord .ll-panel:first-child { flex: 1 1 56%; }
#wl-v-lord .ll-panel:last-child { flex: 1 1 44%; }
#wl-v-lord .ll-pt { font-size: .56rem !important; margin-bottom: 2px !important; }
#wl-v-lord .ll-honor { font-size: .5rem !important; }
#wl-v-lord .ll-plist { max-height: none !important; flex: 1 1 auto; min-height: 0; overflow-y: auto; gap: 3px !important; font-size: .48rem; }
#wl-v-lord .ll-empty { padding: 2px 0 !important; font-size: .48rem !important; }
#wl-v-lord .ll-line { font-size: .48rem !important; }

/* lord gain height + scroll cues */
#wl-v-lord .lord-top { display: none !important; }
#wl-v-lord #wl-lord-body { height: calc(100% - 6px); }
#wl-v-lord .ll-panel { position: relative; }
#wl-v-lord .ll-panel::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 14px;
  background: linear-gradient(180deg, rgba(10,15,7,0), rgba(10,15,7,.92));
  pointer-events: none;
}
#wl-v-lord .ll-plist { scrollbar-width: thin; padding-bottom: 10px; }
#wl-v-lord .ll-plist::-webkit-scrollbar { width: 4px; }
#wl-v-lord .ll-plist::-webkit-scrollbar-thumb { background: #5a6d40; border-radius: 2px; }

/* lord right column exact heights */
#wl-v-lord .ll-right { gap: 5px !important; padding-bottom: 2px; }
#wl-v-lord .ll-panel:first-child { flex: 0 0 122px !important; }
#wl-v-lord .ll-panel:nth-child(2) { flex: 0 0 76px !important; }
#wl-v-lord .ll-panel.ll-shop { flex: 1 1 auto !important; }
#wl-v-lord .ll-tiers .ll-plist { gap: 2px !important; }
#wl-v-lord .ll-shop .ll-plist { gap: 3px !important; }
#wl-v-lord .ll-panel::after { display: none !important; }

/* ===== V1.53.0 列表/招募/酒馆/荒野塔 宽度修复 ===== */
#wl-v-recruit #wl-rec-btns { display: none !important; }
#wl-v-recruit #wl-rec-pool {
  flex: 1 1 100% !important;
  width: 100% !important;
  max-width: none !important;
  overflow-y: auto;
}
#wl-v-recruit .wl-rec-row { display: flex; gap: 8px; align-items: stretch; }
#wl-v-recruit .wl-bldg2 { flex: 1 1 0; min-width: 0; }

#wl-v-tavern #wl-tavern-body {
  display: grid !important;
  grid-template-columns: 38% minmax(0, 1fr);
  grid-auto-rows: auto;
  gap: 5px;
  width: 100%;
  overflow: hidden;
  height: auto !important;
  flex: 1 1 auto;
  min-height: 0;
}
#wl-v-tavern #wl-tavern-body > .wl-sec-t,
#wl-v-tavern #wl-tavern-body > .wl-sec-d { grid-column: 1 / -1; }
#wl-v-tavern #wl-tavern-body > .wl-sec {
  margin: 0 !important;
  min-height: 0;
  overflow-y: auto;
  scrollbar-width: thin;
}
#wl-v-tavern .tv-list { max-height: none !important; overflow: visible !important; }
#wl-v-tavern .tv-row { width: 100%; }

#wl-v-codex #wl-codex-body {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-template-rows: none !important;
  gap: 6px !important;
  width: 100%;
  height: calc(100% - 34px);
  overflow: hidden !important;
}
#wl-v-codex #wl-codex-body > .wl-sec { width: auto !important; min-width: 0; height: 100%; overflow-y: auto; margin: 0 !important; }

#wl-v-boards #wl-boards-body {
  display: flex !important;
  flex-direction: column;
  gap: 4px;
  width: 100% !important;
  height: calc(100% - 34px);
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: thin;
}
#wl-v-boards #wl-boards-body > * { width: 100% !important; max-width: none !important; }
#wl-v-boards #wl-boards-body .wl-sec { margin: 0 !important; }

#wl-v-tower .wl-tower-card {
  width: 100% !important;
  max-width: none !important;
  min-height: 0;
  height: 100%;
  overflow-y: auto;
}
#wl-v-tower.active { display: flex; flex-direction: column; }

/* ===== V1.53.0 招募 / 酒馆 二次收紧 ===== */
#wl-v-recruit .wl-rec-row { justify-content: stretch !important; }
#wl-v-recruit .wl-rec-row .wl-bldg2 { max-width: none !important; width: auto !important; }

#wl-v-tavern.active { display: flex; flex-direction: column; }
#wl-v-tavern #wl-tavern-body {
  flex: 1 1 auto;
  min-height: 0;
  height: auto !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
}
#wl-v-tavern #wl-tavern-body > .wl-sec { max-height: 100%; }
#wl-v-tavern .tv-list {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  overflow: visible !important;
}
#wl-v-tavern .tv-row {
  width: 100% !important;
  height: auto !important;
  min-height: 34px !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
}
#wl-v-tavern .tv-nm { flex: 1 1 auto; min-width: 0; }
#wl-v-tavern .tv-av { flex: 0 0 auto; }
#wl-v-tavern .tv-yield { flex: 0 0 auto; }

/* tavern grid placement fix */
#wl-v-tavern #wl-tavern-body {
  grid-auto-flow: row !important;
  grid-auto-columns: auto !important;
  grid-auto-rows: auto !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
}

/* ===== V1.53.0 英雄大厅：三列独立滚动，页面不再被撑高 ===== */
#wl-v-heroes.active { display: flex; flex-direction: column; }
#wl-v-heroes .hs3-body {
  grid-template-rows: minmax(0, 1fr) !important;
  grid-auto-rows: minmax(0, 1fr) !important;
  min-height: 0;
  height: auto;
  overflow: hidden;
}
#wl-v-heroes .hs3-team,
#wl-v-heroes .hs3-mid,
#wl-v-heroes .hs3-right,
#wl-v-heroes .hs3-mod {
  min-height: 0 !important;
}
#wl-v-heroes .hs3-team { display: flex; flex-direction: column; overflow: hidden; }
#wl-v-heroes .hs3-team .hs3-slots {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto !important;
  scrollbar-width: thin;
}
#wl-v-heroes .hs3-mid { overflow-y: auto !important; scrollbar-width: thin; }
#wl-v-heroes .hs3-right { overflow-y: auto !important; scrollbar-width: thin; }
#wl-v-heroes .hs3-figwrap { flex: 0 0 auto; }
#wl-v-heroes .hs3-fig { transform: scale(.68); transform-origin: top center; }

#wl-v-heroes .hs3-body { align-items: stretch !important; }
#wl-v-heroes .hs3-team,
#wl-v-heroes .hs3-mid,
#wl-v-heroes .hs3-right { height: 100% !important; }

/* idle bottom ops single row; recruit pool height */
#wl-v-idle .idle-ops {
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 4px 6px !important;
  gap: 6px !important;
  align-items: center !important;
  scrollbar-width: none;
}
#wl-v-idle .idle-ops::-webkit-scrollbar { display: none; }
#wl-v-idle .idle-ops > * { flex: 0 0 auto !important; }
#wl-v-idle .idle-ops .ops-em { font-size: 1rem; }
#wl-v-idle .idle-ops .ops-coupon,
#wl-v-idle .idle-ops .ops-cd,
#wl-v-idle .idle-ops .ops-pend { font-size: .48rem; white-space: nowrap; }
#wl-v-idle .idle-ops .ops-boost { font-size: .46rem; padding: 3px 7px; }
#wl-v-idle .idle-ops .ops-claim { font-size: .48rem; padding: 3px 8px; }

#wl-v-recruit #wl-rec-pool {
  height: calc(100% - 53px);
  max-height: calc(100% - 53px);
  overflow-y: auto !important;
  scrollbar-width: thin;
}

/* battle clean: hide floating unit bars/names and PVP flip in HUD */
#wl-v-battle.bat3.active .wl2-unit .u-top,
#wl-v-battle.bat3.active .wl2-unit .u-nm,
#wl-v-battle.bat3.active .fx-skname { display: none !important; }
#wll-bat-dock #wl-btn-bswap { display: none !important; }

/* 后街入口收进左侧导航；后街页保留左侧导航（仅战斗隐藏） */
body.on-alley .wll-top { display: flex !important; }
body.on-alley .wll-top .wll-alley-btn { display: none !important; }
.wll-top .wll-alley-btn {
  position: static !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 24px;
  border-radius: 8px !important;
  flex-direction: row !important;
  gap: 3px;
  padding: 3px 4px !important;
  font-size: .5rem !important;
  line-height: 1.2;
  box-shadow: 0 0 10px rgba(255, 190, 70, .28) !important;
}
.wll-top .wll-alley-btn .em { font-size: .82rem !important; line-height: 1; }
.wll-top .wll-alley-btn .tx { font-size: .5rem !important; line-height: 1.2; }
body.on-main:not(.on-alley) .wll-top .wll-alley-btn { display: flex !important; }
body.on-alley .wll-alley-page { left: var(--wll-rail-w); }
body.on-alley .wll-alley-track { padding-left: 16px; }

/* tasks compact cards */
#wl-v-tasks .tk-card {
  flex-wrap: nowrap !important;
  padding: 4px 5px !important;
  gap: 4px !important;
  margin-top: 0 !important;
  align-items: center !important;
}
#wl-v-tasks .tk-l { flex: 1 1 auto !important; min-width: 0; gap: 4px !important; }
#wl-v-tasks .tk-info { flex: 1 1 auto; min-width: 0; }
#wl-v-tasks .tk-nm { font-size: .56rem !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#wl-v-tasks .tk-sub { font-size: .46rem !important; margin-top: 1px !important; }
#wl-v-tasks .tk-prog { height: 4px !important; margin-top: 3px !important; }
#wl-v-tasks .tk-rw { margin-top: 3px !important; gap: 3px !important; }
#wl-v-tasks .tk-r { flex: 0 0 auto !important; width: auto !important; }
#wl-v-tasks .tk-btn { min-width: 0 !important; min-height: 0 !important; padding: 3px 5px !important; font-size: .46rem !important; }
#wl-v-tasks .tk-rw .rw-chip { font-size: .44rem; padding: 1px 3px; }

#wl-v-boards #wl-boards-body { height: calc(100% - 38px) !important; }

/* =====================================================================
 * V1.54.0 福利中心 cdd 风格 + 战斗头像横排 + 甄选币商品统一
 * ===================================================================== */
.wll-wfmodal {
  left: var(--wll-rail-w);
  padding: 8px;
  z-index: 250;
  background: rgba(2, 6, 5, .78);
}
.wll-wfbox {
  width: calc(100vw - var(--wll-rail-w) - 20px) !important;
  max-width: 1080px !important;
  height: min(91dvh, 610px) !important;
  max-height: calc(100dvh - 16px);
  display: flex;
  flex-direction: column;
  border-radius: 16px !important;
  border: 1px solid #a77d2c !important;
  background:
    radial-gradient(80% 60% at 50% -20%, rgba(24, 150, 138, .20), transparent 62%),
    radial-gradient(60% 40% at 100% 110%, rgba(255, 150, 60, .10), transparent 62%),
    linear-gradient(180deg, #0a2b2a 0%, #071a19 46%, #04100f 100%) !important;
  box-shadow:
    0 0 0 1px rgba(255, 215, 106, .08),
    0 22px 80px rgba(0, 0, 0, .82),
    0 0 40px rgba(28, 170, 150, .16) !important;
  overflow: hidden;
}
.wll-wfhero {
  flex: none;
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 12px 5px;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(55% 150% at 50% -30%, rgba(52, 255, 220, .20), transparent 64%),
    linear-gradient(180deg, rgba(7, 43, 42, .95), rgba(5, 24, 23, .55));
  border-bottom: 1px solid rgba(255, 215, 106, .48);
}
.wll-wfhero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 12% 30%, rgba(255,255,255,.7) 0 1px, transparent 1.5px),
    radial-gradient(circle at 68% 18%, rgba(140,255,230,.6) 0 1px, transparent 1.5px),
    radial-gradient(circle at 88% 62%, rgba(255,230,150,.55) 0 1px, transparent 1.5px),
    radial-gradient(circle at 36% 74%, rgba(255,255,255,.42) 0 1px, transparent 1.5px);
  background-size: 160px 80px, 220px 100px, 190px 90px, 240px 120px;
  opacity: .55;
  pointer-events: none;
}
.wll-wfhero::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 180px;
  left: -220px;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.16), transparent);
  transform: skewX(-18deg);
  animation: wllWfSweep 4.2s ease-in-out infinite;
  pointer-events: none;
}
@keyframes wllWfSweep { 0%, 55% { left: -220px; } 80%, 100% { left: 110%; } }
.wll-wfhero-l { min-width: 0; position: relative; z-index: 2; }
.wll-wfhero .kicker { font-size: .46rem; letter-spacing: .24em; color: #9ed6c8; text-shadow: 0 1px 2px #000; }
.wll-wfhero .title {
  margin-top: 0;
  font-size: clamp(1.15rem, 2.4vw, 1.7rem);
  line-height: 1.02;
  font-weight: 900;
  letter-spacing: .10em;
  background: linear-gradient(180deg, #fffbe0 0%, #ffe28a 34%, #ffc23d 64%, #b97612 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 2px 0 rgba(80, 38, 0, .9)) drop-shadow(0 0 12px rgba(255, 200, 70, .55));
  white-space: nowrap;
}
.wll-wfhero .sub { margin-top: 1px; display: flex; align-items: center; gap: 5px; font-size: .46rem; color: #c9ded4; letter-spacing: .06em; }
.wll-wfhero .sub i { width: 1px; height: 8px; background: rgba(255, 215, 106, .45); }
.wll-wfhero-r { display: flex; align-items: center; gap: 6px; position: relative; z-index: 2; }
.wll-wfhero .hot {
  padding: 3px 8px;
  border-radius: 999px;
  font-size: .48rem;
  font-weight: 900;
  color: #2b1700;
  background: linear-gradient(180deg, #ffe08a, #e8a33d);
  border: 1px solid #fff0bd;
  box-shadow: 0 0 14px rgba(255, 190, 70, .55);
  white-space: nowrap;
  animation: wllHotPulse 1.4s ease-in-out infinite;
}
@keyframes wllHotPulse { 0%,100% { box-shadow: 0 0 8px rgba(255,190,70,.4); } 50% { box-shadow: 0 0 20px rgba(255,210,110,.95); } }
.wll-wfhero .timer {
  padding: 3px 8px;
  border-radius: 999px;
  font-size: .48rem;
  font-weight: 800;
  color: #ffe9a8;
  background: rgba(0, 0, 0, .45);
  border: 1px solid rgba(255, 215, 106, .55);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.wll-wfhero .x {
  width: 26px; height: 26px;
  border-radius: 7px;
  border: 1px solid #6f5a24;
  background: rgba(8, 20, 18, .8);
  color: #ffe9b0;
  font-size: .8rem;
  cursor: pointer;
}
.wll-wftabs {
  flex: none;
  display: flex;
  gap: 5px;
  padding: 5px 10px 4px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  border-bottom: 1px solid rgba(255, 215, 106, .16);
  background: rgba(3, 12, 11, .45);
}
.wll-wftabs::-webkit-scrollbar { display: none; }
.wll-wftab {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 4px 10px;
  border-radius: 8px;
  border: 1px solid #2e5b52;
  background: linear-gradient(180deg, #0e2d2a, #071b19);
  color: #bbd8cf;
  font-size: .5rem;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
  transition: transform .12s ease, box-shadow .15s ease;
}
.wll-wftab b { font-size: .68rem; line-height: 1; }
.wll-wftab.on {
  color: #2b1700;
  background: linear-gradient(180deg, #fff0b8 0%, #ffd76a 36%, #d99a27 100%);
  border-color: #fff2bd;
  box-shadow: 0 0 14px rgba(255, 200, 80, .70), inset 0 1px 0 rgba(255,255,255,.65);
  transform: translateY(-1px);
}
.wll-wfmain {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-columns: 37% minmax(0, 1fr);
  gap: 6px;
  padding: 5px 8px 8px;
}
.wll-wfleft, .wll-wfright {
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  border-radius: 10px;
  border: 1px solid rgba(255, 215, 106, .24);
  background:
    linear-gradient(180deg, rgba(10, 37, 35, .92), rgba(4, 18, 17, .95));
  box-shadow: inset 0 0 26px rgba(0, 0, 0, .35), 0 4px 16px rgba(0, 0, 0, .32);
  padding: 5px 6px 7px;
  scrollbar-width: thin;
  scrollbar-color: #6b5a2b transparent;
}
.wll-wfleft::-webkit-scrollbar, .wll-wfright::-webkit-scrollbar { width: 4px; }
.wll-wfleft::-webkit-scrollbar-thumb, .wll-wfright::-webkit-scrollbar-thumb { background: #6b5a2b; border-radius: 2px; }
.wll-wfph {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
  padding: 2px 1px 4px;
  margin: -1px 0 4px;
  background: linear-gradient(180deg, rgba(6, 24, 22, .98), rgba(6, 24, 22, .82));
  border-bottom: 1px solid rgba(255, 215, 106, .18);
}
.wll-wfph b { font-size: .58rem; color: #ffe6a0; letter-spacing: .06em; }
.wll-wfph span { font-size: .42rem; color: #8eb6ab; text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wll-wf-m {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) auto;
  align-items: center;
  gap: 5px;
  padding: 4px 5px;
  margin-bottom: 4px;
  border-radius: 8px;
  border: 1px solid #25504a;
  background: linear-gradient(120deg, rgba(12, 47, 43, .86), rgba(5, 23, 21, .92));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
.wll-wf-m.can { border-color: #6dff58; box-shadow: 0 0 11px rgba(109,255,88,.35), inset 0 0 12px rgba(109,255,88,.08); }
.wll-wf-m.done { opacity: .62; }
.wll-wf-m.lock { opacity: .48; filter: saturate(.55); }
.wll-wf-mic {
  width: 26px; height: 26px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 7px;
  font-size: .9rem;
  background: radial-gradient(circle at 50% 35%, rgba(255, 215, 106, .26), rgba(0,0,0,.35) 70%);
  border: 1px solid rgba(255, 215, 106, .38);
  box-shadow: inset 0 0 8px rgba(255,215,106,.12);
}
.wll-wf-mbd { min-width: 0; }
.wll-wf-mnm { font-size: .52rem; font-weight: 800; color: #f4ead0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wll-wf-mp { position: relative; height: 5px; border-radius: 3px; background: #0b2623; border: 1px solid #1d4540; overflow: hidden; margin: 2px 0 1px; }
.wll-wf-mp i { display: block; height: 100%; background: linear-gradient(90deg, #4fd43a, #b4ff70); box-shadow: 0 0 7px rgba(120,255,100,.65); }
.wll-wf-mp b { position: absolute; right: 2px; top: -2px; font-size: .38rem; line-height: 7px; color: #d9ffe0; text-shadow: 0 1px 1px #000; }
.wll-wf-mrw { display: flex; flex-wrap: wrap; gap: 2px; margin-top: 1px; }
.wll-wf-mrw .wf-rw, .wll-wf-mrw .rw-chip { font-size: .38rem; padding: 0 3px; line-height: 1.4; border-radius: 3px; }
.wll-wf-mact { align-self: center; }
.wll-wf-claim {
  padding: 3px 7px;
  border-radius: 6px;
  border: 1px solid #ffd76a;
  background: linear-gradient(180deg, #ffe28a, #e8a33d);
  color: #2a1a00;
  font-size: .46rem;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 0 10px rgba(255, 190, 70, .45);
  white-space: nowrap;
}
.wll-wf-claim.gold { background: linear-gradient(180deg, #a7ff8f, #4fce39); border-color: #d6ffc2; color: #062000; }
.wll-wf-tag { font-size: .4rem; padding: 1px 5px; border-radius: 999px; white-space: nowrap; border: 1px solid #31564f; color: #8fb5ab; }
.wll-wf-tag.done { color: #9cff86; border-color: #4d8a41; }
.wll-wf-tag.wait { color: #b99b6a; border-color: #594b2c; }
.wll-wf-tag.lock { color: #9a8ca8; border-color: #4a3c5c; }
.wll-wf-subh { margin: 5px 0 3px; font-size: .46rem; font-weight: 800; color: #ffd76a; letter-spacing: .08em; }
.wll-wf-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; margin-bottom: 5px; }
.wll-wf-day {
  padding: 3px 0;
  border-radius: 5px;
  border: 1px solid #31564f;
  background: #0a2421;
  color: #a8c8be;
  font-size: .42rem;
  font-weight: 800;
  cursor: pointer;
}
.wll-wf-day.on { background: linear-gradient(180deg, #ffe08a, #d99a27); color: #2b1700; border-color: #fff0bd; box-shadow: 0 0 8px rgba(255,200,80,.5); }
.wll-wf-day.done { color: #7dff5a; }
.wll-wf-bigstat {
  position: relative;
  margin: 1px 0 5px;
  padding: 5px 8px 6px;
  border-radius: 9px;
  border: 1px solid rgba(255, 215, 106, .38);
  background:
    radial-gradient(80% 100% at 50% 0%, rgba(255, 200, 80, .16), transparent 65%),
    linear-gradient(180deg, rgba(31, 27, 12, .72), rgba(9, 18, 15, .85));
  text-align: center;
}
.wll-wf-bigstat b {
  display: block;
  font-size: 1.35rem;
  line-height: 1.05;
  font-weight: 900;
  color: #ffe27a;
  text-shadow: 0 2px 0 #6b3d00, 0 0 18px rgba(255, 200, 60, .65);
  letter-spacing: .02em;
}
.wll-wf-bigstat span { display: block; font-size: .48rem; color: #e7d7ad; font-weight: 800; margin-top: 1px; }
.wll-wf-bigstat i { display: block; font-size: .4rem; color: #9ebbb1; font-style: normal; margin-top: 1px; }
.wll-wf-block {
  margin-bottom: 5px;
  padding: 5px 6px;
  border-radius: 8px;
  border: 1px solid #25504a;
  background: rgba(4, 20, 18, .65);
}
.wll-wf-block.premium { border-color: #8a6bb8; box-shadow: inset 0 0 14px rgba(138, 107, 184, .12); }
.wll-wf-block.final { border-color: #a77d2c; box-shadow: 0 0 12px rgba(255, 190, 70, .14); }
.wll-wf-bt { font-size: .48rem; font-weight: 800; color: #ffd76a; margin-bottom: 4px; }
.wll-wf-rgrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(66px, 1fr));
  gap: 4px;
}
.wll-wf-tile {
  position: relative;
  min-height: 60px;
  padding: 4px 3px 3px;
  border-radius: 7px;
  border: 1px solid #3b3a24;
  background:
    radial-gradient(80% 60% at 50% 0%, rgba(255, 215, 106, .10), transparent 70%),
    linear-gradient(160deg, #182525, #081412);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  text-align: center;
  box-shadow: inset 0 0 10px rgba(0,0,0,.35);
  overflow: hidden;
}
.wll-wf-tile .ic { font-size: 1.18rem; line-height: 1.1; filter: drop-shadow(0 2px 3px rgba(0,0,0,.6)); }
.wll-wf-tile .qty { font-size: .48rem; font-weight: 900; color: #ffe08a; font-style: normal; line-height: 1.1; }
.wll-wf-tile .lb { font-size: .36rem; color: #a9c2b9; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; line-height: 1.2; }
.wll-wf-tile.t-dia { border-color: #2c6a80; }
.wll-wf-tile.t-tk { border-color: #8a5b2b; }
.wll-wf-tile.t-zx { border-color: #6b4f9a; }
.wll-wf-tile.t-eq { border-color: #785f2e; box-shadow: 0 0 9px rgba(255,200,80,.12), inset 0 0 10px rgba(0,0,0,.35); }
.wll-wf-tile.t-frag { border-color: #88424a; }
.wll-wf-actions { display: flex; flex-direction: column; gap: 4px; margin-top: 4px; }
.wll-wf-big {
  width: 100%;
  padding: 7px 8px;
  border-radius: 8px;
  border: 1px solid #ffb08a;
  background: linear-gradient(180deg, #ff9a5a 0%, #e8522b 52%, #b52b12 100%);
  color: #fff6dc;
  font-size: .56rem;
  font-weight: 900;
  letter-spacing: .06em;
  cursor: pointer;
  box-shadow: 0 0 16px rgba(255, 90, 40, .48), inset 0 1px 0 rgba(255,255,255,.35);
  text-shadow: 0 1px 2px rgba(80, 10, 0, .7);
  animation: wllClaimPulse 1.7s ease-in-out infinite;
}
@keyframes wllClaimPulse { 0%,100% { box-shadow: 0 0 10px rgba(255,90,40,.35); } 50% { box-shadow: 0 0 22px rgba(255,120,60,.8); } }
.wll-wf-big.gold { border-color: #fff0bd; background: linear-gradient(180deg, #ffe98f, #e8a33d 56%, #a9660e); color: #2a1700; text-shadow: 0 1px 0 rgba(255,255,255,.4); animation: none; }
.wll-wf-big[disabled] { opacity: .45; filter: grayscale(.6); animation: none; cursor: default; }
.wll-wf-note { font-size: .4rem; line-height: 1.5; color: #8aa89f; padding: 3px 2px 0; }
.wll-wf-tags { display: flex; flex-wrap: wrap; gap: 3px; margin-bottom: 5px; }
.wll-wf-tags span { font-size: .4rem; color: #ffe8ac; border: 1px solid #6b5a2b; border-radius: 999px; padding: 1px 6px; background: rgba(255, 215, 106, .06); }
.wll-wf-exg { display: flex; flex-wrap: wrap; gap: 3px; }
.wll-wf-exgbtn { padding: 3px 6px; border-radius: 6px; border: 1px solid #6b5a2b; background: #12201c; color: #ffe8ac; font-size: .42rem; cursor: pointer; }
.wll-wf-empty { padding: 14px 6px; text-align: center; font-size: .5rem; color: #8aa89f; }

/* ---------- 战斗头像：正方形 · 横排 · 缩小 · 贴角 ---------- */
#wl-scene .wll-hud {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start;
  gap: 2px !important;
  max-width: none !important;
  overflow: visible !important;
}
#wl-scene .wll-hud.en { top: 2px !important; right: 2px !important; margin: 0 !important; }
#wl-scene .wll-hud.my { left: 2px !important; bottom: 2px !important; }
#wl-scene .wll-hud .wll-unit {
  width: 32px !important;
  min-width: 32px;
  padding: 2px 1px 2px !important;
  gap: 1px !important;
  border-radius: 4px !important;
  background: rgba(3, 10, 6, .72) !important;
  border-color: rgba(255, 215, 106, .36) !important;
}
#wl-scene .wll-hud.en .wll-unit { border-color: rgba(255, 120, 90, .55) !important; }
#wl-scene .wll-hud .wll-av {
  width: 26px !important;
  height: 26px !important;
  border-radius: 3px !important;
  font-size: .8rem;
  background-size: auto 100%;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.10);
}
#wl-scene .wll-hud .wll-nm { display: none !important; }
#wl-scene .wll-hud .wll-en { display: none !important; }
#wl-scene .wll-hud .wll-bars { gap: 1px !important; }
#wl-scene .wll-hud .wll-lb { display: none !important; }
#wl-scene .wll-hud .wll-bar { height: 2px !important; border-radius: 1px !important; }
#wl-scene .wll-hud .wll-bars .wll-row { gap: 0 !important; }
#wl-scene .wll-hud .wll-kills {
  top: -2px !important;
  font-size: .38rem !important;
  padding: 0 4px !important;
  line-height: 1.45;
}
#wl-scene .wll-hud.en .wll-kills { right: 0 !important; }
#wl-scene .wll-hud.my .wll-kills { left: 0 !important; }

/* ---------- 甄选币 / 补给商店：所有商品卡统一尺寸 ---------- */
#wl-shop-body .shop-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)) !important;
  grid-template-rows: none !important;
  grid-auto-flow: row !important;
  grid-auto-rows: 82px !important;
  gap: 6px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  align-content: start !important;
}
#wl-shop-body .shop-cell {
  width: 100% !important;
  height: 82px !important;
  min-height: 82px !important;
  max-height: 82px !important;
  padding: 4px 3px !important;
  justify-content: center !important;
  gap: 1px !important;
}
#wl-shop-body .shop-cell .sc-ic { width: 28px !important; height: 28px !important; }
#wl-shop-body .shop-cell .sc-em { font-size: .95rem !important; }
#wl-shop-body .shop-cell .sc-nm { font-size: .46rem !important; line-height: 1.15; }
#wl-shop-body .shop-cell .sc-pr { font-size: .44rem !important; }
#wl-shop-body .shop-cell .sc-buy { font-size: .42rem !important; padding: 1px 3px !important; }
#wl-shop-body .shop-cell .sc-off, #wl-shop-body .shop-cell .sc-hot { font-size: .36rem !important; }
#wl-shop-body .shop-cell .sc-run { width: 100% !important; height: 100% !important; }

/* 获取甄选币弹窗内商品也统一，避免招募卡被压 */
#wl-get .shop-grid, #wl-get .wl-grid {
  grid-auto-rows: 74px;
}
#wl-get .shop-cell, #wl-get .wl-qb {
  min-height: 74px;
  height: 74px;
}
#wl-get .sc-ic { width: 28px; height: 28px; }

/* 小屏适配 */
@media (max-height: 380px) {
  .wll-wfhero { height: 54px; padding: 3px 9px 3px; }
  .wll-wfhero .kicker { font-size: .4rem; }
  .wll-wfhero .title { font-size: 1.05rem; }
  .wll-wfhero .sub { font-size: .4rem; }
  .wll-wfhero .hot, .wll-wfhero .timer { font-size: .4rem; padding: 2px 6px; }
  .wll-wftabs { padding: 3px 7px 3px; gap: 4px; }
  .wll-wftab { padding: 3px 8px; font-size: .45rem; }
  .wll-wftab b { font-size: .6rem; }
  .wll-wfmain { grid-template-columns: 38% minmax(0, 1fr); padding: 4px 6px 6px; gap: 4px; }
  .wll-wfleft, .wll-wfright { padding: 4px 5px 6px; }
  .wll-wf-bigstat b { font-size: 1.12rem; }
  .wll-wf-rgrid { grid-template-columns: repeat(auto-fill, minmax(60px, 1fr)); gap: 3px; }
  .wll-wf-tile { min-height: 52px; padding: 2px; }
  .wll-wf-tile .ic { font-size: 1rem; }
  .wll-wf-big { padding: 5px 6px; font-size: .5rem; }
}
@media (max-width: 760px) {
  .wll-wfmain { grid-template-columns: 38% minmax(0, 1fr); }
  .wll-wf-m { grid-template-columns: 24px minmax(0, 1fr) auto; gap: 4px; padding: 3px 4px; }
  .wll-wf-mic { width: 24px; height: 24px; font-size: .8rem; }
  .wll-wf-mnm { font-size: .48rem; }
}

/* welfare sticky actions */
.wll-wfright .wll-wf-actions{position:sticky;bottom:-1px;z-index:8;padding:4px 0 2px;margin-top:2px;background:linear-gradient(180deg,rgba(4,18,17,0),rgba(4,18,17,.96) 34%,rgba(4,18,17,1));}
.wll-wfright .wll-wf-actions .wll-wf-big{box-shadow:0 0 18px rgba(255,90,40,.48),0 6px 14px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.35);}

/* first recharge hero card + battle square */
.wll-wf-herocard{display:flex;align-items:center;gap:7px;margin:2px 0 5px;padding:7px 8px;border-radius:10px;border:1px solid #c9963c;background:radial-gradient(80% 120% at 20% 20%,rgba(255,215,106,.26),transparent 60%),linear-gradient(120deg,#4a2b0b,#1a1a0b 60%,#071a18);box-shadow:0 0 18px rgba(255,186,70,.22),inset 0 1px 0 rgba(255,255,255,.12);}
.wll-wf-herocard b{font-size:1.8rem;line-height:1;filter:drop-shadow(0 0 10px rgba(255,210,90,.7));}
.wll-wf-herocard strong{display:block;font-size:.66rem;color:#ffe27a;text-shadow:0 1px 0 #6b3d00,0 0 12px rgba(255,190,60,.55);}
.wll-wf-herocard span{display:block;font-size:.42rem;color:#d8c9a0;margin-top:1px;}
#wl-scene .wll-hud .wll-av{border-radius:1px !important;}
#wl-scene .wll-hud .wll-unit{border-radius:2px !important;}

/* welfare: fewer rewards => bigger tiles */
.wll-wf-rgrid.few{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;}
.wll-wf-rgrid.few .wll-wf-tile{width:86px;min-height:76px;flex:0 0 86px;}
.wll-wf-rgrid.few .wll-wf-tile .ic{font-size:1.4rem;}
.wll-wf-rgrid.few .wll-wf-tile .qty{font-size:.56rem;}
.wll-wf-rgrid.few .wll-wf-tile .lb{font-size:.4rem;}
@media (max-width:760px){.wll-wf-rgrid.few .wll-wf-tile{width:74px;min-height:66px;flex-basis:74px;}}

.wll-wf-firststatus{margin:2px 0 5px;padding:5px 8px;border-radius:7px;text-align:center;font-size:.52rem;font-weight:900;letter-spacing:.06em;border:1px solid #6b5a2b;background:rgba(0,0,0,.28);color:#ffe6a0;}
.wll-wf-firststatus.can{border-color:#ffd76a;color:#2b1700;background:linear-gradient(180deg,#ffe28a,#d99a27);box-shadow:0 0 14px rgba(255,190,70,.45);}
.wll-wf-firststatus.done{color:#9cff86;border-color:#4d8a41;}

/* shop polish */
#wl-v-shop.active{background:radial-gradient(90% 60% at 50% -10%,rgba(255,200,80,.08),transparent 62%),radial-gradient(70% 50% at 100% 100%,rgba(90,180,255,.06),transparent 62%);}
#wl-v-shop .wl-h1{color:#ffe27a;text-shadow:0 0 14px rgba(255,190,70,.45);}
#wl-v-shop .shop-tab.on{box-shadow:0 0 16px rgba(255,200,80,.75),inset 0 1px 0 rgba(255,255,255,.5);}
#wl-shop-body .shop-cell{transition:transform .13s ease,border-color .15s ease,box-shadow .15s ease;}
#wl-shop-body .shop-cell:hover{transform:translateY(-2px);border-color:#ffd76a;box-shadow:0 6px 16px rgba(0,0,0,.45),0 0 12px rgba(255,190,70,.25);}
#wl-shop-body .shop-cell .sc-buy{box-shadow:0 0 8px rgba(255,190,70,.28);}

/* battle avatars: bare square portraits, no card chrome */
#wl-scene .wll-hud .wll-unit{width:32px !important;min-width:32px;padding:0 !important;gap:2px !important;border:none !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important;}
#wl-scene .wll-hud .wll-av{width:30px !important;height:30px !important;border-radius:0 !important;border:1px solid rgba(255,215,106,.78) !important;background-color:rgba(0,0,0,.48) !important;box-shadow:0 2px 7px rgba(0,0,0,.65) !important;}
#wl-scene .wll-hud.en .wll-av{border-color:rgba(255,112,84,.82) !important;}
#wl-scene .wll-hud .wll-bar{width:30px !important;height:3px !important;border-radius:0 !important;}
#wl-scene .wll-hud .wll-bars{width:30px !important;}

#wl-scene .wll-hud .wll-av{background-repeat:no-repeat;image-rendering:pixelated;background-position:center;}

#wl-scene .wll-hud .wll-kills{font-size:.44rem !important;padding:1px 5px !important;background:rgba(2,8,5,.9) !important;border-color:rgba(255,215,106,.55) !important;text-shadow:0 1px 2px #000;}

.wll-wfright .wll-wf-actions{padding-bottom:6px !important;}
.wll-wfright .wll-wf-actions .wll-wf-big{margin-bottom:1px;}

/* =====================================================================
 * V1.55.0 招募中心 1:1 参考 + 战斗敌方镜像
 * ===================================================================== */

/* ---------- 敌方精灵镜像：同一套素材左右通用 ---------- */
/* V1.56：只有「真实玩家对手」才镜像；NPC/怪物不镜像 */
.wl2-unit.b.mirror .u-spr,
.wl2-unit.b.mirror .u-img,
.wl2-unit.b.mirror .u-em,
.wl2-unit.b.mirror .d3w {
  scale: -1 1;
  transform-origin: 50% 85%;
}

/* ---------- 招募中心主页面 ---------- */
#wl-v-recruit.active {
  display: block !important;
  padding: 0 !important;
  background:
    radial-gradient(70% 80% at 8% 50%, rgba(130, 50, 200, .20), transparent 60%),
    radial-gradient(60% 80% at 100% 50%, rgba(0, 160, 220, .12), transparent 60%),
    #05080c;
}
.wll-rec-wrap {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  gap: 8px;
  padding: 8px max(8px, env(safe-area-inset-right)) 8px 8px;
  box-sizing: border-box;
  overflow: hidden;
  background:
    radial-gradient(90% 120% at 0% 50%, rgba(255, 80, 180, .14), transparent 58%),
    linear-gradient(180deg, #0a1118, #040609);
}
.wll-rec-wrap::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--wll-rec-bg);
  background-size: cover;
  background-position: center;
  opacity: .16;
  filter: saturate(.85) brightness(.7);
  pointer-events: none;
}
.wll-rec-left {
  position: relative;
  flex: 0 0 33%;
  min-width: 0;
  border-radius: 12px;
  border: 1px solid rgba(255, 100, 190, .25);
  overflow: hidden;
  background:
    radial-gradient(80% 100% at 50% 30%, rgba(80, 30, 100, .35), transparent 65%),
    linear-gradient(180deg, #0e151d, #070a0f);
  box-shadow: inset 0 0 40px rgba(0, 0, 0, .55), 0 8px 24px rgba(0, 0, 0, .45);
}
.wll-rec-neon {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 60%, rgba(255, 60, 160, .10)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.025) 0 1px, transparent 1px 40px);
  pointer-events: none;
}
.wll-rec-host {
  position: absolute;
  left: 0;
  right: 0;
  top: 4%;
  bottom: 15%;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: contain;
  filter: drop-shadow(0 10px 20px rgba(0, 0, 0, .65)) drop-shadow(0 0 18px rgba(255, 90, 180, .18));
  animation: wllRecHost float 4s ease-in-out infinite;
}
.wll-rec-host.em {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 5.8rem;
  bottom: 18%;
  filter: drop-shadow(0 0 22px rgba(255, 90, 180, .35));
}
@keyframes wllRecHost { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
.wll-rec-hostnm {
  position: absolute;
  left: 10px;
  bottom: 38px;
  font-size: .8rem;
  font-weight: 900;
  color: #ffe6f4;
  text-shadow: 0 2px 6px #000, 0 0 14px rgba(255, 80, 180, .45);
  letter-spacing: .08em;
}
.wll-rec-quote {
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 17px;
  font-size: .46rem;
  line-height: 1.4;
  color: #d8bcd6;
  text-shadow: 0 1px 3px #000;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wll-rec-badge {
  position: absolute;
  left: 8px;
  top: 8px;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: .4rem;
  font-weight: 900;
  color: #2a0018;
  background: linear-gradient(180deg, #ffb6e0, #ff4fa3);
  border: 1px solid #ffd1ea;
  box-shadow: 0 0 12px rgba(255, 70, 170, .6);
}
.wll-rec-right {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.wll-rec-hd {
  flex: none;
  min-height: 30px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.wll-rec-hd b {
  display: block;
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .12em;
  color: #fff3fa;
  text-shadow: 0 0 14px rgba(255, 60, 160, .55);
}
.wll-rec-hd span { display: block; font-size: .42rem; color: #a7b8cc; margin-top: 1px; }
.wll-rec-cap {
  margin-left: auto;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid rgba(120, 190, 255, .35);
  color: #9fd8ff;
  font-size: .44rem;
  background: rgba(0, 30, 50, .55);
  white-space: nowrap;
}
.wll-rec-tiers {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  gap: 6px;
  align-items: stretch;
}
.wll-rec-card {
  --rc: #6fc7ff;
  --rc2: #1a5c8e;
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 7px 6px 6px;
  border-radius: 11px;
  border: 1px solid var(--rc);
  background:
    radial-gradient(80% 45% at 50% 0%, rgba(255,255,255,.10), transparent 60%),
    linear-gradient(180deg, rgba(14, 25, 38, .96), rgba(5, 10, 16, .98));
  box-shadow: 0 0 16px rgba(80, 180, 255, .22), inset 0 0 22px rgba(0, 0, 0, .35);
  overflow: hidden;
}
.wll-rec-card.adv { --rc: #c38cff; --rc2: #5c2f85; box-shadow: 0 0 18px rgba(180, 100, 255, .30), inset 0 0 22px rgba(0,0,0,.35); }
.wll-rec-card.perfect { --rc: #ffd76a; --rc2: #8a5a14; box-shadow: 0 0 22px rgba(255, 200, 80, .42), inset 0 0 22px rgba(0,0,0,.35); }
.wll-rec-halo {
  position: absolute;
  top: -20%;
  left: 50%;
  width: 140%;
  height: 70%;
  transform: translateX(-50%);
  background: radial-gradient(50% 50% at 50% 50%, var(--rc), transparent 66%);
  opacity: .15;
  pointer-events: none;
  animation: wllRecHalo 2.4s ease-in-out infinite;
}
@keyframes wllRecHalo { 0%,100% { opacity: .10; transform: translateX(-50%) scale(.92); } 50% { opacity: .24; transform: translateX(-50%) scale(1.06); } }
.wll-rec-em {
  position: relative;
  z-index: 2;
  margin-top: 2px;
  font-size: 2.1rem;
  line-height: 1;
  filter: drop-shadow(0 0 12px var(--rc)) drop-shadow(0 4px 6px rgba(0,0,0,.7));
}
.wll-rec-nm {
  position: relative;
  z-index: 2;
  margin-top: 2px;
  font-size: .66rem;
  font-weight: 900;
  color: #fff;
  text-shadow: 0 0 10px var(--rc), 0 2px 3px #000;
  white-space: nowrap;
}
.wll-rec-count {
  position: relative;
  z-index: 2;
  margin-top: 2px;
  font-size: .52rem;
  color: #dceaff;
  white-space: nowrap;
}
.wll-rec-count b { color: var(--rc); font-size: .66rem; }
.wll-rec-rate {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2px 4px;
  margin-top: 3px;
  font-size: .4rem;
  color: #b7c9de;
}
.wll-rec-rate span {
  padding: 0 3px;
  border-radius: 3px;
  background: rgba(0, 0, 0, .32);
  border: 1px solid rgba(255,255,255,.08);
  white-space: nowrap;
}
.wll-rec-pity {
  position: relative;
  z-index: 2;
  margin-top: 3px;
  font-size: .4rem;
  color: #8fa4bb;
  white-space: nowrap;
}
.wll-rec-btn {
  position: relative;
  z-index: 2;
  width: 100%;
  margin-top: 3px;
  padding: 4px 3px;
  border-radius: 6px;
  border: 1px solid var(--rc);
  background: rgba(0, 0, 0, .35);
  color: #e8f4ff;
  font-size: .5rem;
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
  box-shadow: inset 0 0 10px rgba(255,255,255,.04);
}
.wll-rec-btn i { font-style: normal; color: var(--rc); font-size: .44rem; }
.wll-rec-btn.ten {
  background: linear-gradient(180deg, var(--rc), var(--rc2));
  color: #06101a;
  text-shadow: 0 1px 0 rgba(255,255,255,.25);
  box-shadow: 0 0 14px var(--rc);
}
.wll-rec-btn.ten i { color: #06101a; }
.wll-rec-btn[disabled] { opacity: .38; filter: grayscale(.5); cursor: default; box-shadow: none; }
.wll-rec-card.perfect .wll-rec-btn.ten { color: #2a1600; }
.wll-rec-foot {
  flex: none;
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 42px;
}
.wll-rec-src {
  flex: 1 1 auto;
  min-width: 0;
  font-size: .4rem;
  line-height: 1.45;
  color: #849bb1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wll-rec-fbtns { flex: 0 0 auto; display: flex; gap: 3px; }
.wll-rec-fbtns .wl-btn { padding: 3px 6px; font-size: .44rem; white-space: nowrap; }

/* ---------- 10连 / 单抽结果演出 ---------- */
#wl-sum.wll-sum {
  background:
    radial-gradient(60% 80% at 50% 35%, rgba(28, 44, 90, .45), transparent 65%),
    linear-gradient(180deg, #05080e, #010205 82%);
  overflow: hidden;
}
#wl-sum.wll-sum::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 0 47%, rgba(120, 190, 255, .10) 50%, transparent 53%),
    repeating-linear-gradient(90deg, transparent 0 78px, rgba(90, 160, 255, .055) 78px 80px);
  pointer-events: none;
}
#wl-sum.wll-sum::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 40%, rgba(255,255,255,.22), transparent 55%);
  opacity: 0;
  pointer-events: none;
  animation: wllSumWhite 0.6s ease-out;
}
@keyframes wllSumWhite { 0% { opacity: .8; } 100% { opacity: 0; } }
#wl-sum.wll-sum .wl-sum-glow {
  width: 80vw;
  height: 40vh;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(90, 160, 255, .18), transparent 65%);
}
#wl-sum.wll-sum .wl-sum-halo { border-color: rgba(120, 190, 255, .22); }
.wll-sum-stage {
  position: relative;
  z-index: 3;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  max-width: none;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 44px max(12px, env(safe-area-inset-left)) 22px;
  box-sizing: border-box;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  scroll-snap-type: x proximity;
}
.wll-sum-stage::-webkit-scrollbar { display: none; }
.wll-sum-stage.single { justify-content: center; overflow: hidden; }
.wll-sum-stage.row { justify-content: flex-start; }
.wll-sum-card {
  position: relative;
  flex: 0 0 88px;
  width: 88px;
  height: min(64vh, 286px);
  border-radius: 9px;
  border: 1px solid #4e6070;
  background: linear-gradient(180deg, #1b2430, #070b10);
  overflow: hidden;
  cursor: pointer;
  opacity: 0;
  transform: translateY(22px) scale(.92);
  transition: opacity .28s ease, transform .38s cubic-bezier(.2,1.4,.4,1);
  scroll-snap-align: center;
  padding: 0;
  box-shadow: 0 8px 20px rgba(0,0,0,.65);
}
.wll-sum-card.show { opacity: 1; transform: none; }
.wll-sum-card.single { flex: 0 0 min(30vw, 230px); width: min(30vw, 230px); height: min(78vh, 340px); border-width: 2px; }
.wll-sum-art {
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: contain;
  filter: drop-shadow(0 6px 12px rgba(0,0,0,.55));
}
.wll-sum-art.em {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3.2rem;
}
.wll-sum-shade {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 42%;
  background: linear-gradient(180deg, transparent, rgba(2,5,9,.92) 62%);
  pointer-events: none;
}
.wll-sum-aura {
  position: absolute;
  inset: -10%;
  background: radial-gradient(circle at 50% 40%, rgba(255,255,255,.18), transparent 62%);
  opacity: 0;
  pointer-events: none;
}
.wll-sum-card.show .wll-sum-aura { opacity: 1; }
.wll-sum-card.r1 { border-color: rgba(207,207,207,.55); }
.wll-sum-card.r2 { border-color: rgba(235,242,255,.72); box-shadow: 0 0 12px rgba(220,235,255,.28), 0 8px 20px rgba(0,0,0,.65); }
.wll-sum-card.r3 { border-color: rgba(111,183,255,.78); box-shadow: 0 0 14px rgba(111,183,255,.35), 0 8px 20px rgba(0,0,0,.65); }
.wll-sum-card.r4 { border-color: rgba(196,154,255,.9); box-shadow: 0 0 18px rgba(196,154,255,.45), 0 8px 20px rgba(0,0,0,.65); }
.wll-sum-card.r5 { border-color: #ffb04d; box-shadow: 0 0 24px rgba(255,150,50,.75), 0 0 45px rgba(255,120,30,.35), 0 8px 20px rgba(0,0,0,.65); }
.wll-sum-card.r6 { border-color: #ff6b5c; box-shadow: 0 0 26px rgba(255,90,70,.8), 0 0 52px rgba(255,60,40,.4), 0 8px 20px rgba(0,0,0,.65); }
.wll-sum-card.r5 .wll-sum-aura { background: radial-gradient(circle at 50% 42%, rgba(255,190,90,.38), transparent 62%); }
.wll-sum-card.r6 .wll-sum-aura { background: radial-gradient(circle at 50% 42%, rgba(255,120,80,.42), transparent 60%), repeating-conic-gradient(from 0deg at 50% 50%, rgba(255,215,130,.45) 0deg 4deg, transparent 4deg 30deg); animation: wllSumAuraSpin 7s linear infinite; }
@keyframes wllSumAuraSpin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.wll-sum-rar {
  position: absolute;
  top: 5px;
  right: 5px;
  z-index: 4;
  padding: 1px 5px;
  border-radius: 999px;
  font-size: .36rem;
  font-weight: 900;
  color: #06101a;
  background: linear-gradient(180deg, #dfeaff, #8fb8e8);
  border: 1px solid rgba(255,255,255,.55);
  box-shadow: 0 0 8px rgba(120,190,255,.6);
}
.wll-sum-card.r1 .wll-sum-rar, .wll-sum-card.r2 .wll-sum-rar { background: linear-gradient(180deg, #f6f9ff, #c6d2e6); color: #1a2230; box-shadow: 0 0 8px rgba(220,235,255,.55); }
.wll-sum-card.r3 .wll-sum-rar { background: linear-gradient(180deg, #cfe6ff, #5aa0ff); color: #04101f; box-shadow: 0 0 8px rgba(90,160,255,.65); }
.wll-sum-card.r4 .wll-sum-rar { background: linear-gradient(180deg, #efdcff, #b06cff); color: #190826; box-shadow: 0 0 8px rgba(176,108,255,.65); }
.wll-sum-card.r5 .wll-sum-rar { background: linear-gradient(180deg, #ffe4a8, #ff9a2e); color: #2a1200; }
.wll-sum-card.r6 .wll-sum-rar { background: linear-gradient(180deg, #ffd0c0, #ff5e4a); color: #2a0500; }
.wll-sum-name {
  position: absolute;
  left: 0; right: 0; bottom: 16px;
  z-index: 4;
  text-align: center;
  font-size: .5rem;
  font-weight: 900;
  color: #fff;
  text-shadow: 0 2px 4px #000;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 0 3px;
}
.wll-sum-sub {
  position: absolute;
  left: 0; right: 0; bottom: 4px;
  z-index: 4;
  text-align: center;
  font-size: .34rem;
  color: #a9bed8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 0 3px;
}
.wll-sum-card.r5 .wll-sum-name { color: #ffe0a8; }
.wll-sum-card.r6 .wll-sum-name { color: #ffc9b8; }
.wll-sum-card.single .wll-sum-name { font-size: .8rem; bottom: 22px; }
.wll-sum-card.single .wll-sum-sub { font-size: .46rem; bottom: 7px; }
#wl-sum.wll-sum .wl-sum-tip {
  bottom: 6px;
  z-index: 5;
  font-size: .48rem;
  color: #9fb7d2;
}
#wl-sum.wll-sum .wl-sum-btns {
  position: absolute;
  left: 0; right: 0; bottom: max(10px, env(safe-area-inset-bottom));
  z-index: 7;
  display: none;
  justify-content: center;
  gap: 8px;
  margin: 0;
}
#wl-sum.wll-sum.done .wl-sum-btns { display: flex; }
#wl-sum.wll-sum .wl-sum-btns .wl-btn { padding: 5px 14px; font-size: .58rem; }
#wl-sum.wll-sum.done .wll-sum-stage { padding-bottom: 48px; }

/* ---------- 单抽 / 点击卡牌：全屏人物详情 ---------- */
#wl-zoom.wll-rdshow {
  display: flex;
  background: rgba(1,3,8,.96);
  z-index: 240;
}
.wll-rd {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background:
    radial-gradient(60% 120% at 18% 50%, rgba(35, 120, 200, .20), transparent 62%),
    linear-gradient(120deg, #06101c 0%, #08131f 52%, #02060a 100%);
}
.wll-rd-bg {
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(90deg, rgba(90, 180, 255, .035) 0 1px, transparent 1px 54px),
    radial-gradient(50% 70% at 50% 110%, rgba(30, 90, 160, .18), transparent 64%);
  pointer-events: none;
}
.wll-rd-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(90deg, transparent 0 7%, rgba(80, 160, 255, .055) 7% 9.2%, transparent 9.2% 15%);
  filter: blur(9px);
  opacity: .75;
}
.wll-rd-smoke {
  position: absolute;
  width: 46vw;
  height: 58vh;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(180, 210, 255, .18), transparent 66%);
  filter: blur(16px);
  pointer-events: none;
  animation: wllRdSmoke 7s ease-in-out infinite alternate;
}
.wll-rd-smoke.a { left: -10%; bottom: -18%; }
.wll-rd-smoke.b { left: 26%; bottom: -26%; animation-delay: -3s; opacity: .7; }
@keyframes wllRdSmoke { 0% { transform: translate3d(0,0,0) scale(.9); opacity: .35; } 100% { transform: translate3d(8%, -12%, 0) scale(1.18); opacity: .8; } }
.wll-rd-light {
  position: absolute;
  left: 20%;
  top: -20%;
  width: 50%;
  height: 80%;
  background: radial-gradient(ellipse at 50% 50%, rgba(255,255,255,.20), transparent 60%);
  filter: blur(20px);
  pointer-events: none;
  animation: wllRdLight 4s ease-in-out infinite;
}
@keyframes wllRdLight { 0%,100% { opacity: .35; transform: translateX(-6%); } 50% { opacity: .8; transform: translateX(6%); } }

/* 左侧：技能卡式立绘框（参考招募效果 1:1） */
.wll-rd-left {
  position: relative;
  flex: 0 0 40%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 13px 8px 13px 20px;
  box-sizing: border-box;
  z-index: 2;
}
.wll-rd-card {
  position: relative;
  width: min(32vw, 280px);
  height: 88%;
  max-height: 360px;
  min-height: 230px;
  clip-path: polygon(7% 0, 100% 0, 100% 93%, 93% 100%, 0 100%, 0 7%);
  border: 1px solid rgba(90, 216, 255, .75);
  background:
    radial-gradient(70% 70% at 50% 30%, rgba(50, 150, 230, .22), transparent 64%),
    linear-gradient(180deg, rgba(20, 60, 95, .55), rgba(4, 14, 26, .94));
  box-shadow: 0 0 26px rgba(60, 190, 255, .28), inset 0 0 30px rgba(80, 200, 255, .12);
  overflow: hidden;
}
.wll-rd-card.r1, .wll-rd-card.r2 { border-color: rgba(235,242,255,.8); box-shadow: 0 0 22px rgba(220,235,255,.28), inset 0 0 26px rgba(255,255,255,.08); }
.wll-rd-card.r3 { border-width: 2px; border-color: rgba(92,172,255,.95); box-shadow: 0 0 30px rgba(92,172,255,.48), inset 0 0 30px rgba(92,172,255,.14); }
.wll-rd-card.r4 { border-width: 2px; border-color: rgba(192,122,255,1); box-shadow: 0 0 34px rgba(192,122,255,.58), inset 0 0 32px rgba(192,122,255,.18); }
.wll-rd-card.r5 { border-width: 2px; border-color: #ffb04d; box-shadow: 0 0 36px rgba(255,166,64,.68), inset 0 0 32px rgba(255,166,64,.20); }
.wll-rd-card.r6 { border-width: 2px; border-color: #ff6b5c; box-shadow: 0 0 38px rgba(255,96,78,.72), inset 0 0 32px rgba(255,96,78,.20); }
.wll-rd-art {
  position: absolute;
  inset: 8px 6px 52px;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: contain;
  filter: drop-shadow(0 18px 32px rgba(0,0,0,.75)) drop-shadow(0 0 26px rgba(130, 200, 255, .28));
}
.wll-rd-art.doll .wl-dollfig { transform: scale(1.5) !important; transform-origin: bottom center; }
.wll-rd-art.doll { display: flex; align-items: flex-end; justify-content: center; overflow: hidden; }
.wll-rd-art > span {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 8rem;
  filter: drop-shadow(0 0 30px rgba(120,200,255,.5));
}
.wll-rd-cardglow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 50% 38%, rgba(120, 210, 255, .16), transparent 60%);
}
.wll-rd-nameplate {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 48px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding-right: 8px;
  background: linear-gradient(180deg, rgba(2,8,16,.15), rgba(2,10,18,.97));
  border-top: 1px solid rgba(90,216,255,.35);
}
.wll-rd-nameplate .haz {
  width: 18px;
  height: 100%;
  flex: 0 0 18px;
  background: repeating-linear-gradient(135deg, #ffd75e 0 5px, #1a1204 5px 10px);
  opacity: .9;
}
.wll-rd-nameplate div { min-width: 0; flex: 1 1 auto; }
.wll-rd-nameplate b { display: block; font-size: .56rem; color: #f2fbff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-shadow: 0 1px 3px #000; }
.wll-rd-nameplate span { display: block; font-size: .34rem; color: #8fc8e8; margin-top: 1px; }
.wll-rd-nameplate em { font-style: normal; font-size: .62rem; color: #ffd76a; font-weight: 900; text-shadow: 0 0 10px rgba(255,190,60,.4); }

/* 右侧：斜切蓝色属性面板 */
.wll-rd-right {
  position: relative;
  z-index: 3;
  flex: 1 1 auto;
  min-width: 0;
  height: 88%;
  max-height: 360px;
  margin: 13px 18px 13px 0;
  padding: 8px 12px 34px;
  clip-path: polygon(3% 0, 100% 0, 100% 92%, 97% 100%, 0 100%, 0 7%);
  border: 1px solid rgba(90, 216, 255, .65);
  background: linear-gradient(120deg, rgba(8, 35, 60, .97), rgba(3, 12, 22, .98));
  box-shadow: 0 0 28px rgba(40, 160, 240, .18), inset 0 0 35px rgba(40, 140, 220, .12);
  overflow-y: auto;
  scrollbar-width: thin;
  box-sizing: border-box;
}
.wll-rd-right::-webkit-scrollbar { width: 4px; }
.wll-rd-right::-webkit-scrollbar-thumb { background: #3d7da8; border-radius: 2px; }
.wll-rd-tabs {
  display: flex;
  align-items: center;
  gap: 9px;
  border-bottom: 1px solid rgba(90, 216, 255, .22);
  padding-bottom: 3px;
  font-size: .42rem;
  color: #79a9c8;
}
.wll-rd-tabs .on { color: #e8f8ff; border-bottom: 2px solid #67d7ff; padding-bottom: 2px; font-weight: 900; }
.wll-rd-tabs em {
  margin-left: auto;
  font-style: normal;
  color: #ffd76a;
  border: 1px solid rgba(255,215,106,.45);
  padding: 1px 5px;
  border-radius: 2px;
  font-size: .36rem;
}
.wll-rd-head { display: flex; align-items: flex-start; gap: 8px; margin-top: 5px; }
.wll-rd-title {
  font-size: 1rem;
  font-weight: 900;
  color: #eaf7ff;
  letter-spacing: .08em;
  text-shadow: 0 0 14px rgba(100, 190, 255, .45);
  line-height: 1.15;
}
.wll-rd-sub { font-size: .4rem; color: #8fc8e8; margin-top: 1px; }
.wll-rd-sub .new { color: #ffd76a; font-style: normal; font-weight: 900; }
.wll-rd-sub .dup { color: #9fb8c8; font-style: normal; }
.wll-rd-rar {
  margin-left: auto;
  font-size: .46rem;
  font-weight: 900;
  color: #dff5ff;
  border: 1px solid rgba(120,210,255,.5);
  padding: 2px 6px;
  background: rgba(10,40,65,.7);
  white-space: nowrap;
}
.wll-rd-statgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  margin: 6px 0 4px;
}
.wll-rd-stat {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 3px 6px;
  border: 1px solid rgba(80, 170, 240, .25);
  background: rgba(2, 14, 26, .55);
  border-radius: 3px;
}
.wll-rd-stat i { font-style: normal; font-size: .62rem; width: 14px; text-align: center; }
.wll-rd-stat span { font-size: .4rem; color: #7fa9c5; flex: 1 1 auto; }
.wll-rd-stat b { font-size: .64rem; color: #e8f8ff; margin-left: auto; min-width: 42px; text-align: right; }
.wll-rd-sh {
  font-size: .44rem;
  font-weight: 900;
  color: #ffd76a;
  margin-top: 4px;
  letter-spacing: .1em;
  border-left: 2px solid #ffd76a;
  padding-left: 4px;
}
.wll-rd-skillicons { display: flex; gap: 5px; margin-top: 4px; }
.wll-rd-skico {
  width: 48px;
  min-height: 54px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  border: 1px solid rgba(90,200,255,.35);
  background: linear-gradient(180deg, rgba(14,45,70,.8), rgba(4,14,24,.8));
  border-radius: 3px;
  padding: 3px 2px;
  box-sizing: border-box;
}
.wll-rd-skico b { font-size: 1rem; line-height: 1; }
.wll-rd-skico span { font-size: .3rem; color: #dff5ff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 44px; }
.wll-rd-skico i { font-size: .26rem; color: #7fa9c5; font-style: normal; }
.wll-rd-skdesc {
  font-size: .38rem;
  line-height: 1.5;
  color: #9fc6dd;
  margin-top: 4px;
  max-height: 5.2em;
  overflow: hidden;
}
.wll-rd-bio {
  font-size: .42rem;
  line-height: 1.5;
  color: #9eb8cc;
  margin-top: 3px;
  max-height: 5.6em;
  overflow: hidden;
}
.wll-rd-get {
  margin-top: 5px;
  padding-top: 4px;
  border-top: 1px dashed rgba(90,200,255,.22);
  font-size: .34rem;
  color: #7fa9c5;
  letter-spacing: .03em;
}
.wll-rd-share {
  position: absolute;
  right: 10px;
  bottom: 7px;
  border: 1px solid #70e0ff;
  background: rgba(6,30,48,.9);
  color: #c9f6ff;
  font-size: .44rem;
  padding: 3px 12px;
  clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%);
  cursor: pointer;
  box-shadow: 0 0 12px rgba(80,220,255,.3);
}
.wll-rd-hint {
  position: absolute;
  left: 0; right: 0; bottom: 5px;
  z-index: 5;
  text-align: center;
  font-size: .44rem;
  color: #b8d4ea;
  text-shadow: 0 1px 3px #000;
  animation: wllRdhint 1.6s ease-in-out infinite;
  pointer-events: none;
}
@keyframes wllRdhint { 0%,100% { opacity: .35; } 50% { opacity: .9; } }

/* ---------- 小屏适配 ---------- */
@media (max-height: 380px) {
  .wll-rec-wrap { gap: 5px; padding: 5px 6px; }
  .wll-rec-left { flex-basis: 31%; }
  .wll-rec-hostnm { font-size: .66rem; bottom: 31px; }
  .wll-rec-quote { font-size: .4rem; bottom: 12px; }
  .wll-rec-badge { font-size: .34rem; padding: 1px 5px; }
  .wll-rec-hd b { font-size: .7rem; }
  .wll-rec-hd span { font-size: .36rem; }
  .wll-rec-cap { font-size: .38rem; padding: 1px 6px; }
  .wll-rec-card { padding: 4px 4px 4px; border-radius: 8px; }
  .wll-rec-em { font-size: 1.6rem; }
  .wll-rec-nm { font-size: .56rem; }
  .wll-rec-count { font-size: .44rem; }
  .wll-rec-count b { font-size: .56rem; }
  .wll-rec-rate { font-size: .34rem; gap: 2px; }
  .wll-rec-pity { font-size: .34rem; margin-top: 2px; }
  .wll-rec-btn { padding: 3px 2px; font-size: .42rem; }
  .wll-rec-btn i { font-size: .36rem; }
  .wll-rec-foot { min-height: 34px; gap: 4px; }
  .wll-rec-src { font-size: .34rem; }
  .wll-rec-fbtns .wl-btn { padding: 2px 4px; font-size: .38rem; }
  .wll-sum-card { flex-basis: 78px; width: 78px; height: min(62vh, 240px); }
  .wll-sum-card.single { flex-basis: min(27vw, 200px); width: min(27vw, 200px); height: min(76vh, 300px); }
  .wll-sum-name { font-size: .44rem; bottom: 14px; }
  .wll-sum-sub { font-size: .3rem; }
  .wll-rd-left { flex-basis: 40%; padding-left: 12px; }
  .wll-rd-right { margin: 8px 9px 8px 0; padding: 8px 10px 7px; }
  .wll-rd-name { font-size: .9rem; }
  .wll-rd-title { font-size: .8rem; }
  .wll-rd-stat b { font-size: .6rem; }
  .wll-rd-skill p { font-size: .38rem; }
}
@media (max-width: 760px) {
  .wll-rec-left { flex-basis: 30%; }
  .wll-rec-em { font-size: 1.75rem; }
  .wll-rec-nm { font-size: .58rem; }
  .wll-rec-rate { font-size: .36rem; }
  .wll-rec-btn { font-size: .44rem; }
  .wll-rec-fbtns { flex-wrap: wrap; justify-content: flex-end; }
}

/* recruit fallback doll (no full art) */
.wll-rec-host.doll{display:flex;align-items:flex-end;justify-content:center;background:none;}
.wll-rec-host.doll .wl-dollfig{transform:scale(1.65);transform-origin:bottom center;}
.wll-sum-art.doll{display:flex;align-items:flex-end;justify-content:center;overflow:hidden;}
.wll-sum-art.doll .wl-dollfig{transform:scale(1.05);transform-origin:bottom center;}
.wll-rd-art.doll{display:flex;align-items:flex-end;justify-content:center;}
.wll-rd-art.doll .wl-dollfig{transform:scale(1.9);transform-origin:bottom center;}

#wl-sum.wll-sum .wll-sum-stage{flex-wrap:nowrap !important;max-width:none !important;}
#wl-sum.wll-sum .wll-sum-stage.row{justify-content:flex-start !important;}
#wl-sum.wll-sum .wll-sum-stage.single{justify-content:center !important;}

/* detail smoke + white flash stronger */
#wl-zoom.wll-rdshow::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(circle at 30% 48%, rgba(255,255,255,.55), rgba(220,240,255,.22) 32%, transparent 62%);
  opacity: 0;
  animation: wllRdFlash .65s ease-out .04s forwards;
}
@keyframes wllRdFlash { 0% { opacity: .9; } 100% { opacity: 0; } }
.wll-rd-smoke {
  opacity: .75 !important;
  filter: blur(22px) !important;
  background: radial-gradient(ellipse, rgba(205,230,255,.32), rgba(120,180,255,.08) 45%, transparent 68%) !important;
}
.wll-rd-light {
  opacity: .72 !important;
  background: radial-gradient(ellipse at 50% 50%, rgba(255,255,255,.38), rgba(200,230,255,.14) 42%, transparent 66%) !important;
}

.wll-rd-smoke{opacity:.9 !important;mix-blend-mode:screen;background:radial-gradient(ellipse at 50% 72%,rgba(255,255,255,.34) 0,rgba(190,220,255,.16) 34%,transparent 70%) !important;}
.wll-rd-light{opacity:.9 !important;mix-blend-mode:screen;background:radial-gradient(ellipse at 34% 62%,rgba(255,255,255,.62) 0,rgba(220,240,255,.26) 30%,transparent 64%) !important;}

.wll-rd-left::before {
  content: '';
  position: absolute;
  left: 4%; right: 4%; top: 6%; bottom: 10%;
  z-index: 0;
  background: radial-gradient(ellipse at 50% 64%, rgba(255,255,255,.42) 0, rgba(200,230,255,.18) 28%, transparent 64%);
  filter: blur(18px);
  animation: wllRdGlow 2.8s ease-in-out infinite alternate;
  pointer-events: none;
}
.wll-rd-left::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 46%;
  height: 78%;
  transform: translateX(-50%);
  z-index: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(255,255,255,.10) 48%, rgba(255,255,255,.34) 100%);
  filter: blur(14px);
  pointer-events: none;
}
@keyframes wllRdGlow { 0% { opacity: .55; transform: scale(.96); } 100% { opacity: 1; transform: scale(1.04); } }
.wll-rd-art { z-index: 1; }

@media (max-width: 700px) {
  .wll-rec-card { padding: 4px 3px 4px !important; }
  .wll-rec-em { font-size: 1.5rem !important; margin-top: 0; }
  .wll-rec-nm { font-size: .52rem !important; }
  .wll-rec-count { font-size: .4rem !important; margin-top: 1px; }
  .wll-rec-count b { font-size: .52rem !important; }
  .wll-rec-rate { font-size: .3rem !important; gap: 1px 2px !important; margin-top: 2px; }
  .wll-rec-rate span { padding: 0 2px !important; }
  .wll-rec-pity { font-size: .3rem !important; margin-top: 1px; }
  .wll-rec-btn { padding: 3px 2px !important; font-size: .4rem !important; margin-top: 2px; }
  .wll-rec-btn i { font-size: .32rem !important; }
  .wll-rec-foot { min-height: 31px !important; }
  .wll-rec-src { font-size: .3rem !important; }
  .wll-rec-fbtns .wl-btn { font-size: .34rem !important; padding: 2px 4px !important; }
}

.wll-rec-card .wll-rec-btn.one{margin-top:auto !important;}
.wll-rec-card .wll-rec-btn.ten{margin-bottom:2px;}

.wll-sum-art.doll .wl-dollfig{transform:scale(1.35) !important;transform-origin:bottom center;}

/* cdd attraction polish */
.wll-wfbox {
  box-shadow: 0 0 0 1px rgba(255,215,106,.22), 0 0 0 3px rgba(0,0,0,.55), 0 0 38px rgba(255,180,60,.18), 0 22px 80px rgba(0,0,0,.82) !important;
}
.wll-wfleft, .wll-wfright {
  border-color: rgba(255,215,106,.40) !important;
  box-shadow: inset 0 0 28px rgba(255,190,70,.06), 0 0 14px rgba(255,190,70,.10) !important;
}
.wll-wf-tile {
  border-color: rgba(255,215,106,.34) !important;
  box-shadow: inset 0 0 16px rgba(255,190,70,.08), 0 2px 8px rgba(0,0,0,.42) !important;
}
.wll-wf-big {
  position: relative;
  overflow: hidden;
  border-width: 2px !important;
}
/* V1.56.1：福利按钮不再横向扫光，改为物品本身金色闪动 */
.wll-wf-claim {
  box-shadow: 0 0 12px rgba(255,190,70,.55), inset 0 1px 0 rgba(255,255,255,.45) !important;
}
.wll-wf-herocard {
  box-shadow: 0 0 20px rgba(255,186,70,.28), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

/* =====================================================================
 * V1.56.0 · 十连白光/品质雾气/上下光柱 + 福利金色加赠 + 左侧方形导航
 * ===================================================================== */

/* ---------- 十连：卡槽 / 整卡白光 / 品质雾气 / 上下光柱 ---------- */
.wll-sum-slot {
  position: relative;
  flex: 0 0 calc((100vw - 87px) / 10);
  width: calc((100vw - 87px) / 10);
  height: min(64vh, calc((100vw - 87px) * .34));
  scroll-snap-align: center;
}
.wll-sum-slot.single {
  flex: 0 0 min(30vw, 230px);
  width: min(30vw, 230px);
  height: min(78vh, 340px);
}
.wll-sum-slot .wll-sum-card {
  position: absolute;
  inset: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  flex: none;
  scroll-snap-align: none;
  opacity: 0;
  transform: scale(.965);
  transition: opacity .05s linear, transform .15s cubic-bezier(.2, 1.5, .4, 1);
}
.wll-sum-slot.show .wll-sum-card {
  opacity: 1;
  transform: none;
  animation: wllSumCardIn .28s ease-out;
}
@keyframes wllSumCardIn {
  0% { filter: brightness(1.9) saturate(1.35); }
  55% { filter: brightness(1.16) saturate(1.08); }
  100% { filter: none; }
}
.wll-sum-flash {
  position: absolute;
  inset: -3%;
  z-index: 4;
  border-radius: 10px;
  pointer-events: none;
  opacity: 0;
  border: 1px solid rgba(255,255,255,.95);
  background:
    radial-gradient(ellipse at 50% 50%, #fff 0%, rgba(255,255,255,.95) 55%, rgba(240,246,255,.72) 76%, rgba(220,235,255,.18) 90%, transparent 100%);
  box-shadow: 0 0 26px rgba(255,255,255,.55), inset 0 0 28px rgba(255,255,255,.95);
  filter: blur(.6px);
  transform: scale(.94);
}
.wll-sum-slot.flash .wll-sum-flash {
  animation: wllSumFlash .42s ease-out forwards;
}
@keyframes wllSumFlash {
  0% { opacity: 0; transform: scale(.88); }
  16% { opacity: 1; }
  68% { opacity: .95; }
  100% { opacity: 0; transform: scale(1.05); }
}
.wll-sum-beam {
  position: absolute;
  left: 8%;
  width: 84%;
  height: 30%;
  z-index: 2;
  opacity: 0;
  pointer-events: none;
  filter: blur(6px);
  mix-blend-mode: screen;
}
.wll-sum-beam.top { top: -24%; background: linear-gradient(180deg, transparent, rgba(var(--rar), .92) 72%, rgba(var(--rar), .30) 100%); }
.wll-sum-beam.bot { bottom: -24%; background: linear-gradient(0deg, transparent, rgba(var(--rar), .92) 72%, rgba(var(--rar), .30) 100%); }
.wll-sum-slot.show .wll-sum-beam { animation: wllSumBeam 1.45s ease-out forwards; }
.wll-sum-slot.show .wll-sum-beam.bot { animation-delay: .08s; }
@keyframes wllSumBeam {
  0% { opacity: 0; transform: scaleY(.55); }
  22% { opacity: .95; }
  70% { opacity: .45; }
  100% { opacity: 0; transform: scaleY(1.12); }
}
.wll-sum-fog {
  position: absolute;
  z-index: 6;
  border-radius: 50%;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(circle, rgba(var(--rar), .52) 0%, rgba(var(--rar), .22) 42%, rgba(var(--rar), .06) 62%, transparent 74%);
  filter: blur(7px);
  mix-blend-mode: screen;
  transform: scale(.65);
}
.wll-sum-slot.show .wll-sum-fog {
  animation: wllSumFog var(--dur, 1.5s) ease-out var(--delay, 0s) forwards;
}
/* 整卡品质雾气，保证每张卡都有明显颜色雾 */
.wll-sum-slot::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 4;
  border-radius: 9px;
  pointer-events: none;
  opacity: 0;
  background:
    radial-gradient(ellipse at 50% 18%, rgba(var(--rar), .34), transparent 56%),
    linear-gradient(180deg, rgba(var(--rar), .18), transparent 32%, transparent 62%, rgba(var(--rar), .30));
}
.wll-sum-slot.show::after { animation: wllSumMist 1.65s ease-out .04s forwards; }
@keyframes wllSumMist {
  0% { opacity: 0; }
  18% { opacity: .95; }
  62% { opacity: .72; }
  100% { opacity: 0; }
}
@keyframes wllSumFog {
  0% { opacity: 0; transform: scale(.62) translateY(2px); }
  22% { opacity: .95; }
  65% { opacity: .58; }
  100% { opacity: 0; transform: scale(1.3) translateY(-7px); }
}
.wll-sum-slot.r1, .wll-sum-slot.r2 { --rar: 238, 244, 255; }
.wll-sum-slot.r3 { --rar: 92, 172, 255; }
.wll-sum-slot.r4 { --rar: 192, 122, 255; }
.wll-sum-slot.r5 { --rar: 255, 166, 64; }
.wll-sum-slot.r6 { --rar: 255, 96, 78; }
.wll-sum-slot.r3 .wll-sum-card { box-shadow: 0 0 18px rgba(92,172,255,.55), 0 8px 20px rgba(0,0,0,.65); }
.wll-sum-slot.r4 .wll-sum-card { box-shadow: 0 0 22px rgba(192,122,255,.62), 0 8px 20px rgba(0,0,0,.65); }
.wll-sum-slot.r5 .wll-sum-card { box-shadow: 0 0 28px rgba(255,166,64,.82), 0 0 52px rgba(255,120,30,.38), 0 8px 20px rgba(0,0,0,.65); }
.wll-sum-slot.r6 .wll-sum-card { box-shadow: 0 0 30px rgba(255,96,78,.88), 0 0 60px rgba(255,60,40,.42), 0 8px 20px rgba(0,0,0,.65); }
.wll-sum-slot.show .wll-sum-card.r5 .wll-sum-aura { opacity: .62; }
.wll-sum-slot.show .wll-sum-card.r6 .wll-sum-aura { opacity: .52; }
@media (max-width: 760px) {
  .wll-sum-stage { gap: 5px; padding-left: 10px; padding-right: 10px; }
  .wll-sum-slot { flex-basis: calc((100vw - 65px) / 10); width: calc((100vw - 65px) / 10); height: min(60vh, calc((100vw - 65px) * .34)); }
  .wll-sum-slot.single { flex-basis: min(27vw, 200px); width: min(27vw, 200px); height: min(76vh, 300px); }
}

/* ---------- 福利中心：充值加赠奖励金色覆盖 + 物品金色闪动（传奇网页风） ---------- */
.wll-wf-block.premium .wll-wf-tile,
.wll-wf-block.final .wll-wf-tile,
.wll-wf-tile.gold {
  position: relative;
  overflow: hidden;
  border: 2px solid #ffd76a !important;
  background:
    radial-gradient(circle at 50% 34%, rgba(255, 235, 160, .30), transparent 62%),
    linear-gradient(150deg, rgba(255, 224, 138, .34), rgba(255, 170, 50, .16) 42%, rgba(74, 44, 8, .52) 100%) !important;
  box-shadow: 0 0 15px rgba(255, 190, 70, .50), inset 0 0 20px rgba(255, 220, 130, .20), 0 3px 9px rgba(0,0,0,.45) !important;
}
.wll-wf-block.premium .wll-wf-tile,
.wll-wf-block.final .wll-wf-tile,
.wll-wf-tile.gold {
  animation: wllItemGoldPulse 1.7s ease-in-out infinite;
}
.wll-wf-block.premium .wll-wf-tile::after,
.wll-wf-block.final .wll-wf-tile::after,
.wll-wf-tile.gold::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 40%, rgba(255, 248, 200, .58), rgba(255, 200, 80, .18) 46%, transparent 72%);
  opacity: 0;
  animation: wllItemGoldFlash 1.7s ease-in-out infinite;
  pointer-events: none;
}
@keyframes wllItemGoldPulse {
  0%, 100% { filter: brightness(1) saturate(1); }
  48% { filter: brightness(1.24) saturate(1.32); }
}
@keyframes wllItemGoldFlash {
  0%, 100% { opacity: 0; }
  38% { opacity: .95; }
  54% { opacity: .42; }
  68% { opacity: .82; }
}
.wll-wf-block.premium .wll-wf-tile .ic,
.wll-wf-block.final .wll-wf-tile .ic,
.wll-wf-tile.gold .ic {
  animation: wllItemIconFlash 1.7s ease-in-out infinite;
}
@keyframes wllItemIconFlash {
  0%, 100% { filter: drop-shadow(0 0 4px rgba(255, 210, 100, .55)) drop-shadow(0 2px 3px rgba(0,0,0,.55)) brightness(1); }
  48% { filter: drop-shadow(0 0 14px rgba(255, 245, 190, 1)) drop-shadow(0 0 24px rgba(255, 190, 60, .7)) drop-shadow(0 2px 3px rgba(0,0,0,.55)) brightness(1.35); }
}
.wll-wf-block.premium .wll-wf-tile .qty,
.wll-wf-block.final .wll-wf-tile .qty,
.wll-wf-tile.gold .qty { color: #fff0b8; text-shadow: 0 1px 0 #7a4700, 0 0 8px rgba(255, 200, 80, .65); }

/* ---------- 左侧导航：方形实心按钮，稍大 ---------- */
:root { --wll-rail-w: 114px; }
@media (max-width: 820px) { :root { --wll-rail-w: 104px; } }
.wll-top { gap: 4px; }
.wll-top .wl-res { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 3px; min-width: 0; max-width: 100%; overflow: hidden; }
.wll-top .wl-res .wl-chip { position: relative; min-width: 0; min-height: 28px; padding: 2px 10px 2px 3px; font-size: .46rem; border-radius: 3px; overflow: hidden; }
.wll-top .wl-res .wl-chip:nth-child(5) { grid-column: 1 / -1; }
.wll-top .wl-res .wl-chip b { font-size: .5rem; max-width: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wll-top .wl-res .res-plus { display: block; position: absolute; right: 0; top: 0; width: 10px; height: 10px; padding: 0; border: 0; background: transparent; color: #ffd76a; font-size: .42rem; line-height: 10px; text-align: center; }
.wll-top .wll-aux { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; }
.wll-top .wll-aux .wll-home, .wll-top .wll-aux .wll-alley-btn { grid-column: 1 / -1; }
.wll-top .wll-aux .wll-alley-btn { font-size: .56rem !important; gap: 3px; padding: 3px 4px !important; }
.wll-top .wll-aux .wll-alley-btn .em { font-size: 1rem !important; }
.wll-top .wll-cons { display: none; grid-template-columns: 1fr 1fr; gap: 3px; }
.wll-top.on-main .wll-cons { display: grid; }
.wll-top .wll-cons-i.first { grid-column: 1 / -1; }
.wll-top .wl-tbtn,
.wll-top .wll-home,
.wll-top .wll-cons-i,
.wll-top .wll-alley-btn {
  min-height: 34px;
  border-radius: 2px !important;
  background: #2b3b1d !important;
  border: 1px solid #607740 !important;
  color: #eef6dc !important;
  font-size: .58rem !important;
  font-weight: 900 !important;
  letter-spacing: .02em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 2px 5px rgba(0,0,0,.38);
}
.wll-top .wl-tbtn:active,
.wll-top .wll-home:active,
.wll-top .wll-cons-i:active,
.wll-top .wll-alley-btn:active { transform: scale(.97); filter: brightness(1.12); }
.wll-top .wll-cons-i.first {
  background: #e8a33d !important;
  border-color: #ffe6b0 !important;
  color: #2a1c03 !important;
  box-shadow: 0 0 14px rgba(255,200,90,.58), inset 0 1px 0 rgba(255,255,255,.45);
}
.wll-top .wll-cons-i.zx { background: #3b2d0e !important; border-color: #a77d2c !important; color: #ffd76a !important; }
.wll-top .wll-cons-i.wf { background: #33234a !important; border-color: #8a6bb8 !important; color: #efe4ff !important; }
.wll-top .wll-alley-btn {
  background: #3f5524 !important;
  border-color: #9ac35a !important;
  color: #f4ffde !important;
  box-shadow: 0 0 12px rgba(150,210,80,.36), inset 0 1px 0 rgba(255,255,255,.12) !important;
}
.wll-top .wll-alley-btn .em { font-size: 1.02rem !important; }
.wll-top .wll-alley-btn .tx { font-size: .58rem !important; }
.wll-top .wl-chip {
  min-height: 30px;
  border-radius: 3px;
  background: #141d10;
  border-color: #465a32;
  font-size: .52rem;
}
.wll-top .wl-chip b { font-size: .58rem; }

/* ---------- 地图轮次通关奖励条 ---------- */
.pve-mapclear {
  margin-top: 6px;
  padding: 6px 9px;
  border-radius: 6px;
  border: 1px solid #ffd76a;
  background: linear-gradient(180deg, rgba(255, 224, 138, .20), rgba(120, 70, 10, .35));
  color: #ffe9a8;
  font-size: .54rem;
  font-weight: 900;
  text-align: center;
  box-shadow: 0 0 14px rgba(255,190,70,.35), inset 0 0 12px rgba(255,215,106,.10);
  animation: pveMapGlow 1.8s ease-in-out infinite;
}
@keyframes pveMapGlow { 0%,100% { box-shadow: 0 0 10px rgba(255,190,70,.28); } 50% { box-shadow: 0 0 20px rgba(255,210,110,.62); } }
/* 右侧面板按品质轻微染色，和左侧卡框统一 */
.wll-rd.r3 .wll-rd-right { border-color: rgba(92,172,255,.72); box-shadow: 0 0 28px rgba(60,140,240,.22), inset 0 0 35px rgba(40,120,220,.12); }
.wll-rd.r4 .wll-rd-right { border-color: rgba(192,122,255,.72); box-shadow: 0 0 30px rgba(170,90,240,.25), inset 0 0 35px rgba(150,70,220,.13); }
.wll-rd.r5 .wll-rd-right { border-color: rgba(255,176,77,.75); box-shadow: 0 0 32px rgba(255,150,50,.28), inset 0 0 35px rgba(220,120,30,.14); }
.wll-rd.r6 .wll-rd-right { border-color: rgba(255,107,92,.78); box-shadow: 0 0 34px rgba(255,80,60,.30), inset 0 0 35px rgba(220,60,40,.14); }

/* 招募详情 1:1 · 小屏适配 */
@media (max-height: 380px) {
  .wll-rd-left { flex-basis: 36%; padding-left: 10px; }
  .wll-rd-card { height: 90%; min-height: 200px; }
  .wll-rd-right { margin: 8px 8px 8px 0; padding: 6px 8px 28px; }
  .wll-rd-title { font-size: .82rem; }
  .wll-rd-stat b { font-size: .52rem; }
  .wll-rd-skico { width: 40px; min-height: 46px; }
  .wll-rd-skico b { font-size: .9rem; }
  .wll-rd-bio { max-height: 2.6em; }
  .wll-rd-hint { font-size: .38rem; }
}
@media (max-width: 760px) {
  .wll-rd-left { flex-basis: 36%; padding-left: 10px; }
  .wll-rd-card { width: min(34vw, 210px); }
  .wll-rd-right { margin-right: 8px; padding: 6px 8px 30px; }
  .wll-rd-title { font-size: .85rem; }
  .wll-rd-stat b { font-size: .52rem; }
  .wll-rd-skico { width: 40px; }
}

/* =====================================================================
 * V1.57.0 · 后街：2.5D 大建筑街区 + 右端充值/福利功能街
 * ===================================================================== */
.wll-alley-page {
  right: var(--wll-sar);
  padding-right: 0;
  overflow: hidden;
}
.wll-alley-bg {
  opacity: .82 !important;
  filter: saturate(.98) brightness(.78) !important;
  background-position: center 46% !important;
}
.wll-alley-page::after {
  content: '';
  position: absolute;
  inset: calc(44px + var(--wll-sat)) 0 0 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(72% 82% at 50% 52%, transparent 38%, rgba(0,0,0,.44) 100%),
    linear-gradient(180deg, rgba(0,0,0,.26), transparent 20%, transparent 70%, rgba(0,0,0,.5));
}
.wll-alley-hd {
  position: relative;
  z-index: 4;
  height: calc(44px + var(--wll-sat));
  padding: calc(6px + var(--wll-sat)) 10px 6px;
}
.wll-alley-track {
  position: relative !important;
  inset: auto !important;
  display: flex !important;
  align-items: flex-end !important;
  gap: 24px !important;
  padding: 14px 28px calc(30px + var(--wll-sab)) !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  touch-action: none !important;
  cursor: grab;
  perspective: 1200px;
  perspective-origin: 50% 72%;
  scrollbar-width: none;
}
.wll-alley-track::-webkit-scrollbar { display: none; }
.wll-alley-track::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 30%;
  background:
    linear-gradient(180deg, rgba(10,14,8,0), rgba(10,14,8,.9)),
    repeating-linear-gradient(90deg, rgba(255,215,106,.05) 0 2px, transparent 2px 58px);
  pointer-events: none;
}
.wll-node {
  position: relative !important;
  flex: 0 0 auto !important;
  width: 172px !important;
  height: 252px !important;
  min-height: 0 !important;
  margin: 0 0 6px 0 !important;
  padding: 0 0 6px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0 !important;
  transform: rotateX(2deg) rotateY(-7deg) !important;
  transform-style: preserve-3d;
  transition: transform .18s ease, filter .18s ease;
  z-index: 2;
  color: #e4e8d5;
  cursor: pointer;
  user-select: none;
}
.wll-node::before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 94%;
  height: 34px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(50% 50% at 50% 50%, rgba(0,0,0,.72), rgba(0,0,0,0) 74%);
  pointer-events: none;
  z-index: 0;
}
.wll-node::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 8px;
  width: 150px;
  height: 46px;
  transform: translateX(-50%);
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  background: radial-gradient(58% 58% at 50% 50%, rgba(255,215,106,.16), rgba(0,0,0,.5) 64%, transparent 74%);
  pointer-events: none;
  z-index: 0;
}
.wll-node .wll-b3d {
  position: relative;
  width: 112px !important;
  height: 154px !important;
  margin: 0 26px 30px 0 !important;
  padding: 12px 0 6px !important;
  border-radius: 5px 5px 3px 3px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  background:
    linear-gradient(90deg, transparent 44%, rgba(5,7,3,.9) 44% 56%, transparent 56%) 50% 100% / 100% 42px no-repeat,
    radial-gradient(circle at 24% 34%, #ffd76a 0 5px, rgba(255,215,106,0) 6px),
    radial-gradient(circle at 76% 34%, #ffd76a 0 5px, rgba(255,215,106,0) 6px),
    radial-gradient(circle at 24% 52%, rgba(255,190,90,.62) 0 5px, rgba(255,190,90,0) 6px),
    radial-gradient(circle at 76% 52%, rgba(255,190,90,.62) 0 5px, rgba(255,190,90,0) 6px),
    repeating-linear-gradient(0deg, rgba(0,0,0,.16) 0 1px, transparent 1px 14px),
    linear-gradient(90deg, rgba(0,0,0,.22), transparent 18%, transparent 82%, rgba(0,0,0,.34)),
    linear-gradient(160deg, var(--wall1), var(--wall2));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.05),
    inset -12px 0 20px rgba(0,0,0,.36),
    14px 12px 0 -1px #0c1107,
    22px 20px 30px rgba(0,0,0,.60);
  transform: rotateX(2deg) rotateY(-7deg) !important;
  transform-style: preserve-3d;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 2px;
}
.wll-node .wll-b3d::before {
  content: '';
  position: absolute;
  top: -44px !important;
  left: -17px !important;
  width: 146px !important;
  height: 48px !important;
  background:
    linear-gradient(116deg, rgba(255,255,255,.22) 0 46%, rgba(0,0,0,.26) 46% 100%),
    linear-gradient(160deg, var(--roof), var(--roof2));
  clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
  border: none !important;
  border-radius: 0 !important;
  transform: none !important;
  filter: drop-shadow(0 8px 7px rgba(0,0,0,.5));
  z-index: 3;
}
.wll-node .wll-b3d::after {
  content: '';
  position: absolute;
  top: 9px !important;
  right: -28px !important;
  width: 28px !important;
  height: 144px !important;
  border-radius: 0 3px 3px 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(0,0,0,.28)),
    linear-gradient(180deg, var(--roof2), var(--wall2));
  border: 1px solid rgba(255,255,255,.10);
  border-left: none;
  transform: skewY(-24deg) !important;
  transform-origin: left top;
  filter: brightness(.65);
  z-index: 1;
}
.wll-node .wll-em {
  position: relative;
  z-index: 4;
  width: 64px !important;
  height: 56px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  border-radius: 5px;
  font-size: 2.35rem !important;
  line-height: 1;
  background: rgba(4,7,3,.36);
  border: 1px solid rgba(255,215,106,.28);
  box-shadow: inset 0 0 12px rgba(255,215,106,.12), 0 0 12px var(--glow);
  filter: drop-shadow(0 0 10px var(--glow)) drop-shadow(0 3px 4px rgba(0,0,0,.7));
}
.wll-node .wll-b3d .wll-em::after { display: none !important; }
.wll-node .wll-nm {
  position: relative;
  z-index: 4;
  width: 100%;
  max-width: none !important;
  margin-top: 4px !important;
  padding: 0 2px !important;
  text-align: center;
  font-size: .64rem !important;
  font-weight: 900;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #ffe9c4;
  text-shadow: 0 1px 2px #000, 0 0 7px rgba(255,190,70,.32);
}
.wll-node .wll-ds {
  position: relative;
  z-index: 4;
  display: block !important;
  max-width: 104px !important;
  margin-top: 1px;
  font-size: .46rem !important;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #b6c1a3;
}
.wll-node .wll-dot { top: 30px !important; right: 2px !important; z-index: 6; }
.wll-node:hover { transform: rotateX(1deg) rotateY(-3deg) translateY(-6px) !important; filter: brightness(1.1); }
.wll-node:active { transform: rotateX(1deg) rotateY(-3deg) scale(.96) !important; }

/* 右端功能街：金 / 紫屋顶 + 呼吸光 + 星火 */
.wll-node.n-first .wll-b3d { --roof: #ffd76a; --roof2: #8a5a12; --wall1: #63471d; --wall2: #24180a; --glow: #ffd76a; border-color: #e8bd5e !important; }
.wll-node.n-charge .wll-b3d { --roof: #7fe8ff; --roof2: #1c6178; --wall1: #1f4650; --wall2: #0a1a1e; --glow: #8feeff; border-color: #75d8ee !important; }
.wll-node.n-welfare .wll-b3d { --roof: #d8a6ff; --roof2: #5c3a86; --wall1: #483163; --wall2: #180f26; --glow: #d8a6ff; border-color: #b98fe8 !important; }
.wll-node.n-fund .wll-b3d { --roof: #b6e36a; --roof2: #4d7120; --wall1: #3d5523; --wall2: #131c0b; --glow: #c9f07a; border-color: #9bce55 !important; }
.wll-node.goldfx .wll-b3d {
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.06),
    inset -12px 0 20px rgba(0,0,0,.36),
    14px 12px 0 -1px #0c1107,
    22px 20px 30px rgba(0,0,0,.6),
    0 0 28px rgba(255,205,100,.24) !important;
}
.wll-node.goldfx::after { animation: wllAlleyGold 2.4s ease-in-out infinite; }
@keyframes wllAlleyGold { 0%,100% { opacity: .55; } 50% { opacity: 1; } }
.wll-node .wll-hot {
  position: absolute;
  top: 30px;
  right: 0;
  z-index: 7;
  padding: 1px 5px;
  border-radius: 999px;
  font-size: .4rem;
  font-weight: 900;
  letter-spacing: .04em;
  color: #2a1a03;
  background: linear-gradient(180deg, #ffe9a8, #ffbf45);
  border: 1px solid #fff3c9;
  box-shadow: 0 0 12px rgba(255,200,90,.75);
  animation: wllHotPulse 1.5s ease-in-out infinite;
}
@keyframes wllHotPulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.08); } }
.wll-node .wll-spark { position: absolute; inset: 0; pointer-events: none; z-index: 5; }
.wll-node .wll-spark i {
  position: absolute;
  font-style: normal;
  font-size: .62rem;
  color: #ffe9a8;
  text-shadow: 0 0 9px #ffcf5e;
  opacity: 0;
  animation: wllSparkFloat 2.8s ease-in-out infinite;
}
.wll-node .wll-spark i:nth-child(1) { left: 22px; top: 108px; animation-delay: .1s; }
.wll-node .wll-spark i:nth-child(2) { right: 24px; top: 92px; animation-delay: .9s; }
.wll-node .wll-spark i:nth-child(3) { left: 50%; top: 70px; animation-delay: 1.7s; }
@keyframes wllSparkFloat {
  0%, 100% { opacity: 0; transform: translateY(8px) scale(.5); }
  30% { opacity: 1; transform: translateY(-6px) scale(1); }
  68% { opacity: .25; transform: translateY(-18px) scale(.8); }
}
.wll-node.n-first .wll-nm, .wll-node.n-charge .wll-nm,
.wll-node.n-welfare .wll-nm, .wll-node.n-fund .wll-nm { white-space: normal; line-height: 1.1; }

/* =====================================================================
 * V1.56.3 · 招募详情：居中缩小的横屏卡片（不铺满全屏）
 * ===================================================================== */
#wl-zoom.wll-rdshow {
  align-items: center;
  justify-content: center;
  padding: max(8px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
  background: rgba(1, 3, 8, .72);
  backdrop-filter: blur(6px);
  box-sizing: border-box;
}
#wl-zoom.wll-rdshow .wll-rd {
  width: min(92vw, 900px);
  height: min(86vh, 380px);
  max-height: calc(100vh - 16px);
  border: 1px solid rgba(90, 216, 255, .48);
  box-shadow: 0 24px 80px rgba(0, 0, 0, .82), 0 0 40px rgba(40, 160, 240, .16);
  clip-path: polygon(0 0, 100% 0, 100% 97%, 98.5% 100%, 0 100%);
}
@media (max-height: 380px) {
  #wl-zoom.wll-rdshow .wll-rd { height: 88vh; }
}

/* =====================================================================
 * V1.57.0 · 刘海屏 / 挖孔屏安全区（横屏左右 + 上下）
 * 说明：--wll-sal/sar/sat/sab 可在测试时用内联样式覆盖，方便模拟真机。
 * ===================================================================== */
:root {
  --wll-sal: env(safe-area-inset-left, 0px);
  --wll-sar: env(safe-area-inset-right, 0px);
  --wll-sat: env(safe-area-inset-top, 0px);
  --wll-sab: env(safe-area-inset-bottom, 0px);
}
/* 左侧竖排导航：整体让出刘海，导航本身加宽并内缩 */
.wll-top {
  left: 0;
  width: calc(var(--wll-rail-w) + var(--wll-sal));
  height: 100vh;
  height: 100dvh;
  padding-left: calc(6px + var(--wll-sal));
  padding-right: 6px;
  padding-top: calc(5px + var(--wll-sat));
  padding-bottom: calc(7px + var(--wll-sab));
}
/* 主内容区：左右上下都避开安全区 */
.wl-app {
  padding-left: calc(var(--wll-rail-w) + var(--wll-sal)) !important;
  padding-right: var(--wll-sar) !important;
  padding-top: var(--wll-sat) !important;
  padding-bottom: var(--wll-sab) !important;
  height: calc(100dvh - var(--wll-sat)) !important;
  box-sizing: border-box;
}
body.wll-battle .wl-app,
body.on-alley .wl-app {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.wl-view.active {
  height: calc(100dvh - var(--wll-sat) - var(--wll-sab));
}
/* 首页右侧已由 .wl-app 让出，内层不再重复加 env(right) */
#wl-v-main.active { padding-right: 7px !important; }
/* 招募详情全屏层：同样使用可测试的安全区变量 */
#wl-zoom.wll-rdshow {
  padding: max(8px, var(--wll-sat)) max(10px, var(--wll-sar)) max(8px, var(--wll-sab)) max(10px, var(--wll-sal)) !important;
}
/* 战斗全屏：左右/上下安全区都留出（原先只处理左侧和底部） */
#wl-v-battle.bat3.active {
  padding: calc(4px + var(--wll-sat)) max(6px, var(--wll-sar)) calc(5px + var(--wll-sab)) max(6px, var(--wll-sal)) !important;
  box-sizing: border-box;
}
/* 后排的上下间距由 bottom 坐标精确控制，去掉旧的 16px 额外上移 */
#wl-v-battle.bat3.active .wl2-unit.back { margin-bottom: 0 !important; }
/* 后街：左侧从导航之后开始，右侧止于安全区；页内左内边距不再重复吃 env(left) */
body.on-alley .wll-alley-page {
  left: calc(var(--wll-rail-w) + var(--wll-sal));
  right: var(--wll-sar);
}
body.on-alley .wll-alley-hd { padding-left: 10px; padding-right: 10px; }
/* 弹窗层：整体留安全区，避免刘海/挖孔盖住按钮 */
.wl-modal {
  padding: max(6px, var(--wll-sat)) max(8px, var(--wll-sar)) max(6px, var(--wll-sab)) max(8px, var(--wll-sal));
  box-sizing: border-box;
}
.wll-wfmodal {
  left: calc(var(--wll-rail-w) + var(--wll-sal));
  padding: max(12px, var(--wll-sat)) max(12px, var(--wll-sar)) max(12px, var(--wll-sab)) max(12px, var(--wll-sal));
  box-sizing: border-box;
}
/* Toast 居中于内容区（含刘海偏移） */
#wl-toast {
  left: calc(var(--wll-rail-w) + var(--wll-sal) + (100vw - var(--wll-rail-w) - var(--wll-sal) - var(--wll-sar)) / 2) !important;
  max-width: min(62vw, calc(100vw - var(--wll-rail-w) - var(--wll-sal) - var(--wll-sar) - 20px), 620px);
}


/* =====================================================================
 * V1.58.0 · 十连演出 / 后街右侧营地栏 / 英雄详情横屏 / 福利按钮 / 精英怪
 * ===================================================================== */

/* ---------- 十连：每张卡 1.2s 上下浮光；卡片出现后烟雾保持 1.2s ---------- */
#wl-sum:not(.single) .wll-sum-slot.flash .wll-sum-flash {
  animation: wllSumFlashTen 1.2s cubic-bezier(.2, .7, .2, 1) forwards;
}
@keyframes wllSumFlashTen {
  0%   { opacity: 0; transform: translateY(20px) scale(.88); filter: blur(2px); }
  8%   { opacity: .55; }
  16%  { opacity: 1; transform: translateY(4px) scale(.99); filter: blur(0); }
  30%  { opacity: .62; transform: translateY(-7px) scale(1.02); }
  44%  { opacity: 1; transform: translateY(5px) scale(1.01); }
  58%  { opacity: .7; transform: translateY(-5px) scale(1.03); }
  72%  { opacity: .98; transform: translateY(3px) scale(1.02); }
  86%  { opacity: .5; transform: translateY(-4px) scale(1.04); }
  100% { opacity: 0; transform: translateY(-12px) scale(1.05); filter: blur(1px); }
}
#wl-sum:not(.single) .wll-sum-slot.show .wll-sum-fog {
  animation: wllSumFogTen 1.2s ease-out var(--delay, 0s) forwards;
}
@keyframes wllSumFogTen {
  0%   { opacity: 0; transform: scale(.62) translateY(2px); }
  8%   { opacity: .95; }
  82%  { opacity: .82; transform: scale(1.16) translateY(-3px); }
  100% { opacity: 0; transform: scale(1.3) translateY(-9px); }
}
#wl-sum:not(.single) .wll-sum-slot.show::after {
  animation: wllSumMistTen 1.2s ease-out forwards;
}
@keyframes wllSumMistTen {
  0%   { opacity: 0; }
  8%   { opacity: .92; }
  82%  { opacity: .76; }
  100% { opacity: 0; }
}

/* ---------- 后街：右侧嵌入首页右栏 ---------- */
.wll-alley-body {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  align-items: stretch;
  position: relative;
  z-index: 2;
}
.wll-alley-body .wll-alley-track { flex: 1 1 auto; min-width: 0; }
.wll-alley-side {
  flex: 0 0 202px;
  max-width: 202px;
  min-width: 0;
  margin: 8px 10px calc(12px + var(--wll-sab)) 0;
  padding: 0 1px 4px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  touch-action: pan-y;
  scrollbar-width: thin;
}
.wll-alley-side::-webkit-scrollbar { width: 4px; }
.wll-alley-side::-webkit-scrollbar-thumb { background: #6b5a2b; border-radius: 2px; }
.wll-alley-side .wl-camp-head { margin: 0 0 4px !important; padding: 5px 6px; border-radius: 7px; }
.wll-alley-side .wl-camp-head .t { font-size: .7rem; }
.wll-alley-side .wl-camp-head .d { font-size: .44rem; line-height: 1.3; }
.wll-alley-side .wl-camp-head .wl-row { margin-top: 3px !important; gap: 3px; }
.wll-alley-side .wl-chip { font-size: .44rem; padding: 1px 4px; }
.wll-alley-side .wl-camp-vipcard { margin-top: 3px; padding: 3px 5px; }
.wll-alley-side .wll-promo { display: flex; flex-wrap: wrap; gap: 3px; margin: 0 0 4px; }
.wll-alley-side .wll-promo .wl-btn { flex: 1 1 44%; font-size: .46rem; padding: 4px 2px; border-radius: 5px; }
.wll-alley-side .wl-sec { margin: 0 0 4px !important; padding: 4px 5px; border-radius: 7px; }
.wll-alley-side .wl-sec-t { font-size: .52rem; padding-bottom: 1px; margin-bottom: 1px; }
.wll-alley-side .wl-sec-d { font-size: .44rem; line-height: 1.35; }
.wll-alley-side .wll-news-sec { overflow-y: auto; overscroll-behavior: contain; touch-action: pan-y; }
@media (max-width: 820px) {
  .wll-alley-side { flex-basis: 178px; max-width: 178px; margin-right: 7px; }
}
@media (max-width: 720px) {
  .wll-alley-side { flex-basis: 166px; max-width: 166px; }
}

/* ---------- 福利中心：按钮加大、物品格收紧不重叠 ---------- */
.wll-wf-big {
  min-height: 38px;
  padding: 9px 10px !important;
  font-size: .64rem !important;
  border-radius: 9px !important;
}
.wll-wf-big.gold { letter-spacing: .04em; }
.wll-wf-claim {
  min-height: 27px;
  padding: 4px 9px !important;
  font-size: .5rem !important;
  border-radius: 7px !important;
}
.wll-wf-tile {
  min-height: 58px;
  padding: 4px 3px 3px;
  gap: 1px;
}
.wll-wf-tile .ic { font-size: 1.1rem; }
.wll-wf-tile .qty { font-size: .46rem; line-height: 1.15; }
.wll-wf-tile .lb { font-size: .34rem; line-height: 1.3; }
.wll-wf-rgrid { gap: 4px; }
.wll-wf-rgrid.few .wll-wf-tile {
  width: 68px;
  min-height: 62px;
  flex: 0 0 68px;
}
.wll-wf-rgrid.few .wll-wf-tile .ic { font-size: 1.16rem; }
.wll-wf-rgrid.few .wll-wf-tile .qty { font-size: .5rem; }
.wll-wf-rgrid.few .wll-wf-tile .lb { font-size: .34rem; }
.wll-wfright { scroll-padding-bottom: 58px; }
.wll-wfright .wll-wf-actions { padding: 6px 0 5px !important; margin-top: 4px !important; }
.wll-wfright .wll-wf-actions .wll-wf-big { margin-bottom: 0 !important; }
.wll-wfleft .wll-wf-actions { margin-top: 4px; }

/* ---------- 英雄详情（首页点击人物）：横屏仪表盘 ---------- */
#wl-hsel.wl-cs {
  padding: calc(6px + var(--wll-sat)) max(8px, var(--wll-sar)) calc(6px + var(--wll-sab)) max(8px, var(--wll-sal));
  overflow: hidden;
  touch-action: pan-y;
  overscroll-behavior: contain;
  background:
    radial-gradient(60% 80% at 12% 30%, rgba(50, 130, 210, .16), transparent 62%),
    radial-gradient(50% 70% at 92% 12%, rgba(150, 90, 255, .13), transparent 62%),
    linear-gradient(180deg, #071018 0%, #0b1824 52%, #071018 100%);
}
#wl-hsel .cs-in.hsel2 {
  max-width: none;
  height: calc(100dvh - var(--wll-sat) - var(--wll-sab) - 12px);
  display: flex;
  flex-direction: column;
  min-height: 0;
}
#wl-hsel .hsel2 .cs-head {
  flex: none;
  height: 30px;
  padding: 0 2px 4px;
  gap: 6px;
}
#wl-hsel .hsel2 .cs-title { font-size: .78rem; }
#wl-hsel .hsel2 .cs-sub { font-size: .46rem; }
#wl-hsel .hsel2 .hsel-hint {
  flex: none;
  margin: 0 0 4px;
  padding: 3px 6px;
  font-size: .44rem;
  line-height: 1.35;
  border-radius: 5px;
}
#wl-hsel .hsel2 .hsel-grid {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr);
  gap: 6px;
}
#wl-hsel .hsel2 .hsel-list {
  max-height: none;
  height: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 4px;
  padding: 2px;
  overflow-x: hidden;
  overflow-y: auto;
  touch-action: pan-y;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  border: 1px solid rgba(110, 170, 230, .18);
  border-radius: 8px;
  background: rgba(5, 16, 24, .45);
}
#wl-hsel .hsel2 .hsel-list::-webkit-scrollbar { width: 3px; }
#wl-hsel .hsel2 .hsel-list::-webkit-scrollbar-thumb { background: #3f6b8a; border-radius: 2px; }
#wl-hsel .hsel2 .hsel-list .wl-sec-d {
  grid-column: 1 / -1;
  width: 100% !important;
  font-size: .4rem !important;
  line-height: 1.25;
  padding: 1px 0;
}
#wl-hsel .hsel2 .hsel-list .wl-hvdiv { grid-column: 1 / -1; height: 1px; width: 100%; margin: 1px 0; }
#wl-hsel .hsel2 .wl-hvtile { width: 100%; height: 50px; border-radius: 6px; }
#wl-hsel .hsel2 .wl-hvtile .hv-img { height: 34px; }
#wl-hsel .hsel2 .wl-hvtile .hv-nm { font-size: .36rem; line-height: 1.25; }
#wl-hsel .hsel-panelwrap { height: 100%; min-height: 0; min-width: 0; overflow: hidden; }
#wl-hsel .hsel-panel {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-columns: 188px minmax(0, 1fr) 188px;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 5px;
  align-items: start;
}
#wl-hsel .hsel-topbar {
  grid-column: 2 / 4;
  grid-row: 1;
  padding: 0;
  min-height: 0;
  align-items: flex-start;
}
#wl-hsel .hsel-topacts { gap: 3px; }
#wl-hsel .hsel-topacts .wl-btn { font-size: .44rem !important; padding: 2px 5px !important; }
#wl-hsel .hsel-namecard {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  padding: 3px 5px;
  max-width: none;
  justify-content: flex-start;
  gap: 3px;
  border-radius: 6px;
}
#wl-hsel .hsel-namecard .hn-em { font-size: .76rem; }
#wl-hsel .hsel-namecard .hn-nm { font-size: .64rem; }
#wl-hsel .hsel-namecard .hn-rar,
#wl-hsel .hsel-namecard .hn-st { font-size: .38rem; padding: 0 3px; }
#wl-hsel .hsel-namecard .hn-id { display: none; }
#wl-hsel .hsel-info {
  grid-column: 1;
  grid-row: 2 / 4;
  min-height: 0;
  padding: 5px;
  border-radius: 7px;
  border: 1px solid rgba(110, 170, 230, .22);
  background: rgba(8, 20, 30, .62);
  display: flex;
  flex-direction: column;
  gap: 3px;
}
#wl-hsel .hsel-fig {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  align-items: center;
  justify-content: center;
}
#wl-hsel .hsel-fig .cs-figimg { max-height: 168px; max-width: 100%; object-fit: contain; }
#wl-hsel .hsel-fig .wl-bodysvg { width: 108px; height: 168px; }
#wl-hsel .hsel-stats { flex: none; font-size: .46rem; line-height: 1.4; margin-top: 0; color: #b9d6ee; }
#wl-hsel .hsel-acts { flex: none; gap: 3px; margin-top: 2px; }
#wl-hsel .hsel-acts .wl-btn { font-size: .44rem !important; padding: 2px 5px !important; }
#wl-hsel .hsel-panel > .cs-sec {
  margin: 0;
  padding: 4px 5px;
  min-height: 0;
  overflow-y: auto;
  touch-action: pan-y;
  overscroll-behavior: contain;
  border-radius: 7px;
  border: 1px solid rgba(110, 170, 230, .18);
  background: rgba(8, 20, 30, .58);
}
#wl-hsel .hsel-panel > .cs-sec:nth-child(4) { grid-column: 2; grid-row: 2; }
#wl-hsel .hsel-panel > .cs-sec:nth-child(5) { grid-column: 2; grid-row: 3; }
#wl-hsel .hsel-panel > .cs-sec.hs-rlsec { grid-column: 3; grid-row: 2 / 4; }
#wl-hsel .cs-col-t { font-size: .46rem; margin-bottom: 2px; color: #9fd0ff; }
#wl-hsel .cs-eqg { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 3px; }
#wl-hsel .cs-slot { min-height: 36px; padding: 2px 1px; border-radius: 5px; }
#wl-hsel .cs-slot-em { font-size: .98rem; }
#wl-hsel .cs-slot-q { font-size: .34rem; line-height: 1.2; }
#wl-hsel .cs-skg { gap: 4px; flex-wrap: wrap; }
#wl-hsel .cs-sk { width: 40px; height: 40px; }
#wl-hsel .cs-sk b { font-size: .38rem; max-width: 36px; }
#wl-hsel .cs-col-b { margin-top: 3px; gap: 3px; }
#wl-hsel .cs-col-b .wl-btn { font-size: .42rem !important; padding: 2px 4px !important; }
#wl-hsel .cs-owned { font-size: .38rem; line-height: 1.35; margin-top: 3px; }
@media (max-width: 760px) {
  #wl-hsel .hsel2 .hsel-grid { grid-template-columns: 98px minmax(0, 1fr); }
  #wl-hsel .hsel-panel { grid-template-columns: 150px minmax(0, 1fr) 150px; }
  #wl-hsel .hsel-fig .cs-figimg { max-height: 145px; }
  #wl-hsel .hsel-fig .wl-bodysvg { width: 92px; height: 145px; }
}

/* ---------- 英雄大厅：让各栏纵向可滑，减少重叠 ---------- */
#wl-v-heroes .hs3-slots,
#wl-v-heroes .hs3-mid,
#wl-v-heroes .hs3-right,
#wl-v-heroes .hs3-mod {
  touch-action: pan-y;
  overscroll-behavior: contain;
}
#wl-v-heroes .hs3-right { padding-bottom: 8px; }
#wl-v-heroes .hs3-order { flex: none; }

/* ---------- 战斗：怪物放大 / 精英更大 / 图片单位同步 ---------- */
#wl-v-battle.bat3.active .wl2-unit.b .u-img {
  width: calc(112px * var(--dk, .78)) !important;
  height: calc(112px * var(--dk, .78)) !important;
}
#wl-v-battle.bat3.active .wl2-unit.b.elite {
  z-index: 8;
  filter: drop-shadow(0 0 10px rgba(196, 154, 255, .55));
}
#wl-v-battle.bat3.active .wl2-unit.b.boss { z-index: 9; }

/* ---------- 触摸滚动兜底：弹窗/详情/福利内部可上下滑 ---------- */
.wl-modal,
.wl-modal .wl-mod-box,
.wl-mod-box,
.wl-cs,
.wll-wfmodal,
.wll-wfmain,
.wll-wfleft,
.wll-wfright,
.wll-wfbody,
.hsel-list,
.hsel-panelwrap {
  touch-action: pan-y;
  overscroll-behavior: contain;
}



/* V1.58.0：福利右栏改为「内容滚动 + 固定底部大按钮」，彻底避免遮挡 */
#wl-wf .wll-wfright, .wll-wfright {
  display: flex;
  flex-direction: column;
  overflow: hidden !important;
  padding-bottom: 0 !important;
}
.wll-wfscroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  touch-action: pan-y;
  padding: 0 1px 4px;
  scrollbar-width: thin;
}
.wll-wfscroll::-webkit-scrollbar { width: 4px; }
.wll-wfscroll::-webkit-scrollbar-thumb { background: #6b5a2b; border-radius: 2px; }
.wll-wffoot {
  flex: none;
  padding: 4px 0 3px;
  border-top: 1px solid rgba(255, 215, 106, .18);
  background: linear-gradient(180deg, rgba(4, 18, 17, .2), rgba(4, 18, 17, .96));
}
.wll-wffoot .wll-wf-actions {
  position: relative !important;
  bottom: auto !important;
  z-index: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
}



/* V1.58.0：弹窗/详情滚动惯性（iOS） */
.wl-modal .wl-mod-box,
.wl-cs,
.wll-wfmodal,
.wll-wfscroll,
.wll-wfleft,
.wll-wfright,
.wll-wfbody,
#wl-hsel .hsel-list,
#wl-hsel .hsel-panel > .cs-sec { -webkit-overflow-scrolling: touch; }


/* V1.58.0：金币/充值按钮金色呼吸，强化消费引导 */
.wll-wf-big.gold { animation: wllWfGoldBreath 1.7s ease-in-out infinite !important; }
@keyframes wllWfGoldBreath {
  0%, 100% { box-shadow: 0 0 12px rgba(255, 190, 70, .45), inset 0 1px 0 rgba(255,255,255,.45); filter: brightness(1); }
  50% { box-shadow: 0 0 28px rgba(255, 215, 106, .88), 0 0 46px rgba(255, 170, 40, .35), inset 0 1px 0 rgba(255,255,255,.6); filter: brightness(1.08); }
}

/* =====================================================================
 * V1.59.0 · 横屏小手机/平板：限时采集页 2×2 紧凑布局（修复 568/667 被裁切）
 * ===================================================================== */
@media (max-width: 900px) and (orientation: landscape) {
  #wl-v-idle .idle-wrap { grid-template-columns: 24% minmax(0, 1fr) !important; gap: 4px !important; padding: 0 4px !important; }
  #wl-v-idle .idle-left { padding: 4px !important; }
  #wl-v-idle .idle-lt { font-size: .56rem; margin-bottom: 2px; }
  #wl-v-idle .idle-ld { font-size: .42rem; line-height: 1.25; margin-bottom: 2px; }
  #wl-v-idle .idle-lrow { font-size: .42rem; margin-top: 2px; }
  #wl-v-idle .idle-title .it2 { font-size: .74rem; }
  #wl-v-idle .idle-hitop { width: 32px; height: 32px; }
  #wl-v-idle .ic-grid { gap: 3px; }
  #wl-v-idle .ic-btn { padding: 2px; font-size: .4rem; }
  #wl-v-idle .ic-btn .em { font-size: .8rem; }
  .idle3 .idle-cards { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 4px !important; }
  .idle3 .idle-card { flex-direction: column !important; flex-wrap: nowrap !important; align-items: stretch !important; gap: 0 !important; padding: 4px !important; }
  .idle3 .idle-card .ic-t { flex: none !important; font-size: .56rem; }
  .idle3 .idle-card .ic-img { height: 36px !important; width: 100% !important; margin: 2px 0 !important; flex: none !important; }
  .idle3 .idle-card .ic-img img { max-height: 36px; }
  .idle3 .idle-card .ic-em { font-size: 1.3rem; }
  .idle3 .idle-card .ic-d { flex: 1 1 auto !important; font-size: .4rem; line-height: 1.25; min-height: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .idle3 .idle-card .ic-btn { width: 100% !important; margin-top: 2px !important; padding: 2px !important; font-size: .42rem; }
  .idle3 .idle-card .ic-s { flex: none !important; margin-top: 2px !important; font-size: .38rem; text-align: center !important; }
  .idle3 .idle-ops { margin: 3px 4px 4px !important; padding: 3px 4px !important; gap: 4px !important; flex-wrap: nowrap !important; overflow-x: auto; overflow-y: hidden; }
  .idle3 .idle-ops > * { flex: 0 0 auto !important; }
}

/* V1.59.0：末日首领右栏小屏改为纵向排列+内部滚动，避免荣誉商店被裁到屏幕外 */
@media (max-width: 900px) and (orientation: landscape) {
  #wl-v-lord .ll-right { flex-wrap: nowrap !important; overflow-y: auto !important; touch-action: pan-y; }
  #wl-v-lord .ll-panel.ll-shop { flex: 0 0 118px !important; min-height: 118px; }
}

/* V1.59.0：背包改为纵向网格滚动，修复物品总高度 1.3 万像素、下面物品点不到 */
#wl-v-bag .bg3-list {
  display: block !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100%;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  touch-action: pan-y;
  overscroll-behavior: contain;
  padding-right: 2px;
}
#wl-v-bag .bg3-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(72px, 1fr)) !important;
  gap: 5px !important;
  width: 100%;
}

/* V1.59.0：背包整页改为纵向 flex，列表内部滚动 */
#wl-v-bag.active {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}
#wl-v-bag .bg3-main {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden;
  align-items: stretch !important;
}
#wl-v-bag .bg3-list {
  height: auto !important;
  min-height: 0 !important;
}

/* V1.60.0：后街背景铺满安全区，内容内缩；消除右侧空白条 */
.wll-alley-page { right: 0 !important; }
body.on-alley .wll-alley-page { right: 0 !important; }
.wll-alley-body { padding-right: var(--wll-sar); box-sizing: border-box; }
body.on-alley .wll-alley-hd { padding-right: calc(10px + var(--wll-sar)) !important; }
.wll-alley-side .wll-news-sec { min-height: 74px; }

/* V1.60.0：后街右栏背景铺到安全区边缘，内容仍内缩 */
:root { --wll-alley-side-w: 202px; }
@media (max-width: 820px) { :root { --wll-alley-side-w: 178px; } }
@media (max-width: 720px) { :root { --wll-alley-side-w: 166px; } }
.wll-alley-body { padding-right: 0 !important; }
.wll-alley-side {
  flex: 0 0 calc(var(--wll-alley-side-w) + var(--wll-sar)) !important;
  max-width: calc(var(--wll-alley-side-w) + var(--wll-sar)) !important;
  margin-right: 0 !important;
  padding-right: calc(6px + var(--wll-sar)) !important;
}

/* ===================== V1.61.1：安卓字体缩放锁 + 真实可视高度 + 旧 WebView 兼容 ===================== */
/* 1) 安卓系统字体放大/网页文字自动放大不再改变 rem 基准（16px），避免整站被放大后溢出 */
html {
  font-size: 16px !important;
  -webkit-text-size-adjust: 100% !important;
  -moz-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}
/* 2) 真实可视高度：JS 写入 --wl-vh（window.innerHeight），解决安卓地址栏/工具栏导致 100vh 溢出 */
.wl-app { height: var(--wl-vh, 100dvh) !important; }
.wl-view.active { height: calc(var(--wl-vh, 100dvh) - var(--wll-top-h) - var(--wll-sat) - var(--wll-sab)); }
/* 3) 不支持 aspect-ratio 的老 WebView（Chrome<88/部分安卓内置浏览器）：主页地图按 2048:1088 撑高，避免高度塌陷/按钮堆叠 */
@supports not (aspect-ratio: 1 / 1) {
  .wl-hmap { height: 0 !important; padding-top: 53.125%; }
  .wl-hmap-bg { top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; }
}
/* ===================== V1.61.2：招募结果卡缩到约半屏 + 刘海安全区 ===================== */
/* 卡面约 70vw × 64vh（面积≈半屏），四边留白；不再被 @media(max-height:380) 拉到 88vh */
#wl-zoom.wll-rdshow {
  padding: max(10px, var(--wll-sat)) max(12px, var(--wll-sar)) max(10px, var(--wll-sab)) max(12px, var(--wll-sal)) !important;
}
#wl-zoom.wll-rdshow .wll-rd {
  width: min(70vw, 720px) !important;
  height: min(64vh, 292px) !important;
  min-width: min(320px, 80vw) !important;
  min-height: 190px;
  max-width: 100% !important;
  max-height: 100% !important;
}
@media (max-height: 380px) {
  #wl-zoom.wll-rdshow .wll-rd { height: min(64vh, 292px) !important; }
}
#wl-zoom.wll-rdshow .wll-rd-left { flex: 0 0 38%; padding: 10px 6px 10px 12px; }
#wl-zoom.wll-rdshow .wll-rd-card { width: 100%; max-width: 260px; height: 100%; min-height: 160px; max-height: none; }
#wl-zoom.wll-rdshow .wll-rd-right { height: 100%; max-height: none; margin: 10px 12px 10px 0; padding: 6px 10px 30px; }
/* 十连/单抽结果层：四边安全区 */
#wl-sum.wll-sum {
  padding: max(6px, var(--wll-sat)) max(8px, var(--wll-sar)) max(6px, var(--wll-sab)) max(8px, var(--wll-sal));
  box-sizing: border-box;
}
#wl-sum.wll-sum .wll-sum-stage {
  padding-left: max(12px, var(--wll-sal));
  padding-right: max(12px, var(--wll-sar));
  padding-top: max(44px, calc(24px + var(--wll-sat)));
  padding-bottom: max(22px, calc(12px + var(--wll-sab)));
}/* 招募主页面：安全区已由 .wl-app 统一避让，内部不再重复加 env(right)，避免刘海屏右侧被二次挤压 */
#wl-v-recruit .wll-rec-wrap { padding: 8px !important; }
/* ===================== V1.61.4：招募竖图统一裁切 ===================== */
/* 后台只传一张「竖向半身招募图」：十连小卡 cover 填满；详情卡 cover + top 自动裁上半身 */
.wll-sum-art,
.wll-rd-art {
  background-size: cover !important;
  background-position: top center !important;
}
/* ===================== V1.61.5：招募卡用大厅全身图 + 品质光效 ===================== */
/* 十连小卡：膝盖以上填满（2:3 图按高度放大 135%，左右裁） */
.wll-sum-art {
  background-size: auto 135% !important;
  background-position: center top !important;
}
/* 单抽大卡：全身，腿略裁 */
.wll-sum-card.single .wll-sum-art {
  background-size: 100% auto !important;
  background-position: center top !important;
}
/* 详情卡：艺术区加高到名牌上沿，宽度铺满，取到头到膝盖；顶部再上移 8% 裁掉一点头顶 */
.wll-rd-art {
  inset: 8px 6px 4px !important;
  background-size: 100% auto !important;
  background-position: center -40px !important;
  z-index: 1;
}
.wll-rd-nameplate { z-index: 3 !important; }
/* 呼吸/浮动动效 */
.wll-sum-art, .wll-rd-art {
  animation: recBreath 5.5s ease-in-out infinite;
  transform-origin: 50% 80%;
}
@keyframes recBreath {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-1.2%) scale(1.012); }
}
/* 品质越高，白光越久、越强 */
.wll-sum-slot.flash .wll-sum-flash { animation-duration: var(--fd, .42s) !important; }
#wl-sum:not(.single) .wll-sum-slot.flash .wll-sum-flash { animation-duration: var(--fd, 1.2s) !important; }
.wll-sum-slot.r1 .wll-sum-flash, .wll-sum-slot.r2 .wll-sum-flash {
  box-shadow: 0 0 14px rgba(255,255,255,.35), inset 0 0 16px rgba(255,255,255,.6);
}
.wll-sum-slot.r3 .wll-sum-flash {
  box-shadow: 0 0 22px rgba(120,210,255,.55), inset 0 0 22px rgba(255,255,255,.8);
}
.wll-sum-slot.r4 .wll-sum-flash {
  box-shadow: 0 0 30px rgba(192,122,255,.7), inset 0 0 28px rgba(255,255,255,.9);
}
.wll-sum-slot.r5 .wll-sum-flash {
  box-shadow: 0 0 42px rgba(255,176,77,.85), inset 0 0 34px rgba(255,255,255,1);
}
.wll-sum-slot.r6 .wll-sum-flash {
  box-shadow: 0 0 56px rgba(255,107,92,.9), 0 0 90px rgba(255,80,50,.35), inset 0 0 40px #fff;
}
/* 十连小卡底部遮罩降低，露出膝盖 */
.wll-sum-shade {
  height: 32% !important;
  background: linear-gradient(180deg, transparent, rgba(2,5,9,.88) 72%) !important;
}
/* ===================== V1.61.7：十连自适应宽 + 首页英雄放大 + 招募官占位 ===================== */
/* 十连 10 张卡按内容区自动等分，任何分辨率都不超屏；不再用 100vw 公式 */
#wl-sum:not(.single) .wll-sum-stage { gap: 4px; }
#wl-sum:not(.single) .wll-sum-slot {
  flex: 0 0 calc((100% - 36px) / 10) !important;
  width: calc((100% - 36px) / 10) !important;
  min-width: 0 !important;
  max-width: none !important;
  height: min(64vh, 250px) !important;
}
/* 首页出战阵容英雄放大（>=720 宽才放大，小屏保持原尺寸不挤） */
@media (min-width: 720px) {
  #wl-v-main .hst-fig { width: 74px; height: 130px; }
  #wl-v-main .hst-img, #wl-v-main .wl-bodysvg { max-width: 74px; max-height: 130px; width: 74px; height: 130px; }
}#wl-sum:not(.single) .wll-sum-stage { overflow-x: hidden !important; }
/* ===================== V1.61.8：详情卡头部超出卡片显示（不裁掉） ===================== */
#wl-zoom.wll-rdshow .wll-rd { overflow: visible !important; clip-path: none !important; }
#wl-zoom.wll-rdshow .wll-rd-left { overflow: visible !important; }
#wl-zoom.wll-rdshow .wll-rd-card { overflow: visible !important; clip-path: none !important; }
#wl-zoom.wll-rdshow .wll-rd-art {
  top: -46px !important;
  bottom: 4px !important;
  left: 6px !important;
  right: 6px !important;
  height: auto !important;
  background-size: 100% auto !important;
  background-position: center top !important;
  z-index: 2 !important;
}
#wl-zoom.wll-rdshow .wll-rd-nameplate { z-index: 3 !important; }
/* ===================== V1.61.9：英雄大厅 1:1 重构（顶部队伍 / 左立绘 / 右三页签） ===================== */
#wl-v-heroes.active {
  display: flex !important;
  flex-direction: column;
  gap: 5px;
  padding: 4px 6px 4px 2px;
  box-sizing: border-box;
  overflow: hidden;
}
.hs3-top { flex: 0 0 26px; display: flex; align-items: center; gap: 8px; }
.hs3-mtitle { font-size: .78rem; font-weight: 900; color: var(--wll-gold); letter-spacing: .1em; }
.hs3-teamrow {
  flex: 0 0 72px; display: flex; align-items: center; gap: 6px;
  background: rgba(13,17,10,.92); border: 1px solid var(--wll-line);
  border-radius: 8px; padding: 4px 6px; box-sizing: border-box;
}
.hs3-teamhead { flex: 0 0 92px; display: flex; flex-direction: column; gap: 1px; }
.hs3-teamhint { font-size: .4rem; color: #8a9a7a; line-height: 1.2; }
.hs3-teamrow .hs3-slots { flex: 1 1 auto; display: flex; gap: 5px; overflow-x: auto; overflow-y: hidden; height: 100%; align-items: stretch; }
.hs3-teamrow .hs3-slot {
  flex: 0 0 116px; width: 116px; height: 58px; display: flex; align-items: center; gap: 5px;
  padding: 4px 5px; border-radius: 6px; box-sizing: border-box;
}
.hs3-teamrow .hs3-slot-ord { font-size: .42rem; }
.hs3-teamrow .hs3-slot-av { width: 36px; height: 36px; flex: 0 0 36px; }
.hs3-teamrow .hs3-slot-av img, .hs3-teamrow .hs3-slot-av .hs3-em { width: 100%; height: 100%; object-fit: contain; }
.hs3-teamrow .hs3-slot-bd { min-width: 0; }
.hs3-teamrow .hs3-slot-bd b { font-size: .5rem; }
.hs3-teamrow .hs3-slot-bd i { font-size: .38rem; }
.hs3-change { flex: 0 0 auto; height: 28px; padding: 0 8px; font-size: .52rem; }
.hs3-body2 { flex: 1 1 auto; min-height: 0; display: flex; gap: 6px; }
.hs3-left2 { flex: 0 0 30%; max-width: 220px; min-width: 150px; display: flex; flex-direction: column; gap: 4px; min-height: 0; }
.hs3-lefthead { flex: 0 0 auto; }
.hs3-lefthead .hs3-nm { font-size: .72rem; line-height: 1.15; }
.hs3-lefthead .hs3-tags { gap: 2px; margin-top: 2px; }
.hs3-lefthead .hs3-tag { font-size: .38rem; padding: 1px 3px; }
.hs3-figwrap2 {
  flex: 1 1 auto; min-height: 0; position: relative; border: 1px solid var(--wll-line);
  border-radius: 8px; overflow: hidden; display: flex; align-items: flex-end; justify-content: center;
  background: radial-gradient(60% 70% at 50% 80%, rgba(80,140,50,.18), transparent 70%), rgba(8,12,7,.7);
}
.hs3-fig2 { width: 100%; height: 100%; display: flex; align-items: flex-end; justify-content: center; }
.hs3-fig2 img, .hs3-fig2 .hs3-figimg { max-width: 100%; max-height: 100%; object-fit: contain; filter: drop-shadow(0 8px 14px rgba(0,0,0,.7)); }
.hs3-leftacts { flex: 0 0 auto; display: flex; flex-wrap: wrap; gap: 3px; }
.hs3-leftacts .wl-btn { font-size: .46rem; padding: 3px 6px; }
.hs3-right2 { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.hs3-tabbar { flex: 0 0 28px; display: flex; gap: 5px; }
.hs3-tab {
  flex: 1 1 0; height: 28px; border: 1px solid #3c4a2e;
  background: linear-gradient(180deg,#1c2516,#0e140b); color: #b9c8a6;
  font-size: .58rem; font-weight: 900; letter-spacing: .08em;
  clip-path: polygon(8% 0,100% 0,92% 100%,0 100%);
}
.hs3-tab.on {
  color: #1a1203; background: linear-gradient(180deg,#ffe08a,#c99a2e);
  border-color: #ffe9a8; box-shadow: 0 0 12px rgba(255,200,80,.35);
}
.hs3-panels { flex: 1 1 auto; min-height: 0; position: relative; }
.hs3-panel { display: none; height: 100%; overflow-y: auto; overflow-x: hidden; padding-right: 2px; box-sizing: border-box; }
.hs3-panel.on { display: block; }
#wl-hs-stats.hs3-stats { margin-bottom: 4px; }
.hs3-statgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 6px; }
.hs3-stat {
  display: grid; grid-template-columns: 16px 32px 1fr; gap: 3px; align-items: center;
  background: rgba(14,20,10,.85); border: 1px solid #2f3b25; border-radius: 5px; padding: 3px 5px;
}
.hs3-stat .em { font-size: .6rem; text-align: center; }
.hs3-stat i { font-size: .42rem; color: #93a383; font-style: normal; }
.hs3-stat b { font-size: .54rem; color: #ffe9a8; text-align: right; }
.hs3-stat .hs3-bar { grid-column: 1 / -1; display: block; height: 3px; background: #070b05; border-radius: 2px; overflow: hidden; }
.hs3-stat .hs3-bar u { display: block; height: 100%; background: linear-gradient(90deg,#8fd14f,#ffd76a); }
#wl-hs-skills .hs3-mod-t { font-size: .48rem; margin: 4px 0 3px; color: #cfe0b8; }
.hs3-skg { display: flex; gap: 4px; flex-wrap: wrap; }
.hs3-sk { width: 38px; height: 42px; padding: 3px 2px; border-radius: 5px; }
.hs3-sk span { font-size: .8rem; }
.hs3-sk b { font-size: .36rem; }
.hs3-midacts { display: flex; gap: 4px; margin-top: 4px; flex-wrap: wrap; }
.hs3-midacts .wl-btn { font-size: .48rem; padding: 3px 7px; }
#wl-hs-equip .hs3-mod-t, #wl-hs-relic .hs3-mod-t { font-size: .48rem; margin: 2px 0 3px; color: #cfe0b8; }
#wl-hs-equip .hs3-eqg, #wl-hs-relic .hs3-eqg { display: grid; grid-template-columns: repeat(6,1fr); gap: 4px; }
#wl-hs-equip .cs-slot, #wl-hs-relic .cs-slot { height: 46px; border-radius: 5px; }
#wl-hs-equip .hs3-mod-b, #wl-hs-relic .hs3-mod-b { display: flex; gap: 4px; margin: 4px 0 2px; }
#wl-hs-equip .hs3-mod-b .wl-btn, #wl-hs-relic .hs3-mod-b .wl-btn { font-size: .42rem; padding: 2px 5px; }
.hs3-order { display: none !important; }
.hs3-awk { height: 100%; display: flex; flex-direction: column; gap: 5px; }
.hs3-awk-top { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 6px; }
.hs3-awk-mats { display: flex; flex-direction: column; gap: 4px; }
.hs3-awk-t { font-size: .44rem; color: #93a383; }
.hs3-awk-mat { display: flex; align-items: center; gap: 5px; background: rgba(14,20,10,.85); border: 1px solid #2f3b25; border-radius: 5px; padding: 3px 5px; }
.hs3-awk-mat.ok { border-color: #7fbf3f; box-shadow: 0 0 8px rgba(120,200,60,.2); }
.hs3-awk-mat .em { font-size: .8rem; }
.hs3-awk-mat b { display: block; font-size: .44rem; }
.hs3-awk-mat i { font-size: .38rem; color: #c8d6b8; font-style: normal; }
.hs3-awk-mid { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border: 1px dashed #3c4a2e; border-radius: 8px; background: rgba(10,16,8,.6); }
.hs3-awk-q { width: 40px; height: 40px; border-radius: 50%; border: 2px solid #ffd76a; background: radial-gradient(circle at 50% 40%, rgba(255,220,120,.25), rgba(20,26,14,.9)); color: #ffd76a; font-size: 1.1rem; font-weight: 900; }
.hs3-awk-d { font-size: .36rem; color: #7f8f70; text-align: center; padding: 0 4px; }
.hs3-awk-right { display: flex; flex-direction: column; align-items: center; min-height: 0; border: 1px solid #2f3b25; border-radius: 8px; background: rgba(10,16,8,.6); overflow: hidden; }
.hs3-awk-fig { flex: 1 1 auto; min-height: 0; display: flex; align-items: flex-end; justify-content: center; width: 100%; }
.hs3-awk-img { max-width: 100%; max-height: 100%; object-fit: contain; }
.hs3-awk-foot { flex: 0 0 auto; }
.hs3-relic-collect { display: none !important; }.hs3-teamrow .hs3-slots { flex-direction: row !important; overflow-x: auto !important; overflow-y: hidden !important; }
.hs3-teamrow { min-height: 0 !important; overflow: hidden !important; }
/* V1.61.9 补：装备/觉醒页压缩，保证两排装备+底部按钮不被裁 */
#wl-hs-equip, #wl-hs-relic { overflow: hidden; }
#wl-hs-equip .hs3-mod-t, #wl-hs-relic .hs3-mod-t { margin: 0 0 2px !important; font-size: .44rem !important; }
#wl-hs-equip .hs3-eqg, #wl-hs-relic .hs3-eqg { grid-template-columns: repeat(6,1fr) !important; gap: 3px !important; }
#wl-hs-equip .cs-slot, #wl-hs-relic .cs-slot { height: 38px !important; min-height: 0 !important; }
#wl-hs-equip .hs3-mod-b, #wl-hs-relic .hs3-mod-b { margin: 2px 0 0 !important; }
#wl-hs-equip .hs3-mod-b .wl-btn, #wl-hs-relic .hs3-mod-b .wl-btn { padding: 1px 4px !important; font-size: .38rem !important; }
.hs3-awk { overflow: hidden; }
.hs3-awk-top { min-height: 0; }
.hs3-awk-foot { flex: 0 0 30px; height: 30px; }
.hs3-awk-mats { overflow: hidden; }
.hs3-awk-mat { padding: 2px 4px; }
.hs3-awk-mat b { font-size: .4rem; }
.hs3-awk-mat i { font-size: .34rem; }.hs3-statgrid { grid-template-columns: 1fr !important; gap: 3px !important; }
.hs3-stat { grid-template-columns: 16px 32px 1fr !important; padding: 2px 5px !important; }
.hs3-statx { display: flex; flex-wrap: wrap; gap: 4px; margin: 3px 0 2px; font-size: .4rem; color: #b9c8a6; }
.hs3-statx span { background: rgba(20,28,14,.9); border: 1px solid #2f3b25; border-radius: 4px; padding: 1px 5px; }
.hs3-topline { margin-left: auto; font-size: .5rem; color: #cfe0b8; }
.hs3-topline b { color: var(--wll-gold); font-size: .62rem; }

/* ===================== V1.61.10：福利签到双轨道并排 + 大厅队伍侧栏 ===================== */
.wf-signin2 { display: flex; gap: 8px; align-items: stretch; }
.wf-track { flex: 1 1 0; min-width: 0; background: linear-gradient(180deg, rgba(16,24,15,.9), rgba(8,13,9,.85)); border: 1px solid #3f4d30; border-radius: 8px; padding: 6px; box-sizing: border-box; }
.wf-track.prem { border-color: #7a5a20; background: linear-gradient(180deg, rgba(40,30,10,.92), rgba(18,12,5,.9)); }
.wf-track-t { display: flex; align-items: center; justify-content: space-between; gap: 4px; font-size: .54rem; font-weight: 800; color: #ffd76a; margin-bottom: 4px; }
.wf-track-t span { font-size: .4rem; color: #97a584; font-weight: 400; }
.wf-track-lock { font-size: .4rem; color: #ff9b7a; line-height: 1.3; margin-bottom: 3px; }
.wf-track .wf-grid7 { grid-template-columns: repeat(7, 1fr) !important; gap: 3px !important; }
.wf-track .wf-cell { padding: 3px 2px !important; min-height: 0 !important; }
.wf-track .wf-cell .d { font-size: .36rem !important; }
.wf-track .wf-cell .wf-rw { font-size: .34rem !important; }
.wf-track .wl-btn.block { margin-top: 5px; font-size: .5rem; padding: 4px 6px; }
/* 大厅：队伍侧栏 */
.hs3-teamcol {
  flex: 0 0 118px; width: 118px; display: flex; flex-direction: column; gap: 4px;
  min-height: 0; background: rgba(13,17,10,.92); border: 1px solid var(--wll-line);
  border-radius: 8px; padding: 4px; box-sizing: border-box;
}
.hs3-teamcol .hs3-teamhead { flex: 0 0 auto; }
.hs3-teamcol .hs3-sec-t { font-size: .46rem; }
.hs3-teamcol .hs3-teamhint { display: none; }
.hs3-teamcol .hs3-slots { flex: 1 1 auto; display: flex; flex-direction: column; gap: 3px; overflow-y: auto; overflow-x: hidden; }
.hs3-teamcol .hs3-slot { flex: 0 0 32px; width: 100%; height: 32px; display: flex; align-items: center; gap: 4px; padding: 2px 4px; box-sizing: border-box; border-radius: 5px; }
.hs3-teamcol .hs3-slot-ord { font-size: .34rem; }
.hs3-teamcol .hs3-slot-av { width: 24px; height: 24px; flex: 0 0 24px; }
.hs3-teamcol .hs3-slot-av img, .hs3-teamcol .hs3-slot-av .hs3-em { width: 100%; height: 100%; object-fit: contain; }
.hs3-teamcol .hs3-slot-bd { min-width: 0; }
.hs3-teamcol .hs3-slot-bd b { font-size: .42rem; }
.hs3-teamcol .hs3-slot-bd i { font-size: .32rem; }
.hs3-teamcol .hs3-change { flex: 0 0 24px; height: 24px; font-size: .42rem; padding: 0 3px; }

/* ===================== V1.61.11：福利中心免费 / 增值奖励横排 ===================== */
.wll-wf-pair { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4px; width: 100%; }
.wll-wf-pair.one { grid-template-columns: 1fr; }
.wll-wf-pairc {
  display: flex; flex-direction: column; gap: 1px; min-width: 0;
  padding: 3px 4px; border-radius: 6px;
  border: 1px solid rgba(255, 215, 106, .20);
  background: rgba(0, 0, 0, .18);
}
.wll-wf-pairc.prem { border-color: rgba(168, 124, 232, .48); background: linear-gradient(160deg, rgba(74, 42, 112, .28), rgba(18, 10, 32, .30)); }
.wll-wf-pairlb { font-size: .34rem; font-weight: 900; letter-spacing: .06em; color: #8eb6ab; line-height: 1.2; }
.wll-wf-pairc.prem .wll-wf-pairlb { color: #cbb0ff; }
.wll-wf-pairrw { display: flex; flex-wrap: wrap; gap: 2px; }
.wll-wf-pairrw .wf-rw, .wll-wf-pairrw .rw-chip { font-size: .38rem; padding: 0 3px; line-height: 1.4; border-radius: 3px; }
.wll-wf-mact2 { display: flex; flex-direction: column; gap: 2px; align-items: stretch; }
.wll-wf-mact2 .wll-wf-claim { font-size: .4rem; padding: 2px 5px; }
.wll-wf-duo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 5px; margin-bottom: 5px; }
.wll-wf-duo .wll-wf-block { margin-bottom: 0; min-width: 0; }
.wll-wf-actions.duo { flex-direction: row; gap: 5px; }
.wll-wf-actions.duo .wll-wf-big { flex: 1 1 0; min-width: 0; font-size: .48rem; padding: 6px 4px; letter-spacing: 0; }
@media (max-width: 700px) {
  .wll-wf-pairlb { font-size: .3rem; }
  .wll-wf-mact2 .wll-wf-claim { font-size: .36rem; padding: 2px 3px; }
  .wll-wf-actions.duo .wll-wf-big { font-size: .42rem; }
}

/* ===================== V1.61.15 后街：单卡轮播（每次滑动切下一张） ===================== */
#wll-alley-track {
  padding: 14px 22px 22px;
  gap: 18px;
  scroll-behavior: auto;
}
#wll-alley-track .wll-node {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: none !important;
  height: min(80%, 280px) !important;
  min-height: 230px !important;
  margin: 0 0 6px 0 !important;
  padding: 0 10px 14px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255, 215, 106, .34) !important;
  background:
    radial-gradient(90% 70% at 50% 0%, rgba(255, 215, 106, .12), transparent 62%),
    linear-gradient(180deg, rgba(37, 45, 24, .94), rgba(10, 16, 8, .96)) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .58), inset 0 0 24px rgba(255, 215, 106, .06) !important;
  transform: none !important;
  z-index: 3 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}
#wll-alley-track .wll-node:active { transform: scale(.98) !important; }
#wll-alley-track .wll-node .wll-b3d {
  transform: scale(1.3) !important;
  transform-origin: 50% 100%;
  margin-bottom: 26px !important;
}
#wll-alley-track .wll-node .wll-nm {
  font-size: .9rem;
  max-width: none;
  letter-spacing: .06em;
}
#wll-alley-track .wll-node .wll-ds {
  font-size: .6rem;
  max-width: none;
  color: #b9c6a6;
}
#wll-alley-track .wll-node .wll-dot { top: 10px; right: 10px; }
#wll-alley-track .wll-node .wll-hot { top: 10px; left: 10px; }
@media (max-height: 400px) {
  #wll-alley-track { padding-left: 16px; padding-right: 16px; }
  #wll-alley-track .wll-node { min-height: 190px !important; height: 80% !important; }
  #wll-alley-track .wll-node .wll-b3d { transform: scale(1.2) !important; margin-bottom: 20px !important; }
}
/* =====================================================================
 * V1.61.16 · 后街整卡轮播 / 左栏常驻 / 商城品级直切
 *  1) 后街去掉 2.5D 房子与标题栏：整张卡片=后台美术，未传图=功能名居中
 *  2) 每次滑动只切一张卡；卡片居中放大，四边留边
 *  3) 左栏常驻「营地 / 后街」（首页隐藏营地；后街页保留左栏）
 *  4) 补给商城技能书：点「高级/普通」立即显示对应品级，不再横向翻页
 * ===================================================================== */

/* ---------- 左栏：后街入口常驻 ---------- */
body .wll-aux #wll-alley-btn {
  display: flex !important;
  position: static !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 34px;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 3px;
  border-radius: 2px !important;
  background: linear-gradient(180deg, #ffd88a, #e8a33d) !important;
  border: 1px solid #ffe6b0 !important;
  color: #2a1c03 !important;
  font-weight: 900 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 2px 6px rgba(0,0,0,.4), 0 0 12px rgba(255,190,70,.28) !important;
  cursor: pointer;
}
body .wll-aux #wll-alley-btn .em { font-size: .92rem !important; line-height: 1; }
body .wll-aux #wll-alley-btn .tx { font-size: .5rem !important; line-height: 1.2; }
body.wll-battle .wll-aux #wll-alley-btn { display: none !important; }

/* 首页不显示营地；其余页面（含后街）常驻 */
body.on-main:not(.on-alley) .wll-home { display: none !important; }
body.on-alley .wll-top { display: flex !important; z-index: 210; }
body.on-alley .wll-top .wll-home { display: flex !important; }

/* 后街页从左侧导航右侧开始，左栏可点 */
body.on-alley .wll-alley-page {
  left: var(--wll-rail-w);
  z-index: 205;
}
body.on-alley .wll-alley-page .wll-alley-hd { display: none !important; }

/* 顶部重复「返回营地」全部隐藏 */
#wl-v-lord .lord-top > .wl-btn.gold[data-v="main"] { display: none !important; }

/* ---------- 后街：整卡轮播 ---------- */
.wll-alley-page {
  background:
    radial-gradient(80% 55% at 50% 30%, rgba(143,209,79,.10), transparent 65%),
    linear-gradient(180deg, #0a0d07 0%, #12170c 48%, #070a05 100%);
}
.wll-alley-bg { opacity: .16; filter: blur(5px) saturate(.75) brightness(.55); transform: scale(1.03); }
#wll-alley-track {
  flex: 1 1 auto;
  min-height: 0;
  display: flex !important;
  align-items: stretch !important;
  gap: 0 !important;
  padding: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-behavior: auto;
  scrollbar-width: none;
  touch-action: none;
  overscroll-behavior: contain;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
}
#wll-alley-track .wll-slide {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(14px, env(safe-area-inset-top)) calc(18px + env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) 18px;
  box-sizing: border-box;
}
#wll-alley-track::-webkit-scrollbar { display: none; }
#wll-alley-track.grabbing { cursor: grabbing; }
#wll-alley-track .wll-node {
  position: relative !important;
  flex: none !important;
  width: var(--wll-card-w, 100%) !important;
  max-width: none !important;
  height: var(--wll-card-h, 100%) !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  display: block !important;
  border: 1px solid rgba(255, 215, 106, .34) !important;
  background:
    radial-gradient(85% 65% at 50% 0%, rgba(255, 215, 106, .14), transparent 62%),
    linear-gradient(158deg, #27331c 0%, #131a0e 52%, #080b06 100%) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, .65), 0 0 0 1px rgba(0,0,0,.35) inset, 0 0 34px rgba(255, 190, 70, .06) inset !important;
  transform: none !important;
  z-index: 3 !important;
  cursor: pointer;
  box-sizing: border-box !important;
}
#wll-alley-track .wll-node::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 70px rgba(0, 0, 0, .38);
  pointer-events: none;
  z-index: 2;
}
#wll-alley-track .wll-node:active { transform: scale(.996) !important; }
#wll-alley-track .wll-node .wll-card-art {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  transition: opacity .2s ease;
}
#wll-alley-track .wll-node .wll-card-name {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 8%;
  text-align: center;
  font-size: clamp(22px, 4.6vw, 46px);
  font-weight: 900;
  letter-spacing: .12em;
  line-height: 1.2;
  color: #ffe9b0;
  text-shadow: 0 4px 20px rgba(0, 0, 0, .85), 0 0 26px rgba(255, 190, 70, .28);
  pointer-events: none;
}
#wll-alley-track .wll-node .wll-hot {
  top: 12px !important;
  left: 12px !important;
  right: auto !important;
  z-index: 6 !important;
}
#wll-alley-track .wll-node .wll-dot { top: 12px; right: 12px; z-index: 6; }

@media (max-height: 400px) {
  #wll-alley-track .wll-slide {
    padding: max(9px, env(safe-area-inset-top)) calc(14px + env(safe-area-inset-right)) max(11px, env(safe-area-inset-bottom)) 14px;
  }
  #wll-alley-track .wll-node { border-radius: 16px !important; }
}

/* ---------- 补给商城：纵向直出，技能书点品级立即显示 ---------- */
#wl-v-shop #wl-shop-body {
  display: block !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scroll-snap-type: none !important;
  padding: 0 2px 8px !important;
}
#wl-v-shop #wl-shop-body > .wl-sec {
  flex: none !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 0 7px !important;
  overflow: visible !important;
  scroll-snap-align: none !important;
}
#wl-v-shop #wl-shop-body .shop-grid {
  display: grid !important;
  grid-auto-flow: row !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-template-rows: none !important;
  grid-auto-rows: minmax(76px, auto) !important;
  gap: 6px !important;
  overflow: visible !important;
  padding: 0 !important;
}
#wl-v-shop #wl-shop-body .shop-cell {
  min-height: 76px;
  height: auto !important;
  padding: 5px 4px !important;
  justify-content: center;
}
#wl-v-shop .bk-tabs {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
  margin: 5px 0 7px !important;
}
#wl-v-shop .bk-tabs .wl-tab {
  width: 100%;
  justify-content: center;
  text-align: center;
  padding: 5px 2px;
  font-size: .58rem;
}

@media (max-width: 620px) {
  #wl-v-shop #wl-shop-body .shop-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 4px !important; }
  #wl-v-shop #wl-shop-body .shop-cell { min-height: 68px; }
  #wl-v-shop .bk-tabs .wl-tab { font-size: .52rem; }
}


/* ===================== V1.61.18 后街：地图建筑节点（可横向拖背景） ===================== */
.wll-alley-mapwrap {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  position: relative;
  overflow: hidden;
  touch-action: none;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  background: #0b0f08;
}
.wll-alley-mapwrap.grabbing { cursor: grabbing; }
.wll-alley-mapwrap::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(6, 9, 5, .62) 0%, rgba(6, 9, 5, 0) 13%, rgba(6, 9, 5, 0) 87%, rgba(6, 9, 5, .62) 100%);
}
.wll-alley-mapwrap::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  box-shadow: inset 0 0 80px rgba(0, 0, 0, .5);
}
.wll-alley-map {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center center;
  will-change: transform;
  z-index: 1;
}
.wll-mnode {
  position: absolute;
  width: 64px;
  height: 64px;
  min-width: 64px;
  min-height: 64px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  transform: translate(-50%, -50%);
  cursor: pointer;
  z-index: 3;
  -webkit-tap-highlight-color: transparent;
}
.wll-mnode .wll-mnm {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  font-size: clamp(10px, .68rem, 15px);
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .02em;
  color: #ffe9c4;
  background: rgba(10, 13, 7, .78);
  border: 1px solid rgba(255, 200, 110, .55);
  border-radius: 999px;
  padding: 3px 8px 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .7), 0 0 10px rgba(255, 190, 70, .18);
  text-shadow: 0 1px 2px #000;
  pointer-events: none;
}
.wll-mnode:hover .wll-mnm,
.wll-mnode:active .wll-mnm {
  color: #fff3c8;
  border-color: #ffd76a;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .8), 0 0 16px rgba(255, 190, 70, .55);
}
.wll-mnode:active { transform: translate(-50%, -50%) scale(.96); }
.wll-mnode .wll-dot { top: 4px; right: 4px; z-index: 4; }

@media (max-width: 720px) {
  .wll-mnode { width: 72px; height: 72px; min-width: 72px; min-height: 72px; }
  .wll-mnode .wll-mnm { font-size: 10px; padding: 2px 6px 3px; }
}


/* =====================================================================
 * V1.61.19 · 背包重排 / 英雄大厅右栏填满 / 两侧自适应 + 背景质感
 * ===================================================================== */

/* ---------- 左右两侧：随分辨率收缩，避免小屏挤压中间 ---------- */
:root {
  --wll-rail-w: clamp(100px, 13.5vw, 114px);
  --wll-alley-side-w: clamp(150px, 24vw, 210px);
}
@media (max-width: 820px) {
  :root { --wll-rail-w: clamp(100px, 13.5vw, 110px); }
}

/* 两侧面板背景：极淡的地图纹理 + 金色边线，减少“空黑”感 */
.wll-top {
  background:
    radial-gradient(120% 30% at 50% 0%, rgba(255, 190, 70, .10), transparent 70%),
    repeating-linear-gradient(135deg, rgba(255, 255, 255, .025) 0 1px, transparent 1px 7px),
    linear-gradient(180deg, rgba(11, 14, 9, .80), rgba(17, 22, 12, .86)),
    var(--wll-side-art, none) center / cover no-repeat !important;
  border-right: 1px solid rgba(255, 215, 106, .22) !important;
  position: fixed;
}
.wll-top::after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(255, 215, 106, .42), transparent);
  pointer-events: none;
}
.wll-alley-side {
  position: relative;
  background:
    radial-gradient(90% 30% at 50% 0%, rgba(255, 190, 70, .10), transparent 70%),
    radial-gradient(80% 40% at 50% 100%, rgba(255, 170, 60, .08), transparent 70%),
    repeating-linear-gradient(135deg, rgba(255, 255, 255, .022) 0 1px, transparent 1px 7px),
    linear-gradient(180deg, rgba(12, 16, 9, .82), rgba(7, 10, 6, .88)),
    var(--wll-side-art, none) center / cover no-repeat !important;
  border-left: 1px solid rgba(255, 215, 106, .18);
  border-radius: 10px 0 0 10px;
  box-shadow: inset 0 0 34px rgba(0, 0, 0, .42);
  padding-left: 4px;
}
.wll-alley-side::before {
  content: '';
  position: absolute;
  left: 8px;
  right: 8px;
  top: 4px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 215, 106, .38), transparent);
  pointer-events: none;
}

/* 地图左右/上下边缘压暗，和两侧面板融合 */
.wll-alley-mapwrap::before {
  background:
    linear-gradient(90deg, rgba(6, 9, 5, .55) 0%, rgba(6, 9, 5, 0) 7%, rgba(6, 9, 5, 0) 93%, rgba(6, 9, 5, .55) 100%),
    linear-gradient(180deg, rgba(6, 9, 5, .62) 0%, rgba(6, 9, 5, 0) 13%, rgba(6, 9, 5, 0) 87%, rgba(6, 9, 5, .62) 100%);
}

/* ---------- 仓库背包：2 列宽卡，不再挤成 7 列小方块 ---------- */
#wl-v-bag .bg3-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(226px, 1fr)) !important;
  gap: 6px !important;
  width: 100%;
}
#wl-v-bag .bg3-grid .bgc {
  min-height: 96px;
  padding: 7px 8px;
}
#wl-v-bag .bgc-ic { width: 42px; height: 42px; }
#wl-v-bag .bgc-nm { font-size: .7rem; }
#wl-v-bag .bgc-st { font-size: .56rem; }
#wl-v-bag .bgc-pw { font-size: .58rem; }
#wl-v-bag .bgc-btns .wl-btn { font-size: .52rem; padding: 2px 5px; }
@media (max-width: 720px) {
  #wl-v-bag .bg3-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  #wl-v-bag .bg3-grid .bgc { min-height: 92px; padding: 6px; gap: 6px; }
  #wl-v-bag .bgc-ic { width: 38px; height: 38px; }
}

/* ---------- 英雄大厅：右栏顶/中/底分布，操作按钮沉底 ---------- */
#wl-v-heroes .hs3-panel[data-panel="hero"].on,
#wl-v-heroes .hs3-panel[data-panel="equip"].on {
  display: flex !important;
  flex-direction: column;
  justify-content: space-between;
  gap: 6px;
}
#wl-v-heroes .hs3-panel[data-panel="hero"].on #wl-hs-stats { flex: 0 0 auto; }
#wl-v-heroes .hs3-panel[data-panel="hero"].on #wl-hs-skills { flex: 1 1 auto; min-height: 0; }
#wl-v-heroes .hs3-panel[data-panel="hero"].on #wl-hs-acts { flex: 0 0 auto; margin-top: auto; padding-top: 5px; }
#wl-v-heroes .hs3-panel[data-panel="equip"].on #wl-hs-equip,
#wl-v-heroes .hs3-panel[data-panel="equip"].on #wl-hs-relic { flex: 1 1 auto; min-height: 0; }
#wl-v-heroes .hs3-panel[data-panel="hero"].on #wl-hs-skills .hs3-mod-t { margin-top: 0; }

/* 英雄大厅小屏：压缩队伍列/立绘列，把宽度让给右侧面板 */
@media (max-width: 820px) {
  .hs3-teamcol { flex: 0 0 104px !important; width: 104px !important; }
  .hs3-left2 { flex: 0 1 26vw !important; min-width: 132px !important; max-width: 190px !important; }
}
@media (max-width: 700px) {
  .hs3-teamcol { flex: 0 0 96px !important; width: 96px !important; }
  .hs3-left2 { flex: 0 1 24vw !important; min-width: 120px !important; max-width: 160px !important; }
  #wl-v-heroes .hs3-panel[data-panel="hero"].on #wl-hs-acts .wl-btn { font-size: .46rem; padding: 3px 6px; }
}



/* 极小屏（<=520）：英雄大厅优先保右栏可读，收起立绘图 */
@media (max-width: 520px) {
  #wl-v-heroes .hs3-teamcol { flex: 0 0 84px !important; width: 84px !important; }
  #wl-v-heroes .hs3-left2 { flex: 0 0 96px !important; min-width: 96px !important; max-width: 96px !important; }
  #wl-v-heroes .hs3-figwrap2 { display: none !important; }
  #wl-v-heroes .hs3-lefthead .hs3-nm { font-size: .6rem; }
}

/* =====================================================================
 * V1.61.20 · 悬赏/防疫任务 / 精彩活动 / 老虎机 / 公会 / 资源栏重做
 * ===================================================================== */

/* ---------- 左侧资源栏：图标 + 标签 + 数值，改为纵向大卡 ---------- */
.wll-top .wl-res {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  overflow: visible !important;
}
.wll-top .wl-res .wl-chip.res-card {
  position: relative;
  display: flex !important;
  align-items: center;
  gap: 4px;
  width: 100%;
  min-height: 30px;
  padding: 3px 13px 3px 5px !important;
  border-radius: 7px !important;
  border: 1px solid #6a5522 !important;
  background: linear-gradient(135deg, #2b2a15, #151b0d) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 2px 5px rgba(0, 0, 0, .4);
  overflow: hidden;
  box-sizing: border-box;
}
.wll-top .wl-res .wl-chip.res-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(70% 100% at 0% 50%, rgba(255, 200, 90, .12), transparent 60%);
  pointer-events: none;
}
.res-card .res-em {
  width: 19px;
  flex: 0 0 19px;
  text-align: center;
  font-size: .9rem;
  line-height: 1;
  filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .65));
  position: relative;
  z-index: 1;
}
.res-card .res-em .zxc { display: inline-block; width: 14px; height: 14px; }
.res-card .res-tx {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
  position: relative;
  z-index: 1;
}
.res-card .res-tx em {
  font-style: normal;
  font-size: .34rem;
  line-height: 1;
  color: #9fb088;
  letter-spacing: .06em;
}
.res-card .res-tx b {
  font-size: .56rem;
  line-height: 1.05;
  color: #ffd76a;
  text-shadow: 0 0 6px rgba(255, 190, 70, .35);
  max-width: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.res-card .res-plus {
  position: absolute;
  right: 1px;
  top: 1px;
  width: 12px;
  height: 12px;
  line-height: 11px;
  padding: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, .35);
  border: 1px solid rgba(255, 215, 106, .35);
  color: #ffd76a;
  font-size: .4rem;
  text-align: center;
  z-index: 2;
}
.res-card[data-k="gold"] { border-color: #8a6a1e !important; }
.res-card[data-k="dia"] { border-color: #3f6f8a !important; }
.res-card[data-k="tok"] { border-color: #7a5a1e !important; }
.res-card[data-k="ftk"] { border-color: #3f7a5a !important; }
.res-card[data-k="zx"] { border-color: #7a3f8a !important; }

/* 日常任务已移到首页精彩活动 */
#wl-v-tasks > .wl-h1 + .wl-sec { display: none !important; }

/* ---------- 地图节点锁定 / 后街悬赏气泡 ---------- */
.wl-hnode.locked { opacity: .62; filter: grayscale(.55); }
.wl-hlock, .wll-mlock {
  position: absolute;
  right: -2px;
  top: -2px;
  font-size: .55rem;
  line-height: 1;
  filter: drop-shadow(0 1px 2px #000);
  z-index: 5;
}
.wll-mnode.locked .wll-mnm { color: #9aa69a; border-color: #4a5a4a; }
.wll-mnode-bubble .wll-mnm {
  border-radius: 10px;
  padding: 4px 9px 5px;
  background: linear-gradient(180deg, rgba(36, 30, 16, .94), rgba(12, 14, 8, .94));
  border-color: rgba(255, 215, 106, .72);
  box-shadow: 0 3px 12px rgba(0, 0, 0, .8), 0 0 14px rgba(255, 190, 70, .3);
}
.wll-mnode-bubble .wll-mnm::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -6px;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 7px solid rgba(255, 215, 106, .72);
  filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .6));
}

/* ---------- 悬赏 / 防疫任务页 ---------- */
.evp-view.active {
  display: flex !important;
  flex-direction: column !important;
  padding: 4px 7px 6px !important;
  gap: 5px;
  overflow: hidden;
  background:
    radial-gradient(80% 60% at 50% 0%, rgba(38, 120, 140, .12), transparent 65%),
    linear-gradient(180deg, #08110f, #070b09);
}
.evp {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.evp-top {
  flex: 0 0 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: 0 2px;
}
.evp-title b {
  font-size: .82rem;
  color: #8fe8ff;
  letter-spacing: .08em;
  text-shadow: 0 0 12px rgba(80, 200, 255, .45);
}
.evp-title span {
  margin-left: 6px;
  font-size: .46rem;
  color: #7f9a90;
}
.evp-res { display: flex; gap: 8px; font-size: .5rem; color: #d8e8d0; }
.evp-res b { color: #ffd76a; }
.evp-board {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  grid-auto-rows: minmax(104px, auto);
  gap: 5px;
  overflow-y: auto;
  overflow-x: hidden;
  align-content: start;
  padding: 1px 2px 2px 1px;
  scrollbar-width: thin;
}
.evp-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 5px 6px;
  border-radius: 7px;
  border: 1px solid #3b4a3f;
  background: linear-gradient(160deg, #13201c, #0a100d);
  color: #dfe8dc;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
  min-width: 0;
}
.evp-card::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: #8a8a8a;
  opacity: .9;
}
.evp-card.r1::before { background: #77d36b; }
.evp-card.r2::before { background: #5aa8ff; }
.evp-card.r3::before { background: #b47cff; }
.evp-card.r2 { border-color: #2f5f8a; }
.evp-card.r3 { border-color: #6b3f9a; box-shadow: inset 0 0 18px rgba(140, 80, 220, .12); }
.evp-card.sel { outline: 2px solid #ffd76a; outline-offset: -1px; box-shadow: 0 0 14px rgba(255, 190, 70, .35); }
.evp-card.st-run { background: linear-gradient(160deg, #10242a, #081114); }
.evp-card.st-done { border-color: #7fbf3f; }
.evp-card.locked { align-items: center; justify-content: center; opacity: .55; border-style: dashed; cursor: default; }
.evp-card.locked::before { display: none; }
.evp-rar { font-size: .36rem; font-weight: 900; letter-spacing: .06em; color: #c9c9c9; }
.evp-card.r1 .evp-rar { color: #77d36b; }
.evp-card.r2 .evp-rar { color: #7fc4ff; }
.evp-card.r3 .evp-rar { color: #d0a6ff; }
.evp-name { font-size: .62rem; line-height: 1.15; font-weight: 900; color: #f2f7ea; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.evp-req { font-size: .4rem; color: #9fb088; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.evp-status { font-size: .42rem; color: #8fe8ff; }
.evp-card.st-done .evp-status { color: #9fe07a; }
.evp-rw { display: flex; flex-wrap: wrap; gap: 2px; margin-top: 2px; }
.evp-rw .rw-chip { font-size: .34rem; padding: 0 4px; }
.evp-runbar { position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: linear-gradient(90deg, #58d6ff, transparent); animation: evpRun 1.2s linear infinite; }
@keyframes evpRun { 0% { opacity: .25; } 50% { opacity: 1; } 100% { opacity: .25; } }
.evp-bottom { flex: 0 0 auto; display: flex; flex-direction: column; gap: 4px; }
.evp-detail {
  border: 1px solid #2f4a44;
  border-radius: 7px;
  padding: 4px 6px;
  background: rgba(6, 14, 12, .9);
  min-height: 48px;
}
.evp-dt-h { display: flex; align-items: center; gap: 5px; }
.evp-dt-h b { font-size: .6rem; color: #eaf5e4; }
.evp-dt-lv { margin-left: auto; font-size: .42rem; color: #8fe8ff; }
.evp-dt-req { font-size: .42rem; color: #9fb088; margin-top: 2px; }
.evp-dt-rw { display: flex; flex-wrap: wrap; gap: 2px; margin-top: 2px; }
.evp-dt-rw .rw-chip { font-size: .36rem; }
.evp-dt-btns { display: flex; gap: 4px; margin-top: 3px; flex-wrap: wrap; }
.evp-dt-btns .wl-btn { font-size: .44rem; padding: 2px 7px; }
.evp-heroes {
  display: flex;
  gap: 4px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 2px 1px;
  min-height: 50px;
  scrollbar-width: none;
}
.evp-heroes::-webkit-scrollbar { display: none; }
.evp-h {
  position: relative;
  flex: 0 0 42px;
  width: 42px;
  height: 48px;
  padding: 2px;
  border-radius: 6px;
  border: 1px solid #3b4a3f;
  background: rgba(10, 16, 12, .9);
  cursor: pointer;
}
.evp-h.on { border-color: #ffd76a; box-shadow: 0 0 10px rgba(255, 190, 70, .45); }
.evp-h.busy { opacity: .42; }
.evp-h-av { display: flex; width: 100%; height: 30px; align-items: center; justify-content: center; overflow: hidden; }
.evp-h-av .hs3-em, .evp-h-av img { max-width: 100%; max-height: 100%; font-size: 1.3rem; object-fit: contain; }
.evp-h-lv { display: block; font-size: .3rem; color: #cfe0b8; text-align: center; line-height: 1.1; }
.evp-h-chk { position: absolute; right: 1px; top: 1px; color: #ffd76a; font-size: .55rem; font-weight: 900; }
.evp-h-bz { position: absolute; left: 1px; right: 1px; bottom: 1px; font-size: .28rem; text-align: center; color: #ffb0a0; background: rgba(0,0,0,.65); }
.evp-actions { display: flex; gap: 4px; flex-wrap: wrap; }
.evp-actions .wl-btn { font-size: .44rem; padding: 2px 6px; }
.evp-empty { font-size: .44rem; color: #7f8f70; padding: 6px; }
.evp-slot { align-items: stretch; }
.slot-box { flex: 1 1 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; border: 1px solid #6a5522; border-radius: 10px; background: radial-gradient(60% 60% at 50% 40%, rgba(255, 190, 70, .12), rgba(8,12,7,.95)); }
.slot-reels { display: flex; gap: 10px; }
.slot-reels span { width: 74px; height: 74px; display: flex; align-items: center; justify-content: center; font-size: 2rem; border-radius: 12px; border: 2px solid #ffd76a; background: linear-gradient(180deg, #2a2410, #0c1008); box-shadow: 0 0 18px rgba(255, 190, 70, .25); }
.slot-note { font-size: .46rem; color: #cfe0b8; }
.slot-spin { font-size: .7rem; padding: 7px 24px; }
.slot-mile { display: flex; gap: 6px; font-size: .46rem; color: #7f8f70; }
.slot-mile .on { color: #ffd76a; }
.guild-box { margin: auto; text-align: center; padding: 20px; border: 1px solid #6a5522; border-radius: 12px; background: linear-gradient(180deg, rgba(40, 32, 14, .94), rgba(10, 12, 7, .96)); }
.guild-em { font-size: 3rem; }
.guild-t { font-size: 1.1rem; color: #ffd76a; font-weight: 900; margin: 6px 0; }
.guild-d { font-size: .6rem; color: #cfe0b8; line-height: 1.8; margin-bottom: 12px; }

/* ---------- 首页精彩活动 ---------- */
.wll-event-center {
  flex: 0 0 auto;
  border: 1px solid rgba(255, 200, 80, .45);
  border-radius: 8px;
  padding: 5px 6px;
  background: linear-gradient(180deg, rgba(52, 38, 12, .96), rgba(18, 15, 7, .97));
  box-shadow: 0 0 14px rgba(255, 190, 70, .16), inset 0 1px 0 rgba(255, 255, 255, .08);
}
.evc-head { display: flex; align-items: center; justify-content: space-between; gap: 4px; }
.evc-title { font-size: .64rem; font-weight: 900; color: #ffe08a; text-shadow: 0 0 10px rgba(255, 190, 70, .55); letter-spacing: .04em; }
.evc-signin {
  position: relative;
  font-size: .44rem;
  font-weight: 900;
  padding: 2px 9px;
  border-radius: 999px;
  border: 1px solid #fff0c0;
  background: linear-gradient(180deg, #ffe89b, #e8a33d 55%, #b96a12);
  color: #3a1f00;
  box-shadow: 0 0 12px rgba(255, 190, 70, .6), inset 0 1px 0 rgba(255, 255, 255, .7);
  animation: evcSign 1.8s ease-in-out infinite;
}
@keyframes evcSign { 0%,100% { filter: brightness(1); } 50% { filter: brightness(1.18); } }
.evc-dot { position: absolute; right: -2px; top: -2px; width: 7px; height: 7px; border-radius: 50%; background: #ff3b3b; box-shadow: 0 0 7px #ff3b3b; }
.evc-week { display: flex; justify-content: space-between; gap: 4px; margin-top: 2px; font-size: .42rem; color: #cfe0b8; }
.evc-week b { color: #8fe8ff; }
.evc-week span { color: #9fb088; white-space: nowrap; }
.evc-pts { display: flex; align-items: center; justify-content: space-between; margin-top: 3px; font-size: .42rem; color: #cfe0b8; }
.evc-pts b { color: #ffd76a; }
.evc-claimm { font-size: .36rem; padding: 1px 6px; border-radius: 999px; border: 1px solid #ffd76a; background: rgba(255, 200, 80, .12); color: #ffd76a; }
.evc-bar { height: 4px; margin-top: 2px; border-radius: 2px; background: #070b05; overflow: hidden; }
.evc-bar i { display: block; height: 100%; background: linear-gradient(90deg, #8fd14f, #ffd76a); }
.evc-events { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; margin-top: 4px; }
.evc-ev { position: relative; display: flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 4px; padding: 3px 5px; border-radius: 5px; border: 1px solid #4a5c38; background: rgba(0, 0, 0, .24); color: #cfe0b8; cursor: pointer; min-width: 0; }
.evc-ev b { font-size: .72rem; line-height: 1; }
.evc-ev span { font-size: .34rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.evc-ev i { position: absolute; right: 1px; top: -5px; font-size: .28rem; font-style: normal; color: #2a1a03; background: #ffd76a; border-radius: 999px; padding: 0 3px; }
.evc-ev.on { border-color: #ffd76a; background: linear-gradient(180deg, rgba(255, 220, 120, .35), rgba(120, 80, 10, .25)); box-shadow: 0 0 8px rgba(255, 190, 70, .35); }
.evc-ev.lvlock { opacity: .5; }
.evc-daily-h { display: flex; justify-content: space-between; margin-top: 4px; font-size: .4rem; color: #ffd76a; }
.evc-daily { display: flex; flex-direction: column; }
.evc-task { display: flex; align-items: center; gap: 3px; padding: 1px 0; border-bottom: 1px dashed rgba(255, 255, 255, .06); font-size: .38rem; color: #cfe0b8; }
.evc-task-nm { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.evc-task-pg { color: #8f9f80; }
.evc-claim { font-size: .34rem; padding: 1px 5px; border-radius: 4px; border: 1px solid #ffd76a; background: rgba(255, 200, 80, .12); color: #ffd76a; }
.evc-done { color: #7fbf3f; font-size: .34rem; }
.evc-wait { color: #6f7f60; font-size: .34rem; }
.evc-guild { width: 100%; margin-top: 4px; padding: 2px 4px; font-size: .4rem; border-radius: 5px; border: 1px solid #4a5c38; background: rgba(0, 0, 0, .24); color: #cfe0b8; }
.evc-guild i { float: right; font-style: normal; color: #8f9f80; }

/* 小屏压缩 */
@media (max-width: 720px) {
  .evp-board { grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)); }
  .evp-title b { font-size: .7rem; }
  .evp-title span { font-size: .4rem; }
  .evp-res { gap: 5px; font-size: .44rem; }
  .evp-card { padding: 4px 5px; }
  .evp-name { font-size: .56rem; }
  .evp-h { flex-basis: 38px; width: 38px; height: 44px; }
  .evc-ev span { font-size: .28rem; }
  .evc-task { font-size: .34rem; }
}



/* V1.61.20：首页右栏加宽给精彩活动；广播让位 */
#wl-v-main .wll-main-right { flex: 0 0 32% !important; max-width: 32% !important; }
#wl-v-main .wll-main-right { overflow-y: auto !important; scrollbar-width: none; }
#wl-v-main .wll-main-right::-webkit-scrollbar { display: none; }
#wl-v-main .wll-news-sec { display: none !important; }
.wll-event-center { padding: 6px 6px 5px; }
.evc-task { padding: 1px 0; font-size: .36rem; }
.evc-daily { gap: 0; }

/* 招募活动弹窗 */
.evr-cur { margin: 6px 0 4px; padding: 5px 7px; border-radius: 6px; border: 1px solid #4a5c38; background: rgba(0,0,0,.24); text-align: center; }
.evr-cur b { display: block; font-size: .62rem; color: #ffd76a; }
.evr-cur span { display: block; margin-top: 2px; font-size: .44rem; color: #cfe0b8; }
.evr-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; max-height: 150px; overflow-y: auto; margin-top: 4px; }
.evr-opt { display: flex; flex-direction: column; gap: 1px; padding: 4px 6px; border-radius: 6px; border: 1px solid #4a5c38; background: rgba(0,0,0,.25); color: #cfe0b8; text-align: left; cursor: pointer; }
.evr-opt b { font-size: .54rem; color: #f2f7ea; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.evr-opt span { font-size: .38rem; color: #9fb088; }
.evr-opt.on { border-color: #ffd76a; box-shadow: 0 0 10px rgba(255,190,70,.35); background: rgba(255,200,80,.10); }

/* 等级徽章 / 圣物锁 / 公会占位 */
.wll-lv { width: 100%; text-align: center; font-size: .44rem; font-weight: 900; color: #ffd76a; background: linear-gradient(180deg, #35280f, #1b1406); border: 1px solid #71531e; border-radius: 999px; padding: 1px 3px; line-height: 1.2; letter-spacing: .04em; }
.hs3-lock { display: flex; align-items: center; justify-content: center; min-height: 64px; height: 100%; border: 1px dashed #6a5522; border-radius: 8px; background: rgba(0,0,0,.2); color: #ffd76a; font-size: .58rem; text-align: center; }
#wl-v-guild.active { display: flex !important; align-items: center; justify-content: center; padding: 8px; }

/* 每日任务里程碑 / 传说碎片 */
.evc-sub { font-size: .36rem; line-height: 1.35; color: #9fb088; margin-top: 1px; }
.evc-miles { display: flex; flex-direction: column; gap: 3px; margin-top: 4px; }
.evc-mile { display: flex; align-items: center; gap: 4px; width: 100%; padding: 2px 4px; border: 1px solid #4a5c38; border-radius: 5px; background: rgba(0,0,0,.22); font-size: .38rem; color: #cfe0b8; text-align: left; cursor: pointer; }
.evc-mile.can { border-color: #ffd76a; box-shadow: 0 0 8px rgba(255,190,70,.3); }
.evc-mile.done { opacity: .55; }
.evc-mile-n { width: 14px; height: 14px; flex: 0 0 14px; border-radius: 50%; background: #2a2410; border: 1px solid #6a5522; display: flex; align-items: center; justify-content: center; font-size: .32rem; color: #ffd76a; }
.evc-mile-ic { font-size: .72rem; line-height: 1; }
.evc-mile-tx { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.evc-mile-st { color: #ffd76a; font-size: .34rem; white-space: nowrap; }
.evc-t-rw { display: flex; gap: 1px; flex: 0 0 auto; font-size: .42rem; line-height: 1; }
.evc-t-rw i { font-style: normal; }
.evc-shard { display: flex; align-items: center; justify-content: space-between; margin-top: 4px; padding: 3px 5px; border: 1px solid #6a3f8a; border-radius: 5px; background: rgba(80,40,120,.18); font-size: .38rem; color: #d8c8ff; }
.evc-shard b { color: #d0a6ff; }
.evc-shard-btn { font-size: .34rem; padding: 1px 6px; border-radius: 999px; border: 1px solid #b47cff; background: rgba(180,124,255,.12); color: #e0ccff; }
.evc-shard-btn:disabled { opacity: .4; }

/* 完美招募右上角：保底英雄选择 + 固定轮值倒计时 */
.wl-bldg2 .rb-plus { position: absolute; top: 4px; right: 4px; width: 22px; height: 22px; padding: 0; border-radius: 5px; border: 1px solid #fff0c0; background: linear-gradient(180deg, #ffe89b, #e8a33d 60%, #b96a12); color: #3a1f00; font-size: .9rem; font-weight: 900; line-height: 20px; text-align: center; z-index: 3; cursor: pointer; box-shadow: 0 0 10px rgba(255,190,70,.55), inset 0 1px 0 rgba(255,255,255,.7); }
.wl-bldg2 .rb-plus:active { transform: scale(.94); }
.wl-bldg2 .rb-plus-cd { position: absolute; top: 28px; right: 4px; width: 76px; padding: 1px 3px; border-radius: 3px; background: rgba(0,0,0,.58); border: 1px solid rgba(255,215,106,.28); text-align: right; font-size: .32rem; line-height: 1.25; color: #ffd76a; text-shadow: 0 1px 2px #000; pointer-events: none; z-index: 2; }
.hs3-codex { flex: 0 0 auto; margin-left: auto; font-size: .44rem !important; padding: 2px 7px !important; }

/* ===================== V1.61.21 喷泉转盘（4x4 幸运抽奖） ===================== */
#wl-v-slot.active {
  display: flex !important;
  flex-direction: column !important;
  padding: 4px 7px 6px !important;
  overflow: hidden;
  background:
    radial-gradient(60% 50% at 50% 0%, rgba(120, 60, 200, .18), transparent 65%),
    radial-gradient(50% 40% at 0% 100%, rgba(60, 160, 220, .12), transparent 65%),
    linear-gradient(180deg, #0b0810, #070b0a);
}
.lucky-wrap { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; gap: 4px; }
.lucky-head { flex: 0 0 30px; display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.lucky-title b { font-size: .86rem; color: #ffd76a; letter-spacing: .14em; text-shadow: 0 0 14px rgba(255,190,70,.55), 0 2px 0 #3a1f00; }
.lucky-title span { margin-left: 7px; font-size: .42rem; color: #8fe8ff; letter-spacing: .06em; }
.lucky-cur { display: flex; align-items: center; gap: 3px; font-size: .46rem; color: #cfe0b8; }
.lucky-cur b { color: #ffd76a; }
.lucky-plus { width: 14px; height: 14px; padding: 0; border-radius: 50%; border: 1px solid #ffd76a; background: rgba(255,200,80,.12); color: #ffd76a; font-size: .42rem; line-height: 12px; text-align: center; cursor: pointer; }
.lucky-main { flex: 1 1 auto; min-height: 0; display: flex; gap: 8px; padding: 0 10px; }
.lucky-grid {
  flex: 1 1 auto; min-width: 0; position: relative;
  display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(4, 1fr); gap: 4px;
  padding: 6px; border: 2px solid #6a4aa0; border-radius: 12px;
  background:
    radial-gradient(70% 70% at 50% 50%, rgba(120,60,200,.18), transparent 70%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.018) 0 1px, transparent 1px 22px),
    linear-gradient(180deg, #151024, #070b0a);
  box-shadow: inset 0 0 30px rgba(0,0,0,.65), 0 0 18px rgba(120,60,200,.22);
}
.lucky-cell {
  position: relative; min-width: 0; min-height: 0; overflow: hidden;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px;
  padding: 2px; box-sizing: border-box; border: 1px solid #3b4a3f; border-radius: 6px;
  background: linear-gradient(160deg, #172420, #0a100d);
}
.lucky-cell b { font-size: 1.05rem; line-height: 1; filter: drop-shadow(0 2px 2px rgba(0,0,0,.6)); }
.lucky-cell span { max-width: 100%; font-size: .3rem; line-height: 1.2; color: #cfe0b8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lucky-cell i { font-style: normal; font-size: .32rem; color: #ffd76a; }
.lucky-cell.rq2 { border-color: #5a8a5a; }
.lucky-cell.rq3 { border-color: #3f6f9a; }
.lucky-cell.rq4 { border-color: #7a4aa0; box-shadow: inset 0 0 12px rgba(140,80,220,.18); }
.lucky-cell.rq5 { border-color: #c99a2e; box-shadow: inset 0 0 14px rgba(255,200,80,.18); }
.lucky-cell.rq6 { border-color: #d04a4a; box-shadow: inset 0 0 16px rgba(255,80,80,.22); }
.lucky-center {
  grid-column: 2 / 4; grid-row: 2 / 4; z-index: 2;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
  border-radius: 10px; border: 1px solid rgba(255,215,106,.55);
  background:
    radial-gradient(circle at 50% 40%, rgba(255,255,255,.28), transparent 45%),
    conic-gradient(from 210deg, #7a4fb0, #4f8fd0, #57c7a0, #ffd76a, #d05a9a, #7a4fb0);
  box-shadow: 0 0 18px rgba(255,190,70,.35), inset 0 0 20px rgba(0,0,0,.35);
  color: #1a1203; text-align: center;
}
.lucky-center span { font-size: .46rem; font-weight: 900; color: #2a1a03; text-shadow: 0 1px 0 rgba(255,255,255,.4); }
.lucky-center b { font-size: .56rem; color: #3a1f00; }
.lucky-center i { font-style: normal; font-size: .34rem; color: #2a1a03; }
.lucky-refresh-btn { margin-top: 1px; padding: 1px 7px; border-radius: 999px; border: 1px solid #fff0c0; background: rgba(0,0,0,.28); color: #2a1a03; font-size: .36rem; font-weight: 900; cursor: pointer; }
.lucky-lever { position: absolute; top: 50%; transform: translateY(-50%); z-index: 4; width: 24px; height: 24px; padding: 0; border-radius: 50%; border: 2px solid #d8c8ff; color: #fff; font-size: .5rem; font-weight: 900; cursor: pointer; box-shadow: 0 0 12px rgba(255,255,255,.25); }
.lucky-lever.left { left: -13px; background: linear-gradient(180deg, #a06ae0, #5a2a90); }
.lucky-lever.right { right: -13px; background: linear-gradient(180deg, #6ab6ff, #2a5a9a); }
.lucky-side { flex: 0 0 180px; display: flex; flex-direction: column; gap: 5px; }
.lucky-btn { display: flex; align-items: center; justify-content: space-between; gap: 4px; padding: 5px 8px; border-radius: 7px; border: 1px solid #4a5c38; background: rgba(10,16,12,.92); color: #e8f0dc; font-size: .46rem; font-weight: 800; cursor: pointer; text-align: left; }
.lucky-btn b { font-size: .58rem; }
.lucky-btn span { font-size: .42rem; color: #ffd76a; }
.lucky-btn.pink { border-color: #ff5ad0; background: linear-gradient(180deg, rgba(120,20,90,.9), rgba(40,10,35,.95)); box-shadow: 0 0 12px rgba(255,90,208,.25); }
.lucky-btn.cyan { border-color: #58d6ff; background: linear-gradient(180deg, rgba(20,80,100,.9), rgba(8,25,32,.95)); box-shadow: 0 0 12px rgba(88,214,255,.22); }
.lucky-btn.red { border-color: #ffd76a; background: linear-gradient(180deg, #ff6a6a, #b01f1f); color: #fff; justify-content: center; font-size: .62rem; letter-spacing: .06em; box-shadow: 0 0 14px rgba(255,90,90,.35); }
.lucky-btn.dark { justify-content: center; color: #cfe0b8; font-size: .4rem; }
.lucky-bottom { flex: 0 0 30px; display: flex; align-items: center; gap: 6px; }
.lucky-meter { flex: 1 1 auto; display: flex; align-items: center; gap: 4px; font-size: .4rem; color: #8fe8ff; }
.lucky-meter i { flex: 1 1 auto; height: 5px; border-radius: 3px; background: #070b05; overflow: hidden; }
.lucky-meter u { display: block; height: 100%; background: linear-gradient(90deg, #58d6ff, #ffd76a); }
.lucky-meter b { color: #ffd76a; }
.lucky-result { flex: 0 0 14px; font-size: .36rem; color: #cfe0b8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lucky-pt-row { display: flex; align-items: center; gap: 8px; padding: 2px 0; border-bottom: 1px dashed rgba(255,255,255,.06); font-size: .5rem; color: #e8f0dc; }
.lucky-pt-row span { flex: 1; }
.lucky-pt-row b { color: #ffd76a; }
.lucky-pt-row i { font-style: normal; color: #8fe8ff; font-size: .4rem; }
.lucky-pt-t { margin: 6px 0 2px; color: #ffd76a; font-weight: 900; font-size: .56rem; }
.lucky-note { margin-top: 8px; font-size: .42rem; color: #9fb088; line-height: 1.5; }
@media (max-width: 720px) {
  .lucky-side { flex-basis: 140px; }
  .lucky-cell b { font-size: .8rem; }
  .lucky-cell span { font-size: .26rem; }
  .lucky-title b { font-size: .7rem; }
  .lucky-title span { font-size: .34rem; }
}
@media (max-width: 560px) {
  .lucky-side { flex-basis: 120px; }
  .lucky-main { padding: 0 6px; }
  .lucky-grid { gap: 3px; padding: 4px; }
  .lucky-btn { padding: 4px 5px; }
  .lucky-btn b { font-size: .5rem; }
  .lucky-btn span { font-size: .36rem; }
  .lucky-center span { font-size: .38rem; }
  .lucky-center b { font-size: .46rem; }
}

/* 完美招募右上角：保底英雄选择 + 轮值倒计时 */
.wll-rec-card .wll-rec-plus { position: absolute; top: 4px; right: 4px; width: 22px; height: 22px; padding: 0; border-radius: 5px; border: 1px solid #fff0c0; background: linear-gradient(180deg, #ffe89b, #e8a33d 60%, #b96a12); color: #3a1f00; font-size: .88rem; font-weight: 900; line-height: 20px; text-align: center; z-index: 5; cursor: pointer; box-shadow: 0 0 10px rgba(255,190,70,.6), inset 0 1px 0 rgba(255,255,255,.7); }
.wll-rec-card .wll-rec-plus:active { transform: scale(.94); }
.wll-rec-card .wll-rec-plus-cd { position: absolute; top: 28px; right: 4px; width: 78px; padding: 1px 3px; border-radius: 3px; background: rgba(0,0,0,.6); border: 1px solid rgba(255,215,106,.3); text-align: right; font-size: .32rem; line-height: 1.25; color: #ffd76a; text-shadow: 0 1px 2px #000; pointer-events: none; z-index: 4; }

/* 悬赏：更接近参考图的青色霓虹 + 雷达 */
.evp-view { background: radial-gradient(80% 60% at 50% 0%, rgba(30,120,150,.14), transparent 65%), linear-gradient(180deg,#061014,#050a09) !important; }
.evp-title b { color:#7fe6ff !important; text-shadow:0 0 12px rgba(80,220,255,.55) !important; }
.evp-card { background:linear-gradient(160deg,#0b1a20,#061014) !important; border-color:#2f5f6a !important; }
.evp-card.r1 { border-color:#3f8a5a !important; }
.evp-card.r2 { border-color:#3f8aa0 !important; }
.evp-card.r3 { border-color:#6b3f9a !important; }
.evp-card .evp-rar { display:inline-block; align-self:flex-start; padding:1px 5px; border-radius:2px; background:linear-gradient(90deg, rgba(120,60,200,.50), rgba(120,60,200,0)); color:#e8d8ff; }
.evp-card.st-run { background:linear-gradient(160deg,#0a2028,#061014) !important; }
.evp-radar { position:absolute; right:7px; top:24px; width:44px; height:44px; border-radius:50%; border:1px solid rgba(90,220,255,.42); background:repeating-radial-gradient(circle, rgba(90,220,255,.16) 0 2px, transparent 2px 8px); opacity:.8; pointer-events:none; }
.evp-radar::after { content:''; position:absolute; left:50%; top:50%; width:20px; height:1px; background:linear-gradient(90deg,#58d6ff,transparent); transform-origin:0 0; animation:evpSweep 2s linear infinite; }
@keyframes evpSweep { to { transform:rotate(360deg); } }
.evp-merit-btn { padding:1px 6px; border-radius:999px; border:1px solid #ffd76a; background:rgba(255,200,80,.12); color:#ffd76a; font-size:.36rem; cursor:pointer; }
.evp-weeknote { flex:0 0 auto; padding:2px 5px; border:1px dashed rgba(255,150,90,.55); border-radius:4px; background:rgba(120,50,20,.16); color:#ffb07a; font-size:.38rem; text-align:center; }
.evp-mhead { text-align:center; font-size:.5rem; color:#cfe0b8; margin-bottom:6px; }
.evp-mhead b { color:#ffd76a; }
.evp-mlist { display:flex; flex-direction:column; gap:3px; }
.evp-mrow { display:flex; align-items:center; gap:5px; padding:3px 5px; border:1px solid #4a5c38; border-radius:5px; background:rgba(0,0,0,.2); font-size:.42rem; }
.evp-mrow.can { border-color:#ffd76a; box-shadow:0 0 8px rgba(255,190,70,.25); }
.evp-mn { width:20px; text-align:center; color:#ffd76a; font-weight:900; }
.evp-mrw { flex:1 1 auto; display:flex; flex-wrap:wrap; gap:2px; }
.evp-mrw .rw-chip { font-size:.36rem; }
.evp-mst { color:#8fe8ff; font-size:.36rem; }

/* 防疫：参考图的 5 列卷宗卡片 */
.evp-view.evp-epi { background: radial-gradient(70% 55% at 50% 0%, rgba(180,30,60,.16), transparent 65%), linear-gradient(180deg,#12080b,#070506) !important; }
.evp-epi .evp-title b { color:#ff9fb2 !important; text-shadow:0 0 12px rgba(255,80,120,.45) !important; }
.evp-epi .evp-card { display:none; }
.epi-banner { flex:0 0 26px; display:flex; align-items:center; gap:8px; padding:0 10px; background:linear-gradient(90deg,#c8283c,#7a1420); border:1px solid #ff6a7a; clip-path:polygon(0 0,100% 0,96% 100%,0 100%); color:#fff; font-size:.46rem; }
.epi-banner b { font-size:.74rem; letter-spacing:.12em; }
.epi-banner span { color:#ffd0d8; font-size:.4rem; }
.epi-board { grid-template-columns:repeat(5,minmax(0,1fr)) !important; grid-auto-rows:minmax(150px,auto) !important; gap:6px !important; }
.epi-card { position:relative; display:flex; flex-direction:column; align-items:stretch; gap:2px; padding:0 0 4px; border:1px solid #3b4a3f; border-radius:4px; background:linear-gradient(180deg,#141a1a,#080b0b); overflow:hidden; text-align:left; cursor:pointer; min-width:0; }
.epi-card.sel { outline:2px solid #ffd76a; box-shadow:0 0 14px rgba(255,190,70,.35); }
.epi-fac { display:block; padding:2px 4px; font-size:.3rem; font-weight:900; color:#fff; background:linear-gradient(90deg,#2a4a7a,#14243a); clip-path:polygon(0 0,100% 0,94% 100%,0 100%); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.epi-fac.pink { background:linear-gradient(90deg,#a02a6a,#4a102a); }
.epi-case { font-size:.26rem; color:#8fb0c0; padding:1px 4px; letter-spacing:.04em; }
.epi-art { position:relative; flex:1 1 auto; min-height:52px; display:flex; align-items:center; justify-content:center; overflow:hidden; background:radial-gradient(circle at 50% 40%, rgba(80,140,160,.18), rgba(0,0,0,.55)); }
.epi-av { max-width:80%; max-height:80%; filter:grayscale(1) contrast(1.1); opacity:.8; font-size:1.9rem; }
.epi-av img { max-width:100%; max-height:100%; object-fit:contain; }
.epi-tri { position:absolute; left:50%; top:50%; width:42px; height:38px; transform:translate(-50%,-50%); background:linear-gradient(180deg,#5fe8e0,#1a8a9a); clip-path:polygon(50% 0,100% 100%,0 100%); opacity:.85; box-shadow:0 0 18px rgba(80,220,220,.6); }
.epi-sil { position:absolute; bottom:2px; left:2px; right:2px; font-size:.26rem; color:#cfe0e8; opacity:.7; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.epi-name { padding:2px 4px; font-size:.42rem; color:#f2f7ea; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.epi-rw { display:flex; flex-wrap:wrap; gap:1px; padding:0 3px; }
.epi-rw .rw-chip { font-size:.3rem; padding:0 3px; }
.epi-status { padding:1px 4px; font-size:.34rem; color:#ffd76a; }
.epi-card.st-done .epi-status { color:#9fe07a; }
@media (max-width: 760px) { .epi-board { grid-template-columns:repeat(3,minmax(0,1fr)) !important; } }

/* 每日任务列表内部滚动，避免把营地信息挤下去 */
.evc-daily { max-height: 104px; overflow-y: auto; overflow-x: hidden; padding-right: 2px; scrollbar-width: thin; }
.evc-daily::-webkit-scrollbar { width: 3px; }
.evc-daily::-webkit-scrollbar-thumb { background: rgba(255, 215, 106, .35); border-radius: 2px; }

.epi-board { align-content: stretch !important; }
.epi-board .epi-card { height: 100%; }
.epi-card.locked { align-items: center; justify-content: center; gap: 4px; border-style: dashed; opacity: .6; text-align: center; }
.epi-card.locked b { font-size: .46rem; color: #ffd76a; }
.epi-card.locked span { font-size: .34rem; color: #9fb088; }
.epi-lock { font-size: 1.4rem !important; filter: drop-shadow(0 2px 4px #000); }


/* =====================================================================
 * V1.61.28 · 悬赏 / 每日任务 / 转盘 UI 重构
 * ===================================================================== */

/* ---------- 悬赏：8 格任务板 ---------- */
#wl-v-bounty.evp-view,
#wl-v-epidemic.evp-view { padding: 6px 8px 8px !important; gap: 6px !important; }
.evb-top { flex: 0 0 32px; display: flex; align-items: center; gap: 6px; min-width: 0; }
.evb-title { display: flex; flex-direction: column; line-height: 1.05; flex: 0 0 auto; }
.evb-title b { font-size: .74rem; font-weight: 900; letter-spacing: .08em; color: #ffd76a; text-shadow: 0 0 12px rgba(255, 190, 70, .45); }
.evb-title span { font-size: .32rem; color: #8fb6a0; letter-spacing: .03em; }
.evb-res { display: flex; gap: 3px; align-items: center; min-width: 0; overflow: hidden; }
.evb-chip { display: inline-flex; align-items: center; gap: 2px; padding: 1px 5px; border-radius: 999px; border: 1px solid rgba(140, 190, 160, .28); background: rgba(0, 0, 0, .28); font-size: .34rem; color: #cfe0c8; white-space: nowrap; }
.evb-chip b { color: #ffd76a; font-size: .36rem; }
.evb-tools { margin-left: auto; display: flex; gap: 3px; flex: 0 0 auto; }
.evb-tools button { display: inline-flex; align-items: center; gap: 2px; height: 22px; padding: 0 6px; border-radius: 5px; border: 1px solid #5a4a22; background: linear-gradient(180deg, rgba(60, 50, 20, .9), rgba(16, 14, 8, .95)); color: #e8dcc0; font-size: .34rem; font-weight: 700; cursor: pointer; white-space: nowrap; }
.evb-tools button b { font-size: .28rem; color: #ffd76a; font-weight: 700; }
.evb-tools button:hover { border-color: #ffd76a; color: #fff; }
.evb-weeknote { flex: 0 0 auto; padding: 1px 6px; border: 1px dashed rgba(255, 150, 90, .45); border-radius: 4px; background: rgba(120, 50, 20, .14); color: #ffb07a; font-size: .32rem; text-align: center; }
.evb-board { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 6px; }
.evb-board .epi-card { height: 100%; }
.evb-board.epi-board { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; grid-template-rows: repeat(2, minmax(0, 1fr)) !important; grid-auto-rows: auto !important; gap: 6px !important; }

.evp-card { --rc: #cfd6c9; position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 1px; padding: 17px 7px 6px; border-radius: 8px; border: 1px solid var(--rc) !important; background: linear-gradient(165deg, rgba(255, 255, 255, .055), rgba(0, 0, 0, .62)), #0b120c !important; box-shadow: inset 0 0 20px rgba(0, 0, 0, .55), 0 2px 6px rgba(0, 0, 0, .45); overflow: hidden; text-align: left; cursor: pointer; min-width: 0; transition: transform .12s ease, box-shadow .12s ease; }
.evp-card:hover { transform: translateY(-1px); box-shadow: inset 0 0 20px rgba(0, 0, 0, .5), 0 0 14px rgba(255, 215, 106, .2); }
.evp-card.r0 { --rc: #c9d2c4; }
.evp-card.r1 { --rc: #63c95d; }
.evp-card.r2 { --rc: #4aa8f0; }
.evp-card.r3 { --rc: #b06cff; box-shadow: inset 0 0 22px rgba(150, 80, 230, .14), 0 0 12px rgba(150, 80, 230, .18) !important; }
.evp-card.sel { outline: 2px solid #ffd76a; outline-offset: -2px; box-shadow: 0 0 16px rgba(255, 190, 70, .45) !important; }
.evp-card.st-run { background: linear-gradient(165deg, rgba(40, 130, 160, .16), rgba(0, 0, 0, .66)), #081214 !important; }
.evp-card.st-done { border-color: #9fe07a !important; }
.evp-card.st-claimed { opacity: .55; }
.evp-ribbon { position: absolute; left: 0; top: 0; right: 0; height: 15px; display: flex; align-items: center; gap: 4px; padding: 0 7px; font-size: .32rem; font-weight: 900; letter-spacing: .08em; color: #0d130a; background: linear-gradient(90deg, var(--rc), rgba(255, 255, 255, 0)); }
.evp-card.r2 .evp-ribbon, .evp-card.r3 .evp-ribbon { color: #fff; text-shadow: 0 1px 1px rgba(0, 0, 0, .45); }
.evp-ribbon i { width: 4px; height: 4px; border-radius: 50%; background: currentColor; opacity: .55; }
.evp-em { position: absolute; right: 7px; top: 20px; font-size: 1.75rem; line-height: 1; opacity: .16; filter: drop-shadow(0 2px 3px #000); pointer-events: none; }
.evp-name { position: relative; z-index: 1; font-size: .62rem; line-height: 1.12; font-weight: 900; color: #f4f8ee; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.evp-meta { display: flex; gap: 5px; margin-top: 1px; font-size: .34rem; color: #b9c8ac; white-space: nowrap; }
.evp-meta i { font-style: normal; }
.evp-fac { font-size: .32rem; color: #8fa88a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.evp-rw { display: flex; flex-wrap: wrap; gap: 2px; margin-top: auto; padding-top: 2px; }
.evb-rwt { display: inline-flex; align-items: center; gap: 2px; padding: 1px 4px; border-radius: 4px; border: 1px solid rgba(255, 255, 255, .1); background: rgba(0, 0, 0, .34); font-size: .32rem; color: #d8e4cc; }
.evb-rwt b { font-size: .42rem; line-height: 1; }
.evb-rwt i { font-style: normal; color: #ffd76a; font-size: .32rem; }
.evb-rwt span { color: #9fb088; font-size: .28rem; }
.evb-rwt.mini { padding: 0 3px; }
.evb-rwt.mini b { font-size: .4rem; }
.evp-state { margin-top: 2px; font-size: .32rem; font-weight: 800; color: #8fe8ff; white-space: nowrap; }
.evp-card.st-done .evp-state { color: #9fe07a; }
.evp-card.st-claimed .evp-state { color: #7f8f70; }
.evp-card.st-run .evp-state { color: #ffd76a; }
.evp-runbar { position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: linear-gradient(90deg, #58d6ff, transparent); animation: evpRun 1.2s linear infinite; }

/* ---------- 悬赏详情弹窗 ---------- */
.wl-mod-box.evb-box { width: min(94vw, 920px); max-width: min(94vw, 920px); max-height: 90vh; padding: 4px 8px 8px; border-radius: 12px; background: linear-gradient(160deg, #101a1e, #060b0c 60%, #0b1110); border: 1px solid #3f6a72; box-shadow: 0 0 0 1px #0a1416, 0 18px 50px rgba(0, 0, 0, .7), 0 0 30px rgba(60, 180, 210, .12); }
.wl-mod-box.evb-box .wl-mod-title { font-size: .5rem; padding-bottom: 1px; color: #8fe8ff; letter-spacing: .08em; }
.evbd-wrap { display: flex; gap: 9px; min-height: 0; }
.evbd-left { flex: 0 0 35%; min-width: 0; display: flex; flex-direction: column; gap: 3px; padding-right: 9px; border-right: 1px solid rgba(120, 200, 220, .18); }
.evbd-pub { font-size: .34rem; letter-spacing: .12em; color: #7fe6ff; }
.evbd-name { display: flex; align-items: center; gap: 5px; }
.evbd-name b { font-size: .88rem; line-height: 1.1; color: #f2f7ea; letter-spacing: .04em; }
.evbd-rar { font-size: .3rem; padding: 1px 5px; border-radius: 3px; border: 1px solid currentColor; }
.evbd-rar.r0 { color: #c9d2c4; }
.evbd-rar.r1 { color: #63c95d; }
.evbd-rar.r2 { color: #4aa8f0; }
.evbd-rar.r3 { color: #b06cff; }
.evbd-time { font-size: .4rem; color: #a8c0b0; }
.evbd-time b { color: #ffd76a; font-size: .42rem; letter-spacing: .04em; }
.evbd-sec { display: flex; align-items: center; justify-content: space-between; margin-top: 3px; padding: 1px 5px; font-size: .36rem; font-weight: 900; letter-spacing: .08em; color: #8fe8ff; background: linear-gradient(90deg, rgba(70, 160, 190, .2), rgba(0, 0, 0, 0)); border-left: 2px solid #58c8e8; }
.evbd-extra { font-size: .28rem; color: #ffd76a; border: 1px solid #c99a2e; border-radius: 999px; padding: 0 5px; letter-spacing: 0; }
.evbd-reqs { display: flex; flex-direction: column; gap: 2px; }
.evbd-req { display: flex; align-items: center; gap: 4px; padding: 2px 5px; border-radius: 4px; background: rgba(0, 0, 0, .24); border: 1px solid rgba(255, 255, 255, .055); font-size: .36rem; color: #b9c8ac; }
.evbd-req-i { width: 14px; text-align: center; font-size: .44rem; }
.evbd-req-n { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.evbd-req b { color: #d8e4cc; font-size: .36rem; }
.evbd-req.ok { border-color: rgba(120, 220, 130, .3); color: #a8e898; }
.evbd-req.ok b { color: #9fe07a; }
.evbd-req.no b { color: #ffb07a; }
.evbd-right { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.evbd-rws { display: flex; flex-wrap: wrap; gap: 4px; }
.evbd-rws .evb-rwt { flex-direction: column; align-items: center; justify-content: center; width: 48px; height: 46px; padding: 2px; gap: 0; border-radius: 6px; background: linear-gradient(180deg, rgba(40, 70, 60, .5), rgba(0, 0, 0, .45)); border: 1px solid rgba(255, 215, 106, .24); }
.evbd-rws .evb-rwt b { font-size: 1.15rem; }
.evbd-rws .evb-rwt span { font-size: .26rem; color: #9fb088; white-space: nowrap; }
.evbd-rws .evb-rwt i { font-size: .34rem; }
.evbd-pickn { font-size: .28rem; color: #9fb088; letter-spacing: 0; font-weight: 400; }
.evbd-slots { display: flex; gap: 4px; }
.evbd-slot { position: relative; width: 44px; height: 50px; border-radius: 5px; border: 1px solid #3f5a52; background: linear-gradient(180deg, rgba(30, 50, 44, .8), rgba(4, 10, 8, .9)); display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; }
.evbd-slot.on { border-color: #ffd76a; box-shadow: 0 0 8px rgba(255, 190, 70, .3); }
.evbd-slot.empty { border-style: dashed; color: #6f8f80; }
.evbd-slot.empty b { font-size: .9rem; line-height: 1; color: #8fb0a0; }
.evbd-slot.empty i { font-style: normal; font-size: .26rem; }
.evbd-slot-av, .evbd-slot-av img { width: 100%; height: 34px; object-fit: contain; }
.evbd-slot > i { font-style: normal; font-size: .26rem; color: #cfe0c8; line-height: 1.1; }
.evbd-heroes { flex: 1 1 auto; min-height: 58px; display: flex; gap: 3px; overflow-x: auto; overflow-y: hidden; padding: 1px 0 3px; }
.evbd-heroes::-webkit-scrollbar { height: 3px; }
.evbd-heroes::-webkit-scrollbar-thumb { background: rgba(255, 215, 106, .35); border-radius: 2px; }
.evbd-hero { position: relative; flex: 0 0 44px; width: 44px; padding: 1px; border-radius: 5px; border: 1px solid #3f5a52; background: rgba(0, 0, 0, .4); display: flex; flex-direction: column; align-items: center; gap: 0; cursor: pointer; overflow: hidden; }
.evbd-hero.on { border-color: #ffd76a; background: rgba(120, 90, 20, .3); box-shadow: 0 0 8px rgba(255, 190, 70, .35); }
.evbd-hero.busy { opacity: .4; }
.evbd-hero-av { width: 100%; height: 28px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.evbd-hero-av img, .evbd-hero-av .hs3-em { max-width: 100%; max-height: 100%; object-fit: contain; font-size: 1.2rem; }
.evbd-hero i { font-style: normal; font-size: .24rem; color: #9fb088; line-height: 1.1; }
.evbd-hero b { max-width: 100%; font-size: .26rem; font-weight: 400; color: #d8e4cc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.evbd-hero-chk { position: absolute; right: 1px; top: 1px; color: #ffd76a; font-size: .5rem; font-weight: 900; }
.evbd-hero-bz { position: absolute; left: 0; right: 0; bottom: 0; font-size: .22rem; text-align: center; color: #ffb0a0; background: rgba(0, 0, 0, .7); }
.evbd-btns { display: flex; justify-content: flex-end; gap: 5px; margin-top: auto; padding-top: 2px; }
.evbd-btns .wl-btn { font-size: .46rem; padding: 3px 12px; border-radius: 5px; }
.evbd-done { font-size: .4rem; color: #7fbf3f; align-self: center; }
.evbd-empty { font-size: .4rem; color: #7f8f70; padding: 8px; }

/* ---------- 首页每日任务入口 ---------- */
.wll-daily-entry { position: relative; display: flex; align-items: center; gap: 6px; width: 100%; margin-top: 4px; padding: 5px 8px; border-radius: 6px; border: 1px solid #6a5222; background: linear-gradient(90deg, rgba(255, 215, 106, .16), rgba(40, 30, 10, .35) 55%, rgba(0, 0, 0, .28)); color: #f5e6c8; cursor: pointer; text-align: left; }
.wll-daily-entry.can { border-color: #ffd76a; box-shadow: 0 0 12px rgba(255, 190, 70, .3); }
.wde-em { font-size: 1rem; line-height: 1; filter: drop-shadow(0 1px 2px #000); }
.wde-tx { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; line-height: 1.15; }
.wde-tx b { font-size: .52rem; color: #ffe08a; letter-spacing: .04em; }
.wde-tx i { font-style: normal; font-size: .32rem; color: #9fb088; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wde-go { font-size: .34rem; color: #ffd76a; border: 1px solid rgba(255, 215, 106, .45); border-radius: 999px; padding: 1px 7px; }
.wde-dot { position: absolute; right: -2px; top: -2px; width: 8px; height: 8px; border-radius: 50%; background: #ff3b3b; box-shadow: 0 0 8px #ff3b3b; }

/* ---------- 每日任务弹窗 ---------- */
.wl-mod-box.evd-box { width: min(92vw, 760px); max-width: min(92vw, 760px); max-height: 92vh; padding: 4px 10px 8px; border-radius: 12px; background: linear-gradient(165deg, #0c1620, #050a0c 60%, #08100e); border: 1px solid #2f5a66; box-shadow: 0 18px 50px rgba(0, 0, 0, .7); }
.wl-mod-box.evd-box .wl-mod-title { font-size: .5rem; padding-bottom: 1px; color: #8fe8ff; letter-spacing: .06em; }
.evd { display: flex; flex-direction: column; gap: 4px; min-height: 0; }
.evd-head { display: flex; align-items: center; gap: 6px; }
.evd-em { font-size: 1.1rem; line-height: 1; }
.evd-head b { font-size: .84rem; color: #ffe08a; letter-spacing: .06em; text-shadow: 0 0 12px rgba(255, 190, 70, .4); }
.evd-cd { margin-left: auto; font-size: .36rem; color: #8fe8ff; }
.evd-prog { font-size: .36rem; color: #ffd76a; border: 1px solid #6a5222; border-radius: 999px; padding: 0 7px; }
.evd-track { height: 7px; border-radius: 4px; background: #08120c; border: 1px solid rgba(255, 255, 255, .06); overflow: hidden; }
.evd-track i { display: block; height: 100%; background: linear-gradient(90deg, #8fd14f, #ffd76a); box-shadow: 0 0 10px rgba(255, 215, 106, .45); }
.evd-nodes { display: flex; justify-content: space-between; padding: 0 6px; margin-top: -10px; }
.evd-node { width: 16px; height: 16px; border-radius: 50%; border: 1px solid #4a5c38; background: #0b120b; display: flex; align-items: center; justify-content: center; font-size: .26rem; color: #9fb088; }
.evd-node b { font-weight: 900; }
.evd-node.reach { border-color: #c9a23a; color: #ffd76a; }
.evd-node.can { background: #ffd76a; color: #2a1a03; border-color: #fff0c0; box-shadow: 0 0 8px rgba(255, 190, 70, .55); }
.evd-node.claimed { background: #3f6a2a; border-color: #7fbf3f; color: #d8ffc0; }
.evd-miles { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; margin-top: 4px; }
.evd-mile { display: flex; flex-direction: column; align-items: center; gap: 0; padding: 2px; border-radius: 5px; border: 1px solid #34483c; background: rgba(0, 0, 0, .24); color: #cfe0c8; cursor: pointer; min-width: 0; }
.evd-mile.can { border-color: #ffd76a; box-shadow: 0 0 9px rgba(255, 190, 70, .3); }
.evd-mile.done { opacity: .55; }
.evd-mile-n { font-size: .26rem; color: #8fe8ff; line-height: 1; }
.evd-mile-ic { font-size: .78rem; line-height: 1.1; }
.evd-mile-tx { max-width: 100%; font-size: .24rem; color: #9fb088; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.evd-mile-st { font-size: .24rem; color: #ffd76a; }
.evd-mile.done .evd-mile-st { color: #9fe07a; }
.evd-list-h { display: flex; justify-content: space-between; margin-top: 2px; font-size: .34rem; color: #ffd76a; }
.evd-list-h span:last-child { color: #9fb088; }
.evd-list { flex: 1 1 auto; min-height: 0; max-height: 158px; overflow-y: auto; display: flex; flex-direction: column; gap: 2px; padding-right: 2px; }
.evd-list::-webkit-scrollbar { width: 3px; }
.evd-list::-webkit-scrollbar-thumb { background: rgba(255, 215, 106, .35); border-radius: 2px; }
.evd-task { display: flex; align-items: center; gap: 5px; padding: 2px 5px; border-radius: 5px; border: 1px solid rgba(255, 255, 255, .05); background: rgba(255, 255, 255, .025); font-size: .38rem; }
.evd-task.done { opacity: .62; }
.evd-ic { width: 22px; height: 22px; flex: 0 0 22px; display: flex; align-items: center; justify-content: center; border-radius: 5px; background: rgba(255, 255, 255, .05); font-size: .82rem; }
.evd-nm { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.evd-nm b { font-size: .38rem; font-weight: 400; color: #d8e4cc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.evd-nm i { display: block; height: 3px; border-radius: 2px; background: #08120c; overflow: hidden; }
.evd-nm u { display: block; height: 100%; background: linear-gradient(90deg, #8fd14f, #ffd76a); }
.evd-pg { flex: 0 0 38px; text-align: center; font-size: .32rem; color: #8fe8ff; }
.evd-rw { flex: 0 0 auto; display: flex; gap: 1px; }
.evd-task .evc-t-rw { display: flex; gap: 1px; font-size: .4rem; line-height: 1; }
.evd-task .evc-t-rw i { font-style: normal; }
.evd-go, .evd-claim { flex: 0 0 auto; font-size: .3rem; padding: 1px 6px; border-radius: 4px; cursor: pointer; }
.evd-go { border: 1px solid #58c8a0; background: rgba(60, 180, 130, .14); color: #8fe8c0; }
.evd-claim { border: 1px solid #ffd76a; background: rgba(255, 200, 80, .16); color: #ffd76a; font-weight: 800; }
.evd-ok { flex: 0 0 auto; font-size: .3rem; color: #7fbf3f; }
.evd-foot { display: flex; align-items: center; justify-content: space-between; padding-top: 2px; border-top: 1px dashed rgba(255, 255, 255, .08); font-size: .34rem; color: #d8c8ff; }
.evd-foot b { color: #d0a6ff; }
.evd-shard-btn { font-size: .3rem; padding: 1px 7px; border-radius: 999px; border: 1px solid #b47cff; background: rgba(180, 124, 255, .12); color: #e0ccff; }
.evd-shard-btn:disabled { opacity: .35; }

/* ---------- 转盘 ---------- */
#wl-v-slot.evp-view { padding: 4px 8px 6px !important; gap: 4px !important; }
#wl-v-slot .lucky-wrap { gap: 4px; }
#wl-v-slot .lucky-head { flex: 0 0 28px; }
#wl-v-slot .lucky-title b { font-size: .82rem; }
#wl-v-slot .lucky-title span { font-size: .36rem; }
#wl-v-slot .lucky-main { flex: 1 1 auto; min-height: 0; display: flex; gap: 8px; padding: 0; }
#wl-v-slot .lucky-stage { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; justify-content: center; }
#wl-v-slot .lucky-grid { position: relative; height: min(100%, 300px); aspect-ratio: 1 / 1; width: auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(4, minmax(0, 1fr)); gap: 3px; padding: 6px; border-radius: 16px; background: linear-gradient(160deg, #2a1c06, #120c02 58%, #241505); border: 2px solid #d8a838; box-shadow: 0 0 0 2px #5a3c08, 0 0 24px rgba(255, 190, 70, .28), inset 0 0 30px rgba(0, 0, 0, .85); }
#wl-v-slot .lucky-grid::before { content: ''; position: absolute; inset: 2px; border-radius: 13px; border: 2px dotted rgba(255, 215, 106, .38); pointer-events: none; animation: luckyBulb 1.6s linear infinite; }
#wl-v-slot .lucky-grid.spinning::before { animation-duration: .35s; border-color: rgba(255, 240, 180, .8); }
#wl-v-slot .lucky-cell { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; padding: 1px; border-radius: 7px; border: 1px solid #4a3a1a; background: linear-gradient(180deg, #1d170b, #0d0a04); min-width: 0; overflow: hidden; transition: transform .08s ease, box-shadow .08s ease, border-color .08s ease; }
#wl-v-slot .lucky-cell b { font-size: 1.15rem; line-height: 1.05; filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .65)); }
#wl-v-slot .lucky-cell span { max-width: 100%; font-size: .26rem; line-height: 1.15; color: #cfe0b8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#wl-v-slot .lucky-cell i { font-style: normal; font-size: .3rem; color: #ffd76a; }
#wl-v-slot .lucky-cell.rq2 { border-color: #5a8a5a; }
#wl-v-slot .lucky-cell.rq3 { border-color: #3f6f9a; }
#wl-v-slot .lucky-cell.rq4 { border-color: #7a4aa0; box-shadow: inset 0 0 12px rgba(140, 80, 220, .18); }
#wl-v-slot .lucky-cell.rq5 { border-color: #c99a2e; box-shadow: inset 0 0 14px rgba(255, 200, 80, .2); }
#wl-v-slot .lucky-cell.rq6 { border-color: #d04a4a; box-shadow: inset 0 0 16px rgba(255, 80, 80, .24); }
#wl-v-slot .lucky-cell.hot { transform: scale(1.05); border-color: #fff6c0; background: linear-gradient(180deg, #6a4d12, #2a1d05); box-shadow: 0 0 16px #ffd76a, inset 0 0 14px rgba(255, 230, 150, .9); z-index: 3; }
#wl-v-slot .lucky-cell.win { animation: luckyWin .42s ease 3; }
@keyframes luckyWin { 0%, 100% { box-shadow: 0 0 10px #ffd76a; } 50% { box-shadow: 0 0 28px #fff4c0; } }
@keyframes luckyBulb { 0%, 100% { opacity: .45; } 50% { opacity: .95; } }
#wl-v-slot .lucky-center { grid-area: 2 / 2 / 4 / 4; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; border-radius: 12px; border: 1px solid #c99a2e; background: radial-gradient(circle at 50% 30%, #4a360c, #1a1203 70%); box-shadow: inset 0 0 22px rgba(0, 0, 0, .8), 0 0 14px rgba(255, 190, 70, .18); }
#wl-v-slot .lc-top { font-size: .34rem; letter-spacing: .3em; color: #ffd76a; opacity: .8; }
#wl-v-slot .lc-em { font-size: 1.4rem; line-height: 1.05; filter: drop-shadow(0 2px 4px #000); }
#wl-v-slot .lucky-center i { font-style: normal; font-size: .3rem; color: #cfe0b8; }
#wl-v-slot .lucky-refresh-btn { margin-top: 1px; padding: 1px 6px; border-radius: 999px; border: 1px solid #ffd76a; background: rgba(255, 215, 106, .16); color: #ffe08a; font-size: .26rem; cursor: pointer; white-space: nowrap; }
#wl-v-slot .lucky-side { flex: 0 0 160px; display: flex; flex-direction: column; gap: 5px; justify-content: center; }
#wl-v-slot .lucky-btn { display: flex; align-items: center; justify-content: space-between; gap: 4px; padding: 6px 8px; border-radius: 7px; border: 1px solid #4a5c38; background: rgba(10, 16, 12, .92); color: #e8f0dc; font-size: .46rem; font-weight: 800; cursor: pointer; text-align: left; }
#wl-v-slot .lucky-btn b { font-size: .56rem; }
#wl-v-slot .lucky-btn span { font-size: .4rem; color: #ffd76a; }
#wl-v-slot .lucky-btn.pink { border-color: #ff5ad0; background: linear-gradient(180deg, rgba(130, 24, 96, .95), rgba(40, 10, 35, .95)); box-shadow: 0 0 14px rgba(255, 90, 208, .3); }
#wl-v-slot .lucky-btn.cyan { border-color: #58d6ff; background: linear-gradient(180deg, rgba(20, 86, 108, .95), rgba(8, 25, 32, .95)); box-shadow: 0 0 14px rgba(88, 214, 255, .26); }
#wl-v-slot .lucky-btn.red { border-color: #ffd76a; background: linear-gradient(180deg, #ff6a6a, #b01f1f); color: #fff; justify-content: center; font-size: .44rem; letter-spacing: .04em; box-shadow: 0 0 14px rgba(255, 90, 90, .35); }
#wl-v-slot .lucky-btn.dark { justify-content: center; color: #cfe0b8; font-size: .36rem; }
#wl-v-slot .lucky-bottom { flex: 0 0 24px; display: flex; align-items: center; gap: 6px; }
#wl-v-slot .lucky-meter { flex: 1 1 auto; display: flex; align-items: center; gap: 4px; font-size: .34rem; color: #8fe8ff; }
#wl-v-slot .lucky-meter i { flex: 1 1 auto; height: 5px; border-radius: 3px; background: #070b05; overflow: hidden; }
#wl-v-slot .lucky-meter u { display: block; height: 100%; background: linear-gradient(90deg, #58d6ff, #ffd76a); }
#wl-v-slot .lucky-meter b { color: #ffd76a; }
#wl-v-slot .lucky-result { flex: 0 0 12px; font-size: .3rem; color: #9fb088; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lucky-win-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px; }
.lucky-win { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; padding: 4px 2px; border-radius: 6px; border: 1px solid #4a5c38; background: rgba(0, 0, 0, .3); }
.lucky-win b { font-size: 1.2rem; line-height: 1.1; }
.lucky-win span { font-size: .3rem; color: #cfe0b8; white-space: nowrap; }
.lucky-win i { font-style: normal; font-size: .34rem; color: #ffd76a; }
.lucky-win.rq3 { border-color: #3f6f9a; }
.lucky-win.rq4 { border-color: #7a4aa0; }
.lucky-win.rq5 { border-color: #c99a2e; box-shadow: inset 0 0 12px rgba(255, 200, 80, .16); }
.lucky-win.rq6 { border-color: #d04a4a; }
.lucky-win-sum { margin-top: 8px; text-align: center; font-size: .38rem; color: #9fb088; }
.lucky-win-btns { display: flex; justify-content: center; gap: 6px; margin-top: 10px; }
.wl-mod-box.lucky-box { width: min(86vw, 640px); max-width: min(86vw, 640px); border-radius: 12px; }

/* ---------- 窄屏适配 ---------- */
@media (max-width: 760px) {
  .evb-title span { display: none; }
  .evb-res .evb-chip:nth-child(4) { display: none; }
  .evb-tools button b { display: none; }
  .evb-tools button { padding: 0 4px; font-size: .3rem; }
  .evb-res { gap: 2px; }
  .evb-chip { padding: 1px 4px; font-size: .3rem; }
  .evd-left, .evbd-left { flex-basis: 38%; }
  .evbd-rws .evb-rwt { width: 42px; height: 42px; }
  .evbd-rws .evb-rwt b { font-size: 1rem; }
  #wl-v-slot .lucky-side { flex-basis: 138px; }
  #wl-v-slot .lucky-btn { padding: 5px 6px; font-size: .4rem; }
  #wl-v-slot .lucky-btn b { font-size: .5rem; }
  #wl-v-slot .lucky-title b { font-size: .7rem; }
  #wl-v-slot .lucky-cell b { font-size: .95rem; }
  .lucky-win-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .evb-tools button { padding: 0 3px; }
  .evb-title b { font-size: .64rem; }
  .evp-name { font-size: .54rem; }
  .evp-meta { font-size: .3rem; gap: 3px; }
  .evp-fac { font-size: .3rem; }
  .evb-rwt.mini { padding: 0 2px; }
  .evb-rwt.mini b { font-size: .34rem; }
  .evb-rwt.mini i { font-size: .28rem; }
  .evbd-left { flex-basis: 40%; }
  .evbd-name b { font-size: .74rem; }
  .evbd-req { font-size: .32rem; padding: 1px 4px; }
  .evbd-rws .evb-rwt { width: 38px; height: 38px; }
  .evbd-rws .evb-rwt b { font-size: .9rem; }
  .evbd-rws .evb-rwt span { font-size: .22rem; }
  .evbd-slot { width: 38px; height: 44px; }
  .evbd-hero { flex-basis: 38px; width: 38px; }
  #wl-v-slot .lucky-grid { height: min(100%, 260px); }
  #wl-v-slot .lucky-side { flex-basis: 120px; }
  #wl-v-slot .lucky-btn { font-size: .36rem; padding: 4px 5px; }
  #wl-v-slot .lucky-btn b { font-size: .44rem; }
  #wl-v-slot .lucky-btn.dark { font-size: .3rem; }
  .evd-mile-tx { display: none; }
}

.evp-card::before{display:none !important;}

/* V1.61.28 hotfix */
.wl-mod-box.evb-box { min-height: 300px; }
.evbd-wrap { min-height: 264px; }
.evbd-note { margin-top: auto; padding: 4px 5px; border-top: 1px dashed rgba(120,200,220,.14); font-size: .3rem; line-height: 1.45; color: #7f9a90; }
.evp-em { opacity: .28; font-size: 2rem; right: 10px; top: 26px; }
.evp-card.r0 .evp-ribbon { color: #182014; background: linear-gradient(90deg, #e2e8da, rgba(255,255,255,0)); }
.evbd-slot { width: 48px; height: 56px; }
.evbd-hero { flex-basis: 48px; width: 48px; }
.evbd-hero-av { height: 32px; }
.evbd-heroes { min-height: 64px; }

/* daily modal: keep only X in title bar */
.wl-mod-box.evd-box { position: relative; }
.wl-mod-box.evd-box .wl-mod-title { position: absolute; right: 6px; top: 1px; margin: 0; padding: 0; z-index: 8; }
.wl-mod-box.evd-box #wl-dyn-title { display: none; }
.wl-mod-box.evd-box .wl-mod-title .x { margin: 0; font-size: .8rem; padding: 2px 6px; color: #9fb088; }
.wl-mod-box.evd-box .wl-mod-title .x:hover { color: #ffd76a; }
.evd-head { padding-right: 24px; }

/* small-screen density */
@media (max-width: 620px) {
  .evp-card { padding: 15px 5px 4px; }
  .evp-name { font-size: .48rem; }
  .evp-meta { font-size: .28rem; gap: 2px; }
  .evp-fac { display: none; }
  .evp-rw .evb-rwt:nth-child(n+3) { display: none; }
  .evp-em { font-size: 1.45rem; right: 4px; top: 22px; }
  .evp-state { font-size: .28rem; }
  .evb-tools button { height: 20px; font-size: .28rem; padding: 0 3px; }
  .evb-title b { font-size: .58rem; }
}
@media (max-height: 360px) {
  .wl-mod-box.evb-box { min-height: 0; }
  .evbd-wrap { min-height: 0; }
  .evbd-note { display: none; }
  .evbd-heroes { min-height: 50px; }
  .evbd-slot { width: 42px; height: 46px; }
  .evbd-hero { flex-basis: 42px; width: 42px; }
  .evbd-hero-av { height: 26px; }
  .evd-list { max-height: 106px; }
  .evd-mile { padding: 1px; }
  .evd-head b { font-size: .74rem; }
  #wl-v-slot .lucky-side { flex-basis: 130px; }
  #wl-v-slot .lucky-grid { height: min(100%, 250px); }
}

/* card depth / less empty */
.evp-card {
  background:
    radial-gradient(120% 90% at 85% 45%, rgba(255,255,255,.045), transparent 60%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0 5px, transparent 5px 11px),
    linear-gradient(165deg, rgba(255,255,255,.05), rgba(0,0,0,.66)),
    #0b120c !important;
}
.evp-em { right: 4px; top: 48%; transform: translateY(-40%); font-size: 2.45rem; opacity: .2; }
.evp-card.r3 .evp-em { opacity: .26; }
.evp-card.sel { box-shadow: 0 0 16px rgba(255,190,70,.45), inset 0 0 22px rgba(255,190,70,.05) !important; }

/* varied icons + tint */
.evp-card { --tint: rgba(255,255,255,.025); }
.evp-card.r1 { --tint: rgba(80,220,100,.05); }
.evp-card.r2 { --tint: rgba(70,170,255,.06); }
.evp-card.r3 { --tint: rgba(170,90,255,.07); }
.evp-card {
  background:
    radial-gradient(120% 90% at 88% 48%, var(--tint), transparent 62%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.016) 0 5px, transparent 5px 11px),
    linear-gradient(165deg, rgba(255,255,255,.045), rgba(0,0,0,.68)),
    #0b120c !important;
}
.evp-card::after { content: ''; position: absolute; right: -14px; top: 50%; width: 82px; height: 82px; border-radius: 50%; border: 1px solid var(--rc); opacity: .13; transform: translateY(-42%); pointer-events: none; }
.evp-em { opacity: .26; }
.evbd-em { font-size: .9rem; line-height: 1; filter: drop-shadow(0 1px 2px #000); }

/* modal polish */
.evbd-left { position: relative; overflow: hidden; }
.evbd-left::after { content: '📜'; position: absolute; left: -8px; bottom: -20px; font-size: 5.4rem; line-height: 1; opacity: .045; pointer-events: none; filter: grayscale(1); }
.evbd-btns .wl-btn.acc { background: linear-gradient(180deg, rgba(26,72,58,.9), rgba(6,24,18,.92)); border: 1px solid #58c8a0; color: #a8f0d0; box-shadow: none; }
.evbd-btns .wl-btn.acc:hover { border-color: #8fe8c0; color: #fff; }
.evbd-btns .wl-btn.gold { box-shadow: 0 0 14px rgba(255,190,70,.35); }

/* slot spin glow */
#wl-v-slot .lucky-grid.spinning { animation: luckySpinGlow .45s ease-in-out infinite; }
@keyframes luckySpinGlow {
  0%, 100% { box-shadow: 0 0 0 2px #5a3c08, 0 0 22px rgba(255,190,70,.3), inset 0 0 30px rgba(0,0,0,.85); }
  50% { box-shadow: 0 0 0 2px #ffd76a, 0 0 40px rgba(255,215,106,.65), inset 0 0 30px rgba(0,0,0,.8); }
}


/* =====================================================================
 * V1.61.29 · 招募官/每日任务/背包/顶栏精简
 * ===================================================================== */

/* ---------- 招募官：铺满左侧整块 ---------- */
.wll-rec-host {
  top: 0 !important;
  bottom: 0 !important;
  background-size: cover !important;
  background-position: center top !important;
}
.wll-rec-left { background: #080c10; }

/* ---------- 招募中心顶部资源条 ---------- */
.wll-rec-res { flex: 0 0 24px; display: flex; align-items: center; gap: 4px; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
.wll-rec-res::-webkit-scrollbar { display: none; }
.wrr { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 2px; height: 22px; padding: 0 7px; border-radius: 999px; border: 1px solid #33505f; background: rgba(0, 20, 30, .55); color: #d8e8f0; white-space: nowrap; }
.wrr i { font-style: normal; font-size: .68rem; line-height: 1; }
.wrr b { font-size: .48rem; color: #ffd76a; }
.wrr em { font-style: normal; font-size: .28rem; color: #8fa8b8; }
.wrr.dia { border-color: #3f6f9a; background: rgba(10, 40, 70, .55); padding-right: 3px; }
.wrr-plus { width: 16px; height: 16px; padding: 0; border-radius: 50%; border: 1px solid #7fc4ff; background: rgba(90, 180, 255, .18); color: #bfe8ff; font-size: .5rem; line-height: 14px; text-align: center; cursor: pointer; }
.wrr-plus:hover { background: #58b8ff; color: #061018; }

/* ---------- 完美招募卡：保底英雄头像 ---------- */
.wll-rec-card .wll-rec-plus.has { width: 34px; height: 34px; padding: 1px; line-height: normal; overflow: hidden; background: linear-gradient(180deg, #fff0b0, #c98a22); }
.wll-rec-plus-av { display: block; width: 100%; height: 100%; overflow: hidden; border-radius: 3px; background: radial-gradient(circle at 50% 30%, #2a2418, #080a07); }
.wll-rec-plus-av img { width: 100%; height: 100%; object-fit: contain; }
.wll-rec-plus-av .hs3-em { display: block; font-size: 1.35rem; line-height: 30px; text-align: center; }
.wll-rec-card.perfect .wll-rec-plus-cd { top: 40px; }

/* ---------- 完美招募选人弹窗：头像 ---------- */
.wl-mod-box.evr-box { width: min(92vw, 720px); max-width: min(92vw, 720px); }
.evr-wrap { display: flex; flex-direction: column; gap: 4px; }
.evr-tip { line-height: 1.5; }
.evr-cur { display: flex; align-items: center; gap: 8px; padding: 5px 7px; border-radius: 7px; border: 1px solid #4a5c38; background: rgba(0, 0, 0, .26); }
.evr-cur-av { width: 58px; height: 58px; flex: 0 0 58px; display: flex; align-items: center; justify-content: center; border-radius: 6px; overflow: hidden; background: radial-gradient(circle at 50% 30%, #2a2418, #080a07); border: 1px solid #6a5522; }
.evr-cur-av img, .evr-cur-av .hs3-em { max-width: 100%; max-height: 100%; object-fit: contain; font-size: 2rem; }
.evr-cur-bd { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.evr-cur-bd b { font-size: .64rem; color: #ffd76a; }
.evr-cur-bd span { font-size: .4rem; color: #cfe0b8; }
.evr-cur-bd i { font-style: normal; font-size: .32rem; color: #8fe8ff; }
.evr-cur.empty .evr-cur-av { color: #8fb0a0; font-size: 1.4rem; }
.evr-list-h { display: flex; justify-content: space-between; margin-top: 2px; font-size: .38rem; color: #ffd76a; }
.evr-list-h span:last-child { color: #8fa8b8; }
.evr-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; max-height: 190px; overflow-y: auto; }
.evr-opt { position: relative; display: flex; flex-direction: row; align-items: center; gap: 6px; padding: 4px 5px; border-radius: 6px; border: 1px solid #4a5c38; background: rgba(0, 0, 0, .25); color: #cfe0b8; text-align: left; cursor: pointer; min-width: 0; }
.evr-av { width: 42px; height: 42px; flex: 0 0 42px; display: flex; align-items: center; justify-content: center; border-radius: 5px; overflow: hidden; background: radial-gradient(circle at 50% 30%, #2a2418, #080a07); }
.evr-av img, .evr-av .hs3-em { max-width: 100%; max-height: 100%; object-fit: contain; font-size: 1.6rem; }
.evr-opt-bd { min-width: 0; display: flex; flex-direction: column; }
.evr-opt-bd b { font-size: .48rem; color: #f2f7ea; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.evr-opt-bd i { font-style: normal; font-size: .32rem; color: #9fb088; }
.evr-opt.on { border-color: #ffd76a; box-shadow: 0 0 10px rgba(255, 190, 70, .35); background: rgba(255, 200, 80, .10); }
.evr-opt-chk { position: absolute; right: 3px; top: 2px; color: #ffd76a; font-size: .6rem; font-weight: 900; }
.evr-btns { display: flex; justify-content: center; gap: 6px; margin-top: 5px; }

/* ---------- 每日任务：字大 + 奖励图标大 + 卡片边框 + 进度条不压圆点 ---------- */
.wl-mod-box.evd-box .evd-task { padding: 4px 6px; border: 1px solid #2f4a44; border-radius: 6px; background: rgba(255, 255, 255, .035); font-size: .46rem; }
.evd-nm b { font-size: .46rem; }
.evd-pg { flex: 0 0 46px; font-size: .38rem; }
.evd-task .evc-t-rw { font-size: .64rem; gap: 2px; }
.evd-task .evc-t-rw i { line-height: 1; }
.evd-go, .evd-claim, .evd-ok { font-size: .34rem; padding: 2px 7px; }
.evd-track { height: 8px; margin: 3px 2px 0; }
.evd-nodes { margin-top: 5px; padding: 0 9px; }
.evd-node { width: 18px; height: 18px; font-size: .3rem; }
.evd-list { max-height: 176px; gap: 3px; }
.evd-mile { padding: 2px 1px; }
.evd-mile-ic { font-size: .82rem; }

/* ---------- 背包：方格 ---------- */
#wl-v-bag.active { display: flex !important; flex-direction: column !important; overflow: hidden !important; }
#wl-v-bag .bg3-main { display: block !important; flex: 1 1 auto !important; min-height: 0 !important; overflow: hidden !important; }
#wl-v-bag .bg3-list { height: 100% !important; overflow-y: auto !important; overflow-x: hidden !important; padding: 2px 2px 14px !important; }
#wl-v-bag .bg3-preview { display: none !important; }
#wl-v-bag .bg3-tabs { flex: 0 0 auto; }
#wl-v-bag .bg3-tabs .wl-tab { font-size: .52rem; padding: 3px 8px; }
.bgx-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(86px, 1fr)); gap: 6px; align-content: start; padding: 2px; }
.bgx-cell { position: relative; aspect-ratio: 1 / 1; min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; padding: 5px 4px 4px; border-radius: 8px; border: 1px solid #3a4a34; background: radial-gradient(80% 70% at 50% 25%, rgba(255,255,255,.06), transparent 70%), linear-gradient(160deg, rgba(32,42,26,.95), rgba(8,12,7,.96)); color: #d8e4cc; cursor: pointer; overflow: hidden; }
.bgx-cell:hover { border-color: #ffd76a; box-shadow: 0 0 12px rgba(255, 190, 70, .25); }
.bgx-cell:active { transform: scale(.97); }
.bgx-ic { flex: 1 1 auto; width: 100%; min-height: 0; display: flex; align-items: center; justify-content: center; font-size: 2rem; line-height: 1; filter: drop-shadow(0 2px 3px rgba(0,0,0,.7)); }
.bgx-ic img { max-width: 82%; max-height: 82%; object-fit: contain; }
.bgx-ic img, .bgx-ic .hs3-em { max-width: 82%; max-height: 82%; }
.bgx-ic .hs3-em { font-size: 2rem; }
.bgx-nm { flex: 0 0 auto; max-width: 100%; font-size: .34rem; line-height: 1.2; color: #e8f0dc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bgx-sub { flex: 0 0 auto; max-width: 100%; font-size: .28rem; line-height: 1.1; color: #8fa88a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bgx-n { position: absolute; right: 4px; top: 3px; padding: 0 3px; border-radius: 3px; background: rgba(0,0,0,.66); font-size: .3rem; color: #ffd76a; line-height: 1.35; }
.bgx-badge { position: absolute; left: 3px; top: 3px; padding: 0 3px; border-radius: 3px; background: #ffd76a; color: #2a1a03; font-size: .26rem; font-weight: 900; line-height: 1.35; }
.bgx-cell.q1 { border-color: #8a9a8a; }
.bgx-cell.q2 { border-color: #63c95d; }
.bgx-cell.q3 { border-color: #4aa8f0; }
.bgx-cell.q4 { border-color: #b06cff; }
.bgx-cell.q5 { border-color: #ffb84d; box-shadow: inset 0 0 16px rgba(255, 190, 70, .12); }
.bgx-cell.q6 { border-color: #ff6a6a; box-shadow: inset 0 0 16px rgba(255, 90, 90, .14); }
.bgx-cell.q7 { border-color: #ff4fd8; box-shadow: inset 0 0 18px rgba(255, 80, 210, .16); }
.bgx-cell.on { border-color: #ffd76a; background: linear-gradient(160deg, rgba(100,80,20,.8), rgba(20,16,6,.96)); }
.bgx-empty { grid-column: 1 / -1; padding: 30px 10px; text-align: center; font-size: .48rem; line-height: 1.7; color: #7f8f70; }

/* ---------- 背包详情弹窗 ---------- */
.wl-mod-box.bagx-box { width: min(86vw, 560px); max-width: min(86vw, 560px); }
.bagx-detail { display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; padding: 2px 2px 4px; }
.bagx-dbig { font-size: 3.4rem; line-height: 1; filter: drop-shadow(0 3px 6px rgba(0,0,0,.7)); }
.bagx-dbig.av { width: 96px; height: 96px; display: flex; align-items: center; justify-content: center; border-radius: 10px; overflow: hidden; background: radial-gradient(circle at 50% 30%, #2a2418, #080a07); border: 1px solid #6a5522; }
.bagx-dbig.av img, .bagx-dbig.av .hs3-em { max-width: 100%; max-height: 100%; object-fit: contain; font-size: 3rem; }
.bagx-dnm { font-size: .74rem; color: #ffe08a; letter-spacing: .04em; }
.bagx-own { font-size: .46rem; color: #cfe0b8; }
.bagx-own b { color: #ffd76a; font-size: .54rem; }
.bagx-desc { margin: 2px 6px; font-size: .44rem; line-height: 1.5; color: #b9c8ac; }
.bagx-sec { font-size: .4rem; font-weight: 900; color: #8fe8ff; letter-spacing: .06em; margin-top: 3px; }
.bagx-sets { width: 100%; }
.bagx-set { display: flex; align-items: center; gap: 6px; padding: 3px 6px; margin-top: 2px; border-radius: 5px; border: 1px solid #2f3b25; background: rgba(0,0,0,.22); font-size: .4rem; color: #8fa88a; }
.bagx-set.on { border-color: #6a5522; color: #ffe08a; background: rgba(255,190,70,.06); }
.bagx-set b { flex: 0 0 42px; text-align: left; color: inherit; }
.bagx-set span { flex: 1 1 auto; text-align: left; }
.bagx-prog { position: relative; width: 86%; height: 10px; margin: 4px 0 2px; border-radius: 5px; background: #08120c; border: 1px solid #2f4a44; overflow: hidden; }
.bagx-prog i { display: block; height: 100%; background: linear-gradient(90deg, #8fd14f, #ffd76a); }
.bagx-prog span { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: .3rem; color: #fff; text-shadow: 0 1px 2px #000; }
.bagx-btns { display: flex; justify-content: center; gap: 6px; margin-top: 7px; flex-wrap: wrap; }

/* ---------- 首页背包入口 ---------- */
.wll-bag-entry { border-color: #3f7a5a; background: linear-gradient(90deg, rgba(100, 220, 140, .16), rgba(20, 40, 26, .35) 55%, rgba(0, 0, 0, .28)); }
.wll-bag-entry .wde-go { color: #a8f0c0; border-color: rgba(120, 230, 160, .5); }

@media (max-width: 760px) {
  .bgx-grid { grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: 5px; }
  .bgx-cell { border-radius: 6px; }
  .bgx-ic { font-size: 1.7rem; }
  .evr-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .evr-cur-av { width: 46px; height: 46px; flex-basis: 46px; }
  .wr { height: 20px; padding: 0 5px; }
}
@media (max-height: 360px) {
  .evd-list { max-height: 118px; }
  .bgx-grid { grid-template-columns: repeat(auto-fill, minmax(70px, 1fr)); }
}

/* V1.61.29 daily readability final */
.wl-mod-box.evd-box .evd-task { padding: 5px 7px; border-color: #35564e; background: rgba(255,255,255,.045); }
.wl-mod-box.evd-box .evd-nm b { font-size: .5rem; color: #e4eed8; }
.wl-mod-box.evd-box .evd-pg { font-size: .4rem; }
.wl-mod-box.evd-box .evd-task .evc-t-rw { font-size: .8rem; }
.wl-mod-box.evd-box .evd-mile-tx { font-size: .3rem; color: #a9be9c; }
.wl-mod-box.evd-box .evd-mile-n { font-size: .3rem; }
.wl-mod-box.evd-box .evd-mile-st { font-size: .28rem; }
.wl-mod-box.evd-box .evd-mile-ic { font-size: .88rem; }
.wl-mod-box.evd-box .evd-list { max-height: 176px; }
.wrr { height: 22px; }


/* =====================================================================
 * V1.61.30 · 竞技场 1:1 视觉
 * ===================================================================== */
#wl-v-arena.active { display: flex !important; flex-direction: column !important; padding: 5px 8px 7px !important; overflow: hidden !important; background: radial-gradient(90% 65% at 50% 0%, rgba(40,150,190,.18), transparent 65%), linear-gradient(180deg,#061018,#03070a); }
#wl-v-arena .arx-view { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; gap: 6px; }
#wl-v-arena .arx-top { flex: 0 0 30px; display: flex; align-items: center; gap: 6px; }
#wl-v-arena .arx-back { width: 28px; height: 26px; border-radius: 5px; border: 1px solid #2f6a7a; background: rgba(8,30,38,.8); color: #8fe8ff; font-size: .7rem; cursor: pointer; }
#wl-v-arena .arx-tabs { flex: 1 1 auto; display: flex; justify-content: center; gap: 5px; min-width: 0; }
#wl-v-arena .arx-tab { padding: 3px 12px; border: 1px solid #2f5a68; background: linear-gradient(180deg,rgba(14,40,48,.94),rgba(5,14,18,.95)); color: #8fa8b8; font-size: .46rem; font-weight: 800; letter-spacing: .05em; cursor: pointer; clip-path: polygon(7% 0,100% 0,93% 100%,0 100%); }
#wl-v-arena .arx-tab.on { color: #061018; background: linear-gradient(180deg,#8fe8ff,#38a8c8); border-color: #c8f6ff; box-shadow: 0 0 14px rgba(80,210,240,.35); }
#wl-v-arena .arx-res { display: flex; gap: 4px; }
#wl-v-arena .arx-res span { padding: 1px 5px; border-radius: 999px; border: 1px solid #2f6a7a; background: rgba(0,20,28,.55); font-size: .32rem; color: #cfe0e8; }
#wl-v-arena .arx-res b { color: #ffd76a; }
#wl-v-arena .arx-main { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: minmax(0, 22%) minmax(0, 1fr) minmax(0, 31%); gap: 6px; }
#wl-v-arena .arx-panel { position: relative; min-width: 0; border: 1px solid #24505c; border-radius: 8px; background: linear-gradient(180deg,rgba(10,28,34,.88),rgba(3,9,12,.92)); box-shadow: inset 0 0 24px rgba(0,0,0,.55), 0 0 16px rgba(40,160,190,.06); overflow: hidden; }
#wl-v-arena .arx-panel-h { flex: 0 0 auto; padding: 2px 7px; font-size: .36rem; font-weight: 900; letter-spacing: .12em; color: #7fe6ff; background: linear-gradient(90deg,rgba(40,140,170,.28),transparent); border-left: 2px solid #58d6ff; }

/* left defense */
#wl-v-arena .arx-left { display: flex; flex-direction: column; align-items: center; gap: 4px; padding-bottom: 5px; }
#wl-v-arena .arx-def-av { flex: 0 0 auto; margin-top: 6px; }
#wl-v-arena .arx-hex { width: 76px; height: 86px; clip-path: polygon(50% 0,100% 24%,100% 76%,50% 100%,0 76%,0 24%); border: 0; background: radial-gradient(circle at 50% 35%,#2a6a80,#07161c); }
#wl-v-arena .arx-hex img { max-width: 92%; max-height: 92%; object-fit: contain; }
#wl-v-arena .arx-hex .hs3-em { font-size: 2.4rem; }
#wl-v-arena .arx-def-pow { display: flex; flex-direction: column; align-items: center; line-height: 1.1; }
#wl-v-arena .arx-def-pow span { font-size: .3rem; color: #8fa8b8; letter-spacing: .08em; }
#wl-v-arena .arx-def-pow b { font-size: .56rem; color: #ffd76a; }
#wl-v-arena .arx-def-team { display: flex; flex-wrap: wrap; justify-content: center; gap: 2px; padding: 0 4px; }
#wl-v-arena .arx-mini { width: 26px; height: 26px; border-radius: 4px; }
#wl-v-arena .arx-mini img, #wl-v-arena .arx-mini .hs3-em { max-width: 100%; max-height: 100%; font-size: 1rem; }
#wl-v-arena .arx-def-btns { margin-top: auto; display: flex; flex-wrap: wrap; justify-content: center; gap: 3px; padding: 0 4px; }
#wl-v-arena .arx-def-btns button { padding: 2px 6px; border-radius: 4px; border: 1px solid #2f6a7a; background: rgba(8,30,38,.85); color: #bfe8f0; font-size: .32rem; cursor: pointer; }

/* center crest */
#wl-v-arena .arx-mid { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; padding: 4px; }
#wl-v-arena .arx-mid-h { font-size: .36rem; letter-spacing: .2em; color: #8fe8ff; }
#wl-v-arena .arx-crest-wrap { position: relative; width: 210px; height: 200px; display: flex; align-items: center; justify-content: center; filter: drop-shadow(0 8px 18px rgba(0,0,0,.6)); }
#wl-v-arena .arx-crest-wrap.small { width: 150px; height: 150px; transform: scale(.92); }
#wl-v-arena .arx-wing { position: absolute; top: 58px; width: 86px; height: 62px; opacity: .65; background: linear-gradient(90deg,rgba(80,210,240,.05),rgba(80,210,240,.55)); clip-path: polygon(100% 0,100% 100%,0 64%,52% 52%,0 38%); }
#wl-v-arena .arx-wing.left { right: 50%; transform: scaleX(-1); }
#wl-v-arena .arx-wing.right { left: 50%; }
#wl-v-arena .arx-crest { position: relative; width: 152px; height: 176px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; background: linear-gradient(180deg,#f0d07a,#7a4f10); clip-path: polygon(50% 0,92% 16%,100% 56%,50% 100%,0 56%,8% 16%); }
#wl-v-arena .arx-crest::before { content: ''; position: absolute; inset: 3px; clip-path: polygon(50% 0,92% 16%,100% 56%,50% 100%,0 56%,8% 16%); background: radial-gradient(circle at 50% 28%,#2a8aa8,#07161c 70%); }
#wl-v-arena .arx-crest > * { position: relative; z-index: 1; }
#wl-v-arena .arx-tier-en { font-size: .5rem; font-weight: 900; letter-spacing: .16em; color: #ffe8a8; text-shadow: 0 0 10px rgba(255,200,90,.5); }
#wl-v-arena .arx-tier-cn { font-size: .7rem; color: #fff3d0; letter-spacing: .06em; }
#wl-v-arena .arx-stars { display: flex; gap: 3px; font-size: .5rem; color: #5a4a28; }
#wl-v-arena .arx-stars i { font-style: normal; }
#wl-v-arena .arx-stars i.on { color: #ffd76a; text-shadow: 0 0 8px rgba(255,190,70,.6); }
#wl-v-arena .arx-pts { display: flex; gap: 12px; font-size: .4rem; color: #cfe0e8; }
#wl-v-arena .arx-pts b { color: #ffd76a; }
#wl-v-arena .arx-season { font-size: .36rem; color: #8fa8b8; }
#wl-v-arena .arx-season b { color: #8fe8ff; }

/* right board */
#wl-v-arena .arx-right { display: flex; flex-direction: column; gap: 2px; padding-bottom: 3px; }
#wl-v-arena .arx-board-h { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 4px; padding: 2px 5px; border-bottom: 1px solid rgba(90,180,200,.18); }
#wl-v-arena .arx-board-h > span { font-size: .36rem; font-weight: 900; color: #7fe6ff; letter-spacing: .1em; }
#wl-v-arena .arx-board-h div { display: flex; gap: 2px; }
#wl-v-arena .arx-board-h button { padding: 1px 5px; border: 1px solid #2f5a68; border-radius: 3px; background: rgba(0,0,0,.2); color: #8fa8b8; font-size: .3rem; cursor: pointer; }
#wl-v-arena .arx-board-h button.on { color: #061018; background: #8fe8ff; border-color: #c8f6ff; }
#wl-v-arena .arx-board { flex: 1 1 auto; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: 2px; padding: 3px; }
#wl-v-arena .arx-brow { display: flex; align-items: center; gap: 4px; padding: 2px 4px; border-radius: 4px; border: 1px solid rgba(70,140,160,.14); background: rgba(0,0,0,.2); }
#wl-v-arena .arx-brow.me { border-color: #c99a2e; background: rgba(255,190,70,.07); }
#wl-v-arena .arx-brank { width: 16px; text-align: center; font-size: .34rem; color: #7fe6ff; }
#wl-v-arena .arx-brow:nth-child(1) .arx-brank { color: #ffd76a; }
#wl-v-arena .arx-bav { width: 30px; height: 30px; flex: 0 0 30px; border-radius: 5px; border: 1px solid #3f6a72; overflow: hidden; }
#wl-v-arena .arx-bav img, #wl-v-arena .arx-bav .hs3-em { max-width: 100%; max-height: 100%; font-size: 1.2rem; }
#wl-v-arena .arx-binfo { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
#wl-v-arena .arx-binfo b { font-size: .36rem; color: #e8f4f6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#wl-v-arena .arx-binfo b i { font-style: normal; color: #ffd76a; font-size: .28rem; }
#wl-v-arena .arx-binfo em { font-style: normal; font-size: .26rem; color: #8fa8b8; }
#wl-v-arena .arx-bpts { font-size: .34rem; color: #ffd76a; }

/* bottom */
#wl-v-arena .arx-bottom { flex: 0 0 34px; display: flex; align-items: center; gap: 8px; }
#wl-v-arena .arx-tries { font-size: .38rem; color: #8fa8b8; }
#wl-v-arena .arx-tries b { color: #ffd76a; }
#wl-v-arena .arx-match-btn { margin-left: auto; padding: 5px 32px; border-radius: 4px; border: 1px solid #c8f6ff; background: linear-gradient(180deg,#8fe8ff,#2a8aa8); color: #041015; font-size: .72rem; font-weight: 900; letter-spacing: .1em; cursor: pointer; box-shadow: 0 0 18px rgba(80,210,240,.42), inset 0 1px 0 rgba(255,255,255,.5); clip-path: polygon(6% 0,100% 0,94% 100%,0 100%); }
#wl-v-arena .arx-match-btn:active { transform: scale(.97); }

/* match modal */
.wl-mod-box.arx-match-box { width: min(94vw, 980px); max-width: min(94vw, 980px); height: min(84vh, 360px); max-height: 84vh; padding: 4px 8px 8px; background: linear-gradient(160deg,#0a1a22,#03080b 65%); border: 1px solid #2f6a7a; }
.arx-match-wrap { display: flex; gap: 9px; height: 100%; min-height: 0; }
.arx-match-left { flex: 0 0 28%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; border-right: 1px solid rgba(90,180,200,.18); padding-right: 6px; }
.arx-match-left .arx-crest-wrap { margin: -14px 0 -8px; }
.arx-match-pts { font-size: .38rem; color: #cfe0e8; }
.arx-match-pts b { color: #ffd76a; }
.arx-match-note { font-size: .3rem; color: #7f9aa8; text-align: center; }
.arx-match-right { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.arx-match-title { display: flex; justify-content: space-between; font-size: .44rem; font-weight: 900; color: #8fe8ff; }
.arx-match-title span { font-size: .32rem; color: #8fa8b8; font-weight: 400; }
.arx-ops { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; gap: 3px; overflow-y: auto; }
.arx-op-row { display: flex; align-items: center; gap: 6px; padding: 4px 5px; border: 1px solid rgba(70,140,160,.2); border-radius: 5px; background: rgba(0,0,0,.2); }
.arx-op-rk { width: 16px; text-align: center; font-size: .34rem; color: #7fe6ff; }
.arx-op-av { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 5px; border: 1px solid #3f6a72; overflow: hidden; }
.arx-op-av img, .arx-op-av .hs3-em { max-width: 100%; max-height: 100%; font-size: 1.4rem; }
.arx-op-info { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.arx-op-info b { font-size: .4rem; color: #e8f4f6; }
.arx-op-info b .rev { font-style: normal; color: #ffb04d; font-size: .28rem; }
.arx-op-info em { font-style: normal; font-size: .3rem; color: #8fa8b8; }
.arx-op-pts { width: 64px; text-align: right; font-size: .34rem; color: #ffd76a; }
.arx-op-go { padding: 3px 12px; border: 1px solid #8fe8c0; border-radius: 4px; background: linear-gradient(180deg,#5fe0a0,#1f8a58); color: #04150c; font-size: .38rem; font-weight: 900; cursor: pointer; }
.arx-match-foot { display: flex; justify-content: space-between; align-items: center; }
.arx-free { padding: 3px 10px; border: 1px solid #58d6ff; border-radius: 4px; background: rgba(40,150,190,.18); color: #bfe8ff; font-size: .36rem; }
.arx-match-foot button:last-child { padding: 3px 10px; border: 1px solid #3f5a52; border-radius: 4px; background: rgba(0,0,0,.25); color: #9fb088; font-size: .36rem; }

/* VS modal */
.wl-mod-box.arx-vs-box { width: min(94vw, 1000px); max-width: min(94vw, 1000px); height: min(88vh, 400px); max-height: 88vh; padding: 4px 8px 6px; background: linear-gradient(160deg,#08141c,#03070a 60%,#0a1114); border: 1px solid #2f6a7a; }
.arx-vs { height: 100%; display: flex; flex-direction: column; gap: 4px; }
.arx-vs-top { flex: 0 0 22px; display: flex; align-items: center; justify-content: space-between; font-size: .38rem; color: #8fa8b8; }
.arx-vs-top b { color: #ffd76a; }
.arx-vs-title { font-size: .5rem; font-weight: 900; color: #8fe8ff; letter-spacing: .12em; }
.arx-vs-mid { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: 1fr 58px 1fr; align-items: center; gap: 4px; }
.arx-team { display: flex; flex-wrap: wrap; align-content: center; justify-content: center; gap: 3px; }
.arx-unit { width: 52px; height: 62px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; padding: 2px; border-radius: 5px; border: 1px solid #2f5a68; background: rgba(0,0,0,.25); overflow: hidden; }
.arx-team.foe .arx-unit { border-color: #6a3f3f; background: rgba(40,10,10,.2); }
.arx-unit.empty { border-style: dashed; color: #5f7a80; font-size: .28rem; }
.arx-unit-av { width: 34px; height: 34px; border-radius: 4px; overflow: hidden; }
.arx-unit-av img, .arx-unit-av .hs3-em { max-width: 100%; max-height: 100%; font-size: 1.4rem; }
.arx-unit b { max-width: 100%; font-size: .28rem; font-weight: 400; color: #e8f4f6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.arx-unit em { font-style: normal; font-size: .24rem; color: #8fa8b8; }
.arx-vs-word { font-size: 1.3rem; font-weight: 900; text-align: center; color: #ffd76a; text-shadow: 0 0 18px rgba(255,190,70,.65), 0 0 40px rgba(255,80,80,.3); font-style: italic; }
.arx-vs-roster { flex: 0 0 64px; min-height: 0; border-top: 1px solid rgba(90,180,200,.16); padding-top: 2px; }
.arx-vs-roster-h { font-size: .3rem; color: #8fa8b8; }
.arx-roster-list { display: flex; gap: 3px; overflow-x: auto; overflow-y: hidden; padding: 2px 0; }
.arx-roster { flex: 0 0 40px; width: 40px; display: flex; flex-direction: column; align-items: center; gap: 0; padding: 1px; border: 1px solid #2f5a68; border-radius: 4px; background: rgba(0,0,0,.2); color: #cfe0e8; cursor: pointer; }
.arx-roster-av { width: 30px; height: 30px; border-radius: 3px; overflow: hidden; }
.arx-roster-av img, .arx-roster-av .hs3-em { max-width: 100%; max-height: 100%; font-size: 1.2rem; }
.arx-roster b { max-width: 100%; font-size: .24rem; font-weight: 400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.arx-vs-foot { flex: 0 0 28px; display: flex; align-items: center; gap: 6px; justify-content: flex-end; font-size: .32rem; color: #8fa8b8; }
.arx-vs-foot > span { margin-right: auto; }
.arx-vs-foot button { padding: 3px 12px; border-radius: 4px; border: 1px solid #3f5a52; background: rgba(0,0,0,.25); color: #9fb088; font-size: .38rem; }
.arx-vs-foot .arx-fight { border-color: #d07aff; background: linear-gradient(180deg,#b45cff,#5a1a8a); color: #fff; box-shadow: 0 0 16px rgba(170,80,255,.4); }
.arx-empty { font-size: .34rem; color: #6f8a90; padding: 6px; }
.arx-rules { font-size: .44rem; line-height: 1.55; color: #cfe0e8; }
.arx-rules b { display: block; margin-top: 5px; color: #8fe8ff; font-size: .46rem; }
.arx-rules p { margin: 1px 0 3px; color: #9fb0b8; }

@media (max-width: 700px) {
  #wl-v-arena .arx-tab { padding: 3px 6px; font-size: .38rem; }
  #wl-v-arena .arx-crest-wrap { width: 170px; height: 170px; }
  #wl-v-arena .arx-crest { width: 126px; height: 148px; }
  #wl-v-arena .arx-tier-en { font-size: .4rem; }
  #wl-v-arena .arx-tier-cn { font-size: .56rem; }
  #wl-v-arena .arx-bav { width: 26px; height: 26px; flex-basis: 26px; }
  #wl-v-arena .arx-binfo b { font-size: .32rem; }
  #wl-v-arena .arx-match-btn { padding: 4px 18px; font-size: .62rem; }
  .arx-unit { width: 44px; height: 56px; }
  .arx-unit-av { width: 28px; height: 28px; }
  .arx-vs-word { font-size: 1rem; }
}

/* =====================================================================
 * V1.61.30 · 首页右栏/左栏/后街偏移/领取红色按钮
 * ===================================================================== */
#wll-main-right { display: flex; flex-direction: column; min-height: 0; }
.wll-right-actions { flex: 0 0 auto; display: flex; flex-direction: column; gap: 5px; margin-top: auto; padding-top: 6px; width: 100%; }
.wll-right-actions .wll-daily-entry { width: 100%; margin-top: 0; }
.wll-right-alley { border-color: #8a6a22; background: linear-gradient(90deg, rgba(255, 200, 80, .18), rgba(50, 38, 12, .42) 55%, rgba(0, 0, 0, .3)); }
.wll-right-alley .wde-go { color: #ffd76a; border-color: rgba(255, 215, 106, .55); }

/* 左栏只保留营地按钮，按钮内部图标+文字规范排布 */
body .wll-top .wll-aux { display: grid !important; grid-template-columns: 1fr !important; gap: 4px; width: 100%; }
body .wll-top .wll-aux #wll-alley-btn { display: none !important; }
body .wll-top .wll-aux .wll-home {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 100% !important;
  min-height: 34px;
  height: 34px;
  padding: 0 4px !important;
  overflow: hidden;
  white-space: nowrap;
  box-sizing: border-box;
}
body .wll-top.on-main .wll-aux .wll-home { display: flex !important; }
body .wll-top .wll-aux .wll-home .em { font-size: 1rem; line-height: 1; flex: 0 0 auto; }
body .wll-top .wll-aux .wll-home .tx { font-size: .58rem; line-height: 1; font-weight: 900; overflow: hidden; text-overflow: ellipsis; }

/* 后街整体向右让出刘海/左栏遮挡 */
body.on-alley .wll-alley-page,
.wll-alley-page {
  left: calc(var(--wll-rail-w) + 10px + var(--wll-sal, 0px)) !important;
}
@media (max-width: 700px) {
  body.on-alley .wll-alley-page,
  .wll-alley-page { left: calc(var(--wll-rail-w) + 6px + var(--wll-sal, 0px)) !important; }
}

/* 所有领取按钮：红色实心闪动 */
@keyframes claimRedPulse {
  0%, 100% { box-shadow: 0 0 10px rgba(255, 50, 50, .45), inset 0 1px 0 rgba(255,255,255,.25); filter: brightness(1); }
  50% { box-shadow: 0 0 20px rgba(255, 70, 70, .85), inset 0 1px 0 rgba(255,255,255,.35); filter: brightness(1.12); }
}
[data-act="tclaim"], [data-act="qclaim"], [data-act="ev-claim"], [data-act="ev-claimm"], [data-act="wf-claim"],
.evd-claim, .evc-claim, .wll-wf-claim, .wll-wf-big.claim, .tk-btn.hot {
  background: linear-gradient(180deg, #ff5a5a, #b01222) !important;
  border: 1px solid #ffb0a0 !important;
  color: #fff !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.5) !important;
  box-shadow: 0 0 10px rgba(255,50,50,.45), inset 0 1px 0 rgba(255,255,255,.25) !important;
  animation: claimRedPulse 1.05s ease-in-out infinite !important;
}
[data-act="tclaim"]:disabled, [data-act="qclaim"]:disabled, [data-act="ev-claim"]:disabled,
.evd-claim:disabled, .tk-btn.hot:disabled {
  animation: none !important;
  opacity: .55;
}

/* 任务中心：两栏更整齐，避免右侧大片空 */
#wl-v-tasks.active { display: flex !important; flex-direction: column !important; overflow-y: auto !important; gap: 4px; }
#wl-v-tasks .wl-sec { margin-bottom: 0 !important; }
#wl-v-tasks .tk-card { border: 1px solid #3a4a34; border-radius: 6px; }
#wl-v-tasks .tk-card.can { border-color: #ff6a6a; box-shadow: 0 0 10px rgba(255,60,60,.18); }

#wll-arena-shop-btn{display:none !important;}
.wl-mod-box.arx-shop-box{width:min(90vw,720px);max-width:min(90vw,720px);}

#wl-v-tasks > .wl-h1 + .wl-sec{display:flex !important;}
#wl-v-tasks > .wl-sec{flex:0 0 auto !important;min-height:0 !important;margin:6px 0 0 !important;overflow:visible !important;}
#wl-v-tasks .wl-sec > div:last-child{display:grid !important;grid-auto-flow:row !important;grid-template-columns:repeat(auto-fill,minmax(250px,1fr)) !important;grid-template-rows:none !important;grid-auto-rows:auto !important;gap:5px !important;overflow:visible !important;}
#wl-v-tasks .tk-card{margin-top:0 !important;}

.evd-mile.can,.evc-mile.can{border-color:#ff6a6a !important;background:linear-gradient(180deg,rgba(255,70,70,.22),rgba(80,8,12,.35)) !important;box-shadow:0 0 10px rgba(255,50,50,.35) !important;}
.evd-mile.can .evd-mile-st,.evc-mile.can .evc-mile-st{color:#ff9a9a !important;}


/* =====================================================================
 * V1.61.32 · 竞技场按参考图再对齐
 * ===================================================================== */
#wl-v-arena .arx-home { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: minmax(0, 21%) minmax(0, 1fr) minmax(0, 32%); gap: 6px; }
#wl-v-arena .arx-home-left { min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 4px; border: 1px solid #24505c; border-radius: 8px; background: linear-gradient(180deg,rgba(10,28,34,.9),rgba(3,9,12,.94)); padding: 7px 5px 5px; box-shadow: inset 0 0 26px rgba(0,0,0,.55); }
#wl-v-arena .arx-user-hex { width: 88px; height: 98px; flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; clip-path: polygon(50% 0,100% 24%,100% 76%,50% 100%,0 76%,0 24%); background: linear-gradient(160deg,#2b6a80,#071218); border: 0; position: relative; }
#wl-v-arena .arx-user-hex::before { content: ''; position: absolute; inset: 3px; clip-path: polygon(50% 0,100% 24%,100% 76%,50% 100%,0 76%,0 24%); background: radial-gradient(circle at 50% 28%,#24586a,#050c10); }
#wl-v-arena .arx-user-av { position: relative; z-index: 1; width: 58px; height: 58px; display: flex; align-items: center; justify-content: center; border-radius: 50%; overflow: hidden; background: radial-gradient(circle at 50% 30%,#3a7a90,#08141a); border: 1px solid #58c8e0; }
#wl-v-arena .arx-user-av img { width: 100%; height: 100%; object-fit: cover; }
#wl-v-arena .arx-user-em { font-size: 2rem; line-height: 1; filter: drop-shadow(0 2px 4px #000); }
#wl-v-arena .arx-user-nm { position: relative; z-index: 1; max-width: 100%; font-size: .3rem; color: #bfe8f0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#wl-v-arena .arx-def-pow { display: flex; flex-direction: column; align-items: center; line-height: 1.1; margin-top: 2px; }
#wl-v-arena .arx-def-pow span { font-size: .3rem; color: #8fa8b8; letter-spacing: .08em; }
#wl-v-arena .arx-def-pow b { font-size: .6rem; color: #ffd76a; }
#wl-v-arena .arx-edit { width: 100%; height: 24px; border: 1px solid #c8f6ff; border-radius: 3px; background: linear-gradient(180deg,#8fe8ff,#2a8aa8); color: #041015; font-size: .38rem; font-weight: 900; cursor: pointer; clip-path: polygon(6% 0,100% 0,94% 100%,0 100%); }
#wl-v-arena .arx-two-btns { width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-top: 2px; }
#wl-v-arena .arx-cut { height: 24px; border: 1px solid #3f6a72; border-radius: 3px; background: linear-gradient(180deg,rgba(18,44,52,.95),rgba(5,14,18,.95)); color: #bfe8f0; font-size: .34rem; cursor: pointer; clip-path: polygon(8% 0,100% 0,92% 100%,0 100%); }
#wl-v-arena .arx-cut:hover { border-color: #8fe8ff; color: #fff; }

#wl-v-arena .arx-home-mid { min-width: 0; display: flex; flex-direction: column; align-items: stretch; justify-content: center; gap: 5px; }
#wl-v-arena .arx-rank-card { flex: 1 1 auto; min-height: 0; max-height: 212px; display: flex; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid #2f6a7a; border-radius: 10px; background: radial-gradient(80% 90% at 20% 40%,rgba(40,150,190,.16),transparent 65%), linear-gradient(180deg,rgba(10,30,38,.9),rgba(3,9,12,.94)); box-shadow: inset 0 0 28px rgba(0,0,0,.55), 0 0 18px rgba(40,160,190,.08); overflow: hidden; }
#wl-v-arena .arx-rank-info { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 1px; }
#wl-v-arena .arx-tier-en { font-size: 1rem; line-height: 1.05; font-weight: 900; letter-spacing: .12em; color: #8fe8ff; text-shadow: 0 0 14px rgba(80,210,240,.55); }
#wl-v-arena .arx-stars.big { font-size: .58rem; }
#wl-v-arena .arx-rank-line { font-size: .46rem; color: #cfe0e8; }
#wl-v-arena .arx-rank-line b { color: #ffd76a; font-size: .54rem; }
#wl-v-arena .arx-season { flex: 0 0 18px; text-align: center; font-size: .36rem; color: #8fa8b8; }
#wl-v-arena .arx-season b { color: #8fe8ff; }

/* flag */
#wl-v-arena .arx-flag, .arx-flag { position: relative; width: 104px; height: 138px; flex: 0 0 104px; }
#wl-v-arena .arx-flag.small, .arx-flag.small { width: 86px; height: 116px; flex-basis: 86px; }
#wl-v-arena .arx-flag-cloth, .arx-flag-cloth { position: absolute; left: 0; top: 0; width: 82px; height: 112px; clip-path: polygon(0 0,100% 0,82% 12%,100% 24%,82% 36%,100% 48%,82% 60%,100% 72%,82% 84%,100% 100%,0 100%); background: linear-gradient(180deg,#f0d07a,#7a4f10); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; padding: 4px 6px; }
#wl-v-arena .arx-flag.small .arx-flag-cloth, .arx-flag.small .arx-flag-cloth { width: 68px; height: 92px; }
#wl-v-arena .arx-flag-cloth::before, .arx-flag-cloth::before { content: ''; position: absolute; inset: 3px; clip-path: polygon(0 0,100% 0,82% 12%,100% 24%,82% 36%,100% 48%,82% 60%,100% 72%,82% 84%,100% 100%,0 100%); background: radial-gradient(circle at 50% 30%,#1d5a70,#061018 75%); }
#wl-v-arena .arx-flag-cloth > *, .arx-flag-cloth > * { position: relative; z-index: 1; }
#wl-v-arena .arx-flag-tier, .arx-flag-tier { font-size: .32rem; font-weight: 900; letter-spacing: .08em; color: #ffe8a8; text-align: center; }
#wl-v-arena .arx-flag-totem, .arx-flag-totem { font-size: 2.1rem; line-height: 1.05; filter: drop-shadow(0 2px 6px rgba(0,0,0,.75)); }
#wl-v-arena .arx-flag.small .arx-flag-totem, .arx-flag.small .arx-flag-totem { font-size: 1.6rem; }
#wl-v-arena .arx-flag-cn, .arx-flag-cn { font-size: .3rem; color: #d8f4ff; text-align: center; }
#wl-v-arena .arx-flag-pole, .arx-flag-pole { position: absolute; right: 14px; top: 0; bottom: 4px; width: 5px; border-radius: 3px; background: linear-gradient(90deg,#5a3a0a,#f0d07a,#7a4f10); box-shadow: 0 0 8px rgba(255,200,90,.25); }

/* right board bar */
#wl-v-arena .arx-home-right { min-width: 0; display: flex; }
#wl-v-arena .arx-boardbar { flex: 1 1 auto; display: grid; grid-template-columns: 1fr 1fr; min-width: 0; border: 1px solid #24505c; border-radius: 8px; background: linear-gradient(180deg,rgba(10,28,34,.9),rgba(3,9,12,.94)); overflow: hidden; }
#wl-v-arena .arx-bcol { min-width: 0; display: flex; flex-direction: column; }
#wl-v-arena .arx-bcol + .arx-bcol { border-left: 1px solid rgba(90,180,200,.22); }
#wl-v-arena .arx-bcol-h { flex: 0 0 18px; display: flex; align-items: center; justify-content: center; font-size: .32rem; font-weight: 900; letter-spacing: .08em; color: #061018; background: linear-gradient(180deg,#8fe8ff,#3a9ab8); }
#wl-v-arena .arx-bcol:nth-child(2) .arx-bcol-h { background: linear-gradient(180deg,#ffd76a,#c98a22); }
#wl-v-arena .arx-bcol-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: 2px; padding: 2px; }
#wl-v-arena .arx-mini-row { display: flex; align-items: center; gap: 3px; padding: 2px 3px; border-radius: 3px; border: 1px solid rgba(70,140,160,.12); background: rgba(0,0,0,.2); min-width: 0; }
#wl-v-arena .arx-mini-row.me { border-color: #c99a2e; background: rgba(255,190,70,.08); }
#wl-v-arena .arx-mini-rk { width: 12px; flex: 0 0 12px; text-align: center; font-size: .28rem; color: #7fe6ff; }
#wl-v-arena .arx-mini-av { width: 24px; height: 24px; flex: 0 0 24px; border-radius: 4px; border: 1px solid #3f6a72; overflow: hidden; }
#wl-v-arena .arx-mini-av img, #wl-v-arena .arx-mini-av .hs3-em { max-width: 100%; max-height: 100%; font-size: 1rem; }
#wl-v-arena .arx-mini-bd { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; line-height: 1.1; }
#wl-v-arena .arx-mini-bd b { font-size: .28rem; color: #e8f4f6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#wl-v-arena .arx-mini-bd em { font-style: normal; font-size: .22rem; color: #8fa8b8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#wl-v-arena .arx-mini-sc { flex: 0 0 auto; font-size: .26rem; color: #ffd76a; }

/* match modal */
.wl-mod-box.arx-match-box { width: min(94vw, 980px); max-width: min(94vw, 980px); height: min(82vh, 340px); max-height: 82vh; padding: 4px 8px 8px; background: linear-gradient(160deg,#0a1a22,#03080b 65%); border: 1px solid #2f6a7a; }
.arx-match-wrap { display: flex; gap: 10px; height: 100%; min-height: 0; }
.arx-match-left { flex: 0 0 25%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; border-right: 1px solid rgba(90,180,200,.18); padding-right: 8px; }
.arx-match-tier { font-size: .72rem; font-weight: 900; letter-spacing: .1em; color: #8fe8ff; }
.arx-match-line { font-size: .38rem; color: #cfe0e8; }
.arx-match-line b { color: #ffd76a; }
.arx-match-right { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.arx-match-title { display: flex; justify-content: space-between; font-size: .44rem; font-weight: 900; color: #8fe8ff; }
.arx-match-title span { font-size: .32rem; color: #8fa8b8; font-weight: 400; }
.arx-ops { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; gap: 4px; overflow-y: auto; }
.arx-op-card { position: relative; display: flex; align-items: center; gap: 7px; padding: 5px 8px; border: 1px solid rgba(90,180,200,.28); background: linear-gradient(90deg,rgba(12,36,44,.92),rgba(4,12,16,.92)); clip-path: polygon(0 0,100% 0,100% 100%,16px 100%,0 calc(100% - 16px)); }
.arx-op-card::after { content: ''; position: absolute; right: 0; top: 0; width: 4px; height: 100%; background: linear-gradient(180deg,#8fe8ff,transparent); opacity: .6; }
.arx-op-rk { width: 16px; text-align: center; font-size: .36rem; color: #7fe6ff; }
.arx-op-av { width: 46px; height: 46px; flex: 0 0 46px; border-radius: 5px; border: 1px solid #3f6a72; overflow: hidden; background: radial-gradient(circle at 50% 30%,#2a2418,#080a07); }
.arx-op-av img, .arx-op-av .hs3-em { max-width: 100%; max-height: 100%; object-fit: contain; font-size: 1.6rem; }
.arx-op-bd { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; line-height: 1.15; }
.arx-op-bd b { font-size: .42rem; color: #e8f4f6; }
.arx-op-bd b .rev { font-style: normal; color: #ffb04d; font-size: .28rem; }
.arx-op-bd em { font-style: normal; font-size: .3rem; color: #8fa8b8; }
.arx-op-bd i { font-style: normal; font-size: .28rem; color: #ffd76a; }
.arx-op-go { padding: 4px 14px; border: 1px solid #8fe8c0; border-radius: 4px; background: linear-gradient(180deg,#5fe0a0,#1f8a58); color: #04150c; font-size: .42rem; font-weight: 900; cursor: pointer; clip-path: polygon(8% 0,100% 0,92% 100%,0 100%); }
.arx-match-foot { display: flex; justify-content: space-between; align-items: center; }
.arx-free { padding: 3px 10px; border: 1px solid #58d6ff; border-radius: 4px; background: rgba(40,150,190,.18); color: #bfe8ff; font-size: .36rem; }
.arx-match-foot button:last-child { padding: 3px 10px; border: 1px solid #3f5a52; border-radius: 4px; background: rgba(0,0,0,.25); color: #9fb088; font-size: .36rem; }

/* VS modal */
.wl-mod-box.arx-vs-box { width: min(94vw, 1000px); max-width: min(94vw, 1000px); height: min(90vh, 410px); max-height: 90vh; padding: 4px 8px 6px; background: linear-gradient(160deg,#08141c,#03070a 60%,#0a1114); border: 1px solid #2f6a7a; }
.arx-vs { height: 100%; display: flex; flex-direction: column; gap: 4px; }
.arx-vs-top { flex: 0 0 22px; display: flex; align-items: center; justify-content: space-between; font-size: .4rem; color: #8fa8b8; }
.arx-vs-top b { color: #ffd76a; }
.arx-vs-title { font-size: .52rem; font-weight: 900; color: #8fe8ff; letter-spacing: .12em; }
.arx-vs-stage { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: 1fr 88px 1fr; align-items: end; gap: 4px; }
.arx-vs-side { min-width: 0; display: flex; flex-direction: column; justify-content: flex-end; gap: 2px; height: 100%; }
.arx-vs-label { flex: 0 0 auto; text-align: center; font-size: .3rem; color: #8fa8b8; letter-spacing: .08em; }
.arx-vs-grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(2, 1fr); gap: 5px; align-content: end; }
.arx-vs-unit { min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; padding: 3px 2px; border-radius: 6px; border: 1px solid #2f5a68; background: linear-gradient(180deg,rgba(20,50,60,.85),rgba(4,12,16,.92)); overflow: hidden; }
.arx-vs-side.foe .arx-vs-unit { border-color: #6a3f3f; background: linear-gradient(180deg,rgba(52,18,18,.8),rgba(16,4,4,.94)); }
.arx-vs-unit.empty { border-style: dashed; color: #5f7a80; font-size: .3rem; }
.arx-vs-av { width: 48px; height: 48px; border-radius: 5px; overflow: hidden; border: 1px solid rgba(140,220,240,.25); }
.arx-vs-av img, .arx-vs-av .hs3-em { max-width: 100%; max-height: 100%; object-fit: contain; font-size: 1.9rem; }
.arx-vs-unit b { max-width: 100%; font-size: .32rem; font-weight: 700; color: #e8f4f6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.arx-vs-unit em { font-style: normal; font-size: .26rem; color: #8fa8b8; }
.arx-vs-center { align-self: center; font-size: 2rem; font-weight: 900; text-align: center; color: #ffd76a; text-shadow: 0 0 20px rgba(255,190,70,.75), 0 0 46px rgba(255,80,80,.35); font-style: italic; letter-spacing: .02em; }
.arx-vs-roster { flex: 0 0 62px; min-height: 0; border-top: 1px solid rgba(90,180,200,.16); padding-top: 2px; }
.arx-vs-roster-h { font-size: .3rem; color: #8fa8b8; }
.arx-roster-list { display: flex; gap: 3px; overflow-x: auto; overflow-y: hidden; padding: 2px 0; }
.arx-roster { flex: 0 0 44px; width: 44px; display: flex; flex-direction: column; align-items: center; gap: 0; padding: 1px; border: 1px solid #2f5a68; border-radius: 4px; background: rgba(0,0,0,.2); color: #cfe0e8; cursor: pointer; }
.arx-roster-av { width: 34px; height: 34px; border-radius: 3px; overflow: hidden; }
.arx-roster-av img, .arx-roster-av .hs3-em { max-width: 100%; max-height: 100%; font-size: 1.3rem; }
.arx-roster b { max-width: 100%; font-size: .24rem; font-weight: 400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.arx-vs-foot { flex: 0 0 28px; display: flex; align-items: center; gap: 6px; justify-content: flex-end; font-size: .32rem; color: #8fa8b8; }
.arx-vs-foot > span { margin-right: auto; }
.arx-vs-foot button { padding: 3px 12px; border-radius: 4px; border: 1px solid #3f5a52; background: rgba(0,0,0,.25); color: #9fb088; font-size: .38rem; }
.arx-vs-foot .arx-fight { border-color: #d07aff; background: linear-gradient(180deg,#b45cff,#5a1a8a); color: #fff; box-shadow: 0 0 16px rgba(170,80,255,.4); }

/* reports */
.wl-mod-box.arx-report-box { width: min(84vw, 620px); max-width: min(84vw, 620px); }
.arx-reports { display: flex; flex-direction: column; gap: 4px; }
.arx-report-tabs { display: flex; gap: 4px; }
.arx-report-tabs button { padding: 2px 10px; border: 1px solid #2f5a68; border-radius: 4px; background: rgba(0,0,0,.2); color: #8fa8b8; font-size: .36rem; }
.arx-report-tabs button.on { background: #8fe8ff; color: #061018; border-color: #c8f6ff; }
.arx-report-row { display: flex; align-items: center; gap: 6px; padding: 4px 6px; border: 1px solid rgba(70,140,160,.2); border-radius: 4px; background: rgba(0,0,0,.2); font-size: .36rem; }
.arx-report-t { width: 76px; color: #8fa8b8; }
.arx-report-opp { flex: 1 1 auto; min-width: 0; color: #e8f4f6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.arx-report-res { font-size: .32rem; }
.arx-report-res.win { color: #8fe8c0; }
.arx-report-res.lose { color: #ff9a9a; }
.arx-report-play { padding: 1px 8px; border: 1px solid #ffd76a; border-radius: 3px; background: rgba(255,200,80,.12); color: #ffd76a; font-size: .3rem; }
.arx-report-no { color: #6f8a90; font-size: .28rem; }

@media (max-width: 700px) {
  #wl-v-arena .arx-home { grid-template-columns: minmax(0, 22%) minmax(0, 1fr) minmax(0, 33%); }
  #wl-v-arena .arx-user-hex { width: 70px; height: 80px; }
  #wl-v-arena .arx-user-av { width: 44px; height: 44px; }
  #wl-v-arena .arx-user-em { font-size: 1.6rem; }
  #wl-v-arena .arx-flag, .arx-flag { width: 82px; height: 112px; flex-basis: 82px; }
  #wl-v-arena .arx-flag-cloth, .arx-flag-cloth { width: 66px; height: 92px; }
  #wl-v-arena .arx-flag-totem, .arx-flag-totem { font-size: 1.6rem; }
  #wl-v-arena .arx-tier-en { font-size: .78rem; }
  #wl-v-arena .arx-rank-line { font-size: .38rem; }
  #wl-v-arena .arx-mini-av { width: 20px; height: 20px; flex-basis: 20px; }
  #wl-v-arena .arx-mini-bd b { font-size: .24rem; }
  #wl-v-arena .arx-mini-bd em { font-size: .2rem; }
  .arx-op-av { width: 38px; height: 38px; flex-basis: 38px; }
  .arx-vs-av { width: 38px; height: 38px; }
  .arx-vs-center { font-size: 1.4rem; }
  .arx-vs-grid { gap: 3px; }
  .arx-vs-unit b { font-size: .26rem; }
  .arx-vs-unit em { font-size: .22rem; }
}

/* V1.61.32 VS/缺角增强 */
.arx-vs-stage{grid-template-columns:1fr 100px 1fr !important;}
.arx-vs-side.solo .arx-vs-grid{grid-template-rows:1fr !important;align-content:center !important;}
.arx-vs-side.solo .arx-vs-unit{border-color:#8a5a5a;box-shadow:0 0 14px rgba(255,90,90,.12),inset 0 0 16px rgba(120,20,20,.12);}
.arx-vs-av{width:58px !important;height:58px !important;}
.arx-vs-av img,.arx-vs-av .hs3-em{font-size:2.2rem !important;}
.arx-vs-center{font-size:2.4rem !important;}
.arx-vs-unit{padding:4px 3px !important;}
.arx-vs-unit b{font-size:.36rem !important;}
.arx-op-card{clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px) !important;padding-left:12px !important;}
.arx-op-go{clip-path:polygon(10% 0,100% 0,90% 100%,0 100%) !important;}
@media(max-width:700px){.arx-vs-stage{grid-template-columns:1fr 74px 1fr !important;}.arx-vs-av{width:44px !important;height:44px !important;}.arx-vs-center{font-size:1.8rem !important;}}

.arx-vs-grid{grid-template-columns:repeat(3,minmax(0,82px)) !important;justify-content:center !important;gap:7px !important;}
.arx-vs-unit{width:82px !important;justify-self:center;}
.arx-vs-side.solo .arx-vs-grid{grid-template-columns:repeat(3,minmax(0,82px)) !important;align-content:center !important;}
.arx-vs-side.solo .arx-vs-unit{height:92px;}
.arx-vs-center{font-size:2.6rem !important;}
@media(max-width:700px){.arx-vs-grid{grid-template-columns:repeat(3,minmax(0,68px)) !important;gap:5px !important;}.arx-vs-unit{width:68px !important;}.arx-vs-side.solo .arx-vs-unit{height:78px;}}

/* =====================================================================
 * V1.61.33 · 全站字号 / 竞技场动效 / 结算全屏 / 匹配卡紧凑 / VS 底部上阵
 * ===================================================================== */
html { font-size: 22px !important; }

/* 竞技场入场与氛围 */
#wl-v-arena .arx-view { animation: arxPageIn .45s cubic-bezier(.2,.9,.3,1) both; position: relative; }
@keyframes arxPageIn { from { opacity: 0; transform: translateY(8px) scale(.995); } to { opacity: 1; transform: none; } }
#wl-v-arena .arx-view::before {
  content: ''; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background: repeating-linear-gradient(0deg, rgba(120,230,255,.028) 0 1px, transparent 1px 4px);
  mix-blend-mode: screen; opacity: .5;
  animation: arxScan 9s linear infinite;
}
@keyframes arxScan { from { background-position: 0 0; } to { background-position: 0 120px; } }
#wl-v-arena .arx-top, #wl-v-arena .arx-home, #wl-v-arena .arx-bottom { position: relative; z-index: 1; }
#wl-v-arena .arx-rank-card { position: relative; overflow: hidden; }
#wl-v-arena .arx-rank-card::after {
  content: ''; position: absolute; top: -40%; bottom: -40%; width: 45%;
  left: -60%; background: linear-gradient(100deg, transparent, rgba(160,240,255,.14), transparent);
  transform: skewX(-18deg); animation: arxSweep 4.8s ease-in-out infinite;
}
@keyframes arxSweep { 0%, 55% { left: -65%; } 80%, 100% { left: 120%; } }
#wl-v-arena .arx-flag-cloth { filter: drop-shadow(0 0 10px rgba(255,200,90,.18)); animation: arxFlagGlow 3.6s ease-in-out infinite; }
@keyframes arxFlagGlow { 0%,100% { filter: drop-shadow(0 0 8px rgba(255,200,90,.16)); } 50% { filter: drop-shadow(0 0 18px rgba(255,210,110,.42)); } }
#wl-v-arena .arx-boardbar { animation: arxBoardPulse 4s ease-in-out infinite; }
@keyframes arxBoardPulse { 0%,100% { box-shadow: inset 0 0 20px rgba(0,0,0,.4), 0 0 10px rgba(40,160,190,.05); } 50% { box-shadow: inset 0 0 20px rgba(0,0,0,.4), 0 0 18px rgba(40,160,190,.16); } }
#wl-v-arena .arx-match-btn { animation: arxMatchPulse 1.9s ease-in-out infinite; }
@keyframes arxMatchPulse { 0%,100% { box-shadow: 0 0 14px rgba(80,210,240,.35), inset 0 1px 0 rgba(255,255,255,.5); } 50% { box-shadow: 0 0 26px rgba(80,210,240,.75), 0 0 42px rgba(80,210,240,.22), inset 0 1px 0 rgba(255,255,255,.6); } }
#wl-v-arena .arx-mini-row { transition: background .15s, border-color .15s, transform .15s; }
#wl-v-arena .arx-mini-row:hover { background: rgba(80,200,230,.10); border-color: rgba(120,220,240,.4); transform: translateX(2px); }

/* 匹配卡：缩小、居中、内容占满 */
.arx-ops { align-items: center; }
.arx-op-card {
  width: min(100%, 430px) !important;
  min-height: 58px;
  margin: 0 auto;
  padding: 5px 10px 5px 12px !important;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
  animation: arxOpIn .32s cubic-bezier(.2,.9,.3,1) both;
}
.arx-op-card:nth-child(2) { animation-delay: .06s; }
.arx-op-card:nth-child(3) { animation-delay: .12s; }
@keyframes arxOpIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.arx-op-card:hover { transform: translateX(3px); border-color: #8fe8ff; box-shadow: 0 0 16px rgba(80,200,230,.18); }
.arx-op-bd { flex: 1 1 auto; }
.arx-op-go { margin-left: 4px; flex: 0 0 auto; }

/* VS：上阵替补放最底 */
.arx-vs { display: flex !important; flex-direction: column; }
.arx-vs-stage { order: 1; }
.arx-vs-foot { order: 2; }
.arx-vs-roster { order: 3; flex: 0 0 60px !important; }
.arx-vs-unit { animation: arxUnitIn .38s cubic-bezier(.2,1.2,.3,1) both; }
.arx-vs-grid .arx-vs-unit:nth-child(2) { animation-delay: .04s; }
.arx-vs-grid .arx-vs-unit:nth-child(3) { animation-delay: .08s; }
.arx-vs-grid .arx-vs-unit:nth-child(4) { animation-delay: .12s; }
.arx-vs-grid .arx-vs-unit:nth-child(5) { animation-delay: .16s; }
.arx-vs-grid .arx-vs-unit:nth-child(6) { animation-delay: .20s; }
@keyframes arxUnitIn { from { opacity: 0; transform: translateY(12px) scale(.92); } to { opacity: 1; transform: none; } }
.arx-vs-center { animation: arxVsPulse 1.6s ease-in-out infinite; }
@keyframes arxVsPulse { 0%,100% { transform: scale(1); text-shadow: 0 0 18px rgba(255,190,70,.7), 0 0 44px rgba(255,80,80,.3); } 50% { transform: scale(1.06); text-shadow: 0 0 28px rgba(255,220,120,.95), 0 0 70px rgba(255,80,80,.45); } }
.arx-vs-side { position: relative; }
.arx-vs-side::before { content: ''; position: absolute; inset: 8% 2%; border-radius: 12px; background: radial-gradient(circle at 50% 60%, rgba(40,150,190,.18), transparent 65%); pointer-events: none; }
.arx-vs-side.foe::before { background: radial-gradient(circle at 50% 60%, rgba(190,50,50,.18), transparent 65%); }

/* 竞技场结算全屏 */
.arx-result {
  position: fixed; inset: 0; z-index: 900; display: flex; align-items: center; justify-content: center;
  background: radial-gradient(70% 60% at 50% 40%, rgba(20,90,120,.28), transparent 70%), linear-gradient(180deg,#02080c,#010406);
  background-size: cover; background-position: center; background-repeat: no-repeat;
  opacity: 0; transition: opacity .28s ease; overflow: hidden;
}
.arx-result.show { opacity: 1; }
.arx-result::before { content: ''; position: absolute; inset: 0; background: radial-gradient(60% 60% at 50% 50%, transparent 20%, rgba(0,0,0,.55) 100%); pointer-events: none; }
.arx-result-rays { position: absolute; left: 50%; top: 50%; width: 160vmax; height: 160vmax; transform: translate(-50%,-50%); background: conic-gradient(from 0deg, rgba(255,215,106,.10) 0 6deg, transparent 6deg 22deg, rgba(255,215,106,.07) 22deg 26deg, transparent 26deg 48deg); opacity: .55; animation: arxRays 18s linear infinite; pointer-events: none; }
@keyframes arxRays { to { transform: translate(-50%,-50%) rotate(360deg); } }
.arx-result-box { position: relative; z-index: 2; text-align: center; padding: 12px 22px 18px; transform: scale(.72) translateY(16px); opacity: 0; animation: arxResultIn .58s cubic-bezier(.18,1.35,.35,1) .05s forwards; }
@keyframes arxResultIn { to { transform: none; opacity: 1; } }
.arx-result-kicker { font-size: .5rem; letter-spacing: .55em; color: #8fe8ff; opacity: .85; }
.arx-result-title { font-size: 4.2rem; line-height: .95; font-weight: 900; letter-spacing: .06em; margin: 2px 0 0; }
.arx-result.win .arx-result-title { background: linear-gradient(180deg,#fff8d8 5%,#ffd76a 48%,#d98a1f 95%); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 0 18px rgba(255,200,80,.85)) drop-shadow(0 0 44px rgba(255,90,40,.35)); }
.arx-result.lose .arx-result-title { background: linear-gradient(180deg,#ffe0e0 5%,#ff6a6a 45%,#8a0e18 95%); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 0 18px rgba(255,70,70,.75)) drop-shadow(0 0 44px rgba(120,0,0,.4)); }
.arx-result-sub { font-size: .72rem; letter-spacing: .3em; color: #ffe9b0; margin-top: 2px; }
.arx-result-stats { display: inline-block; margin-top: 10px; padding: 5px 14px; border-radius: 999px; border: 1px solid rgba(255,215,106,.28); background: rgba(0,0,0,.4); font-size: .52rem; color: #cfe0e8; }
.arx-result-stats b { color: #ffd76a; }
.arx-result-btns { display: flex; justify-content: center; gap: 10px; margin-top: 12px; }
.arx-rbtn { padding: 6px 22px; border-radius: 4px; border: 1px solid #3f5a52; background: rgba(0,0,0,.35); color: #cfe0c8; font-size: .48rem; font-weight: 900; cursor: pointer; clip-path: polygon(8% 0,100% 0,92% 100%,0 100%); }
.arx-rbtn.arena { border-color: #c8f6ff; background: linear-gradient(180deg,#8fe8ff,#2a8aa8); color: #041015; box-shadow: 0 0 18px rgba(80,210,240,.4); }
.arx-rbtn:active { transform: scale(.96); }
.arx-result.win .arx-result-title { animation: arxResultWin 2.2s ease-in-out .6s infinite; }
@keyframes arxResultWin { 0%,100% { filter: drop-shadow(0 0 18px rgba(255,200,80,.85)) drop-shadow(0 0 44px rgba(255,90,40,.35)); } 50% { filter: drop-shadow(0 0 30px rgba(255,230,140,1)) drop-shadow(0 0 70px rgba(255,90,40,.55)); } }

@media (max-width: 700px) {
  .arx-result-title { font-size: 3rem; }
  .arx-result-sub { font-size: .62rem; }
  .arx-op-card { min-height: 54px; }
}

/* =====================================================================
 * V1.61.34 全局战斗结算 / 战斗HUD / 竞技场榜单 / 每日弹窗
 * ===================================================================== */
/* 全局战斗结算内容 */
.arx-result-content .wl-result { text-align: center; }
.arx-result-content .wl-result .wl-vic { font-size: 4.2rem !important; }
.arx-result-content .wl-result .big { font-size: 2.6rem !important; margin: 4px 0; }
.arx-result-content .wl-result .big.win { color: #ffe08a; text-shadow: 0 0 18px rgba(255,190,70,.7); }
.arx-result-content .wl-result .big.lose { color: #ff9a9a; text-shadow: 0 0 18px rgba(255,60,60,.6); }
.arx-result-content .wl-result .wl-sec-d { font-size: .62rem; color: #cfe0e8; margin-top: 5px; }
.arx-result-content .wl-result .wl-lvup { font-size: .6rem; color: #8fe8ff; margin-top: 5px; }
.arx-result-content .wl-result .wl-row { margin-top: 14px; }
.arx-result-content .wl-result .wl-btn { font-size: .52rem; padding: 5px 16px; }
.arx-result-box .arx-result-kicker { margin-bottom: 4px; }

/* 战斗单位 HUD：BUFF 在血条上方，能量在血条两侧，怒气在血条下方 */
#wl-v-battle .wl2-unit .u-top { gap: 2px; }
#wl-v-battle .wl2-unit .u-mid { gap: 1px; padding: 1px 2px; }
#wl-v-battle .wl2-unit .u-hp { width: 60px !important; height: 5px !important; }
#wl-v-battle .wl2-unit .u-rg { width: 60px !important; height: 4px !important; }
#wl-v-battle .wl2-unit .u-en { font-size: .46rem !important; padding: 0 2px !important; border-radius: 4px !important; line-height: 1.15 !important; }
#wl-v-battle .wl2-unit .u-stk {
  top: -13px !important;
  max-width: 106px;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1px !important;
  min-height: 0 !important;
  padding-bottom: 1px;
  z-index: 8 !important;
}
#wl-v-battle .wl2-unit .u-stk-i {
  font-size: .3rem !important;
  line-height: 1.05 !important;
  padding: 0 1px !important;
  border-radius: 2px !important;
  background: rgba(6,10,16,.72) !important;
  border-color: rgba(120,180,220,.35) !important;
}
#wl-v-battle .wl2-unit .u-stk-i b { font-size: .24rem !important; margin-left: 0 !important; }
#wl-v-battle .wl2-unit .u-stk:empty { display: none !important; }
#wl-v-battle .wl2-unit .u-hpp { font-size: clamp(.3rem, 1.4vw, .38rem) !important; }

/* 竞技场双榜：3 行、头像/文字加大 */
#wl-v-arena .arx-bcol-h { font-size: .38rem; height: 20px; flex-basis: 20px; }
#wl-v-arena .arx-mini-row { padding: 3px 4px; gap: 4px; }
#wl-v-arena .arx-mini-av { width: 32px !important; height: 32px !important; flex-basis: 32px !important; }
#wl-v-arena .arx-mini-av img, #wl-v-arena .arx-mini-av .hs3-em { font-size: 1.35rem; }
#wl-v-arena .arx-mini-bd b { font-size: .42rem !important; }
#wl-v-arena .arx-mini-bd em { font-size: .32rem !important; color: #b9c8c8; }
#wl-v-arena .arx-mini-sc { font-size: .4rem !important; }

/* 匹配：卡片更饱满、内容放大、垂直居中 */
.arx-ops { justify-content: center; }
.arx-op-card { width: min(100%, 500px) !important; min-height: 70px !important; padding: 6px 10px 6px 14px !important; }
.arx-op-av { width: 54px !important; height: 54px !important; flex-basis: 54px !important; }
.arx-op-av img, .arx-op-av .hs3-em { font-size: 1.9rem; }
.arx-op-bd b { font-size: .5rem !important; }
.arx-op-bd em { font-size: .34rem !important; }
.arx-op-bd i { font-size: .32rem !important; }
.arx-op-go { font-size: .46rem !important; padding: 5px 16px !important; }
.arx-match-left { flex-basis: 27% !important; }

/* 每日任务弹窗缩小：8/10 边距，宽度更收 */
.wl-mod-box.evd-box { width: min(80vw, 660px) !important; max-width: min(80vw, 660px) !important; max-height: 74vh !important; padding: 8px 10px 10px !important; }
.wl-mod-box.evd-box .evd-list { max-height: 150px; }

#wl-v-battle.bat3.active .wl2-unit .u-top{display:flex !important;}
#wl-v-battle.bat3.active .wl2-unit .u-nm{display:block !important;}

#wl-v-arena .arx-bcol-body{justify-content:space-evenly !important;}
#wl-v-arena .arx-mini-row{padding:6px 4px !important;}
#wl-v-arena .arx-mini-av{width:36px !important;height:36px !important;flex-basis:36px !important;}
#wl-v-arena .arx-mini-bd b{font-size:.46rem !important;}
#wl-v-arena .arx-mini-bd em{font-size:.34rem !important;}
#wl-v-arena .arx-mini-sc{font-size:.42rem !important;}
.arx-ops{justify-content:center !important;gap:8px !important;}
.arx-op-card{min-height:86px !important;width:min(100%,520px) !important;}
.arx-op-av{width:62px !important;height:62px !important;flex-basis:62px !important;}
.arx-op-bd b{font-size:.54rem !important;}
.arx-op-bd em{font-size:.38rem !important;}
.arx-op-pts{flex:0 0 82px;text-align:right;font-size:.34rem;color:#ffd76a;}
.arx-op-pts b{font-size:.4rem;}
.arx-op-go{font-size:.5rem !important;padding:7px 18px !important;}
@media(max-width:700px){#wl-v-arena .arx-mini-av{width:30px !important;height:30px !important;flex-basis:30px !important;}#wl-v-arena .arx-mini-bd b{font-size:.4rem !important;}.arx-op-card{min-height:76px !important;}.arx-op-av{width:52px !important;height:52px !important;flex-basis:52px !important;}}

/* V1.61.34b */
#wl-v-arena .arx-home{grid-template-columns:minmax(0,20%) minmax(0,1fr) minmax(0,37%) !important;}
.arx-result-content .wl-vic{background:linear-gradient(180deg,#fff8d8 5%,#ffd76a 48%,#d98a1f 95%) !important;-webkit-background-clip:text !important;background-clip:text !important;color:transparent !important;filter:drop-shadow(0 0 18px rgba(255,200,80,.85)) drop-shadow(0 0 44px rgba(255,90,40,.35)) !important;}
#wl-v-battle .wl2-unit .u-rg{height:5px !important;background:#4a1a08 !important;border:1px solid rgba(255,150,80,.55) !important;box-shadow:0 0 5px rgba(255,100,40,.28) !important;}
#wl-v-battle .wl2-unit .u-nm{color:#d8e8c8 !important;text-shadow:0 1px 3px #000,0 0 5px rgba(0,0,0,.9) !important;font-size:.58rem !important;}
.wl-mod-box.arx-match-box{height:min(86vh,360px) !important;max-height:86vh !important;}
.arx-op-card{min-height:92px !important;}
.arx-op-av{width:64px !important;height:64px !important;flex-basis:64px !important;}
.arx-op-bd b{font-size:.58rem !important;}
.arx-op-bd em{font-size:.4rem !important;}
.arx-op-pts{font-size:.38rem !important;}
.arx-op-go{font-size:.54rem !important;padding:8px 20px !important;}
.arx-match-left .arx-flag{transform:scale(1.12);transform-origin:center bottom;}
@media(max-width:760px){#wl-v-arena .arx-home{grid-template-columns:minmax(0,22%) minmax(0,1fr) minmax(0,32%) !important;}.arx-op-card{min-height:80px !important;}.arx-op-av{width:50px !important;height:50px !important;flex-basis:50px !important;}}

#wl-v-battle .wl2-unit .u-stk{top:auto !important;bottom:calc(100% + 1px) !important;width:max-content;max-width:110px;}

/* V1.61.35 竞技场段位/赛季/榜单滚动 */
#wl-v-arena .arx-bcol-body{justify-content:flex-start !important;gap:3px !important;overflow-y:auto !important;scrollbar-width:thin;}
#wl-v-arena .arx-mini-row{padding:4px 4px !important;min-height:38px;}
#wl-v-arena .arx-flag{cursor:pointer;transition:filter .18s ease,transform .18s ease;}
#wl-v-arena .arx-flag:hover{filter:brightness(1.15) drop-shadow(0 0 12px rgba(255,200,90,.35));transform:translateY(-1px);}
.arx-season-row{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.34rem;color:#8fa8b8;}
.arx-season-btn{padding:1px 8px;border-radius:3px;border:1px solid #ffd76a;background:rgba(255,200,80,.12);color:#ffd76a;font-size:.32rem;cursor:pointer;}
.arx-tier-pop{text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px;}
.arx-tier-flag{pointer-events:none;transform:scale(1.1);transform-origin:center;margin:2px 0;}
.arx-tier-nm{font-size:.72rem;font-weight:900;color:#ffe08a;}
.arx-tier-sub{font-size:.36rem;color:#8fa8b8;}
.arx-tier-reward{margin-top:4px;font-size:.5rem;color:#cfe0e8;}
.arx-tier-reward b{font-size:1.1rem;color:#8fe8ff;}
.arx-tier-reward span{margin-left:3px;font-size:.34rem;color:#9fb0b8;}
.arx-tier-btns{display:flex;gap:6px;margin-top:6px;}
.arx-season-pop{font-size:.4rem;}
.arx-season-title{text-align:center;font-size:.62rem;font-weight:900;color:#ffe08a;}
.arx-season-note{text-align:center;font-size:.32rem;color:#8fa8b8;margin:2px 0 4px;}
.arx-season-list{display:flex;flex-direction:column;gap:2px;max-height:52vh;overflow-y:auto;}
.arx-season-row2{display:flex;justify-content:space-between;gap:8px;padding:3px 6px;border:1px solid rgba(90,180,200,.18);border-radius:4px;background:rgba(0,0,0,.2);}
.arx-season-rank{color:#cfe0e8;}
.arx-season-rw{color:#ffd76a;}

/* V1.61.35 全屏加载 / 通用领取确认 */
#wl-loading{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:#02070a;opacity:0;pointer-events:none;transition:opacity .25s ease;overflow:hidden;}
#wl-loading.show{opacity:1;pointer-events:auto;}
.wl-loading-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.45) saturate(.85);opacity:0;transition:opacity .32s ease;}
.wl-loading-bg.on{opacity:1;}
#wl-loading::after{content:'';position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 45%, transparent 15%, rgba(0,0,0,.55) 100%),linear-gradient(180deg,rgba(0,8,12,.35),rgba(0,4,8,.72));}
.wl-loading-brand{position:relative;z-index:2;font-size:2rem;font-weight:900;letter-spacing:.18em;color:#e8f8ff;text-shadow:0 0 18px rgba(80,210,240,.75),0 0 50px rgba(40,150,190,.4);animation:wlBrandPulse 2.2s ease-in-out infinite;}
@keyframes wlBrandPulse{0%,100%{opacity:.8;transform:scale(1);}50%{opacity:1;transform:scale(1.03);}}
.wl-loading-spin{position:absolute;right:26px;bottom:24px;z-index:3;width:36px;height:36px;border-radius:50%;border:3px solid rgba(120,220,240,.22);border-top-color:#8fe8ff;border-right-color:#58c8e8;animation:wlSpin .8s linear infinite;box-shadow:0 0 18px rgba(80,210,240,.45);}
.wl-loading-txt{position:absolute;right:70px;bottom:31px;z-index:3;font-size:.4rem;color:#bfe8f0;letter-spacing:.08em;}
@keyframes wlSpin{to{transform:rotate(360deg);}}
#arx-claim{position:fixed;inset:0;z-index:1600;display:flex;align-items:center;justify-content:center;background:rgba(2,8,10,.78);backdrop-filter:blur(5px);opacity:0;transition:opacity .22s ease;}
#arx-claim.show{opacity:1;}
.arx-claim-box{width:min(86vw,560px);max-height:80vh;overflow-y:auto;text-align:center;padding:18px 20px 20px;border:1px solid #c99a2e;border-radius:14px;background:radial-gradient(70% 60% at 50% 0%,rgba(80,60,20,.35),transparent 70%),linear-gradient(165deg,#141a12,#080b07);box-shadow:0 0 0 1px rgba(255,215,106,.18),0 22px 60px rgba(0,0,0,.75),0 0 40px rgba(255,190,70,.16);transform:scale(.86);animation:arxClaimIn .4s cubic-bezier(.2,1.4,.35,1) forwards;}
@keyframes arxClaimIn{to{transform:scale(1);}}
.arx-claim-kicker{font-size:.36rem;letter-spacing:.4em;color:#8fe8ff;}
.arx-claim-title{font-size:.9rem;font-weight:900;color:#ffe08a;letter-spacing:.06em;margin:2px 0 8px;text-shadow:0 0 14px rgba(255,200,80,.4);}
.arx-claim-box .wl-claim-list{gap:10px;padding:4px 0 6px;}
.arx-claim-box .itm-chip{min-width:92px;padding:10px 10px 8px;border-width:2px;border-radius:8px;}
.arx-claim-box .itm-chip b{font-size:1.7rem;line-height:1.1;}
.arx-claim-box .itm-chip i{font-size:.38rem;}
.arx-claim-box .itm-chip u{font-size:.42rem;}
.arx-claim-sub{font-size:.4rem;color:#9fb088;margin-top:4px;}
.arx-claim-ok{margin-top:12px;padding:6px 28px;border-radius:4px;border:1px solid #ffe6b0;background:linear-gradient(180deg,#ffe08a,#b8862a);color:#2a1a03;font-size:.5rem;font-weight:900;cursor:pointer;box-shadow:0 0 18px rgba(255,200,80,.4);}

/* V1.61.35b 后街无缝/战斗HUD */
body.on-alley .wll-alley-page,.wll-alley-page{left:calc(var(--wll-rail-w) + var(--wll-sal,0px)) !important;}
.wll-alley-body{padding-left:8px !important;box-sizing:border-box;}
#wl-v-battle .wl2-unit .u-top{top:0 !important;}
#wl-v-battle .wl2-unit .u-hp{width:40px !important;}
#wl-v-battle .wl2-unit .u-rg{width:40px !important;}
#wl-v-battle .wl2-unit.dead{opacity:.55 !important;filter:grayscale(.55) !important;}

#wl-v-arena .arx-home-right{min-height:0 !important;overflow:hidden;}
#wl-v-arena .arx-boardbar{min-height:0 !important;}
#wl-v-arena .arx-bcol{min-height:0 !important;overflow:hidden;}
#wl-v-arena .arx-bcol-body{padding-bottom:4px;}

/* =====================================================================
 * V1.62.0 英雄酒馆 1:1 改造（像素风）
 * 出售：右侧点英雄 → 左侧待出售；品质统计 + 出售产出
 * 升品：左侧本体/材料 + 确认；右侧选英雄 + 阵营筛选
 * ===================================================================== */
body.on-tavern .wll-top { display: none !important; }
body.on-tavern .wl-app { padding-left: 0 !important; }
body.on-tavern #wl-v-tavern { height: 100dvh !important; height: 100vh !important; }
#wl-v-tavern { background: #080a06; overflow: hidden !important; }
#wl-v-tavern #wl-tavern-body {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  flex: none !important;
}

.wlt-root, .wlt-root * { box-sizing: border-box; }
.wlt-root {
  position: absolute; inset: 0;
  display: flex; flex-direction: column;
  overflow: hidden;
  color: #e8e2cb;
  font-family: "Courier New", "Microsoft YaHei", monospace;
  background: #0a0c07;
  --wlt-line: #6b5832;
  --wlt-line2: #3b3322;
  --wlt-panel: rgba(18, 20, 13, .94);
  --wlt-panel2: rgba(28, 30, 18, .96);
  --wlt-gold: #ffd76a;
  --wlt-amber: #d9a441;
  --wlt-green: #8fd14f;
  --wlt-red: #c05430;
  --wlt-cyan: #7fd4e8;
}
.wlt-bg {
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(120% 80% at 50% 0%, rgba(143,209,79,.10), transparent 60%),
              linear-gradient(180deg, #14170d, #090b07 55%, #0b0d08);
  background-size: cover; background-position: center;
  filter: saturate(.8) brightness(.58);
}
.wlt-bg::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(8,10,6,.82), rgba(8,10,6,.42) 38%, rgba(8,10,6,.68)),
              radial-gradient(60% 60% at 50% 45%, transparent 30%, rgba(0,0,0,.55));
}
.wlt-scan {
  position: absolute; inset: 0; pointer-events: none; z-index: 3;
  background: repeating-linear-gradient(0deg, rgba(0,0,0,.14) 0 1px, transparent 1px 3px);
  opacity: .5; mix-blend-mode: multiply;
}
.wlt-top, .wlt-main { position: relative; z-index: 4; }

/* ---------- 顶栏 ---------- */
.wlt-top {
  flex: 0 0 46px; height: 46px;
  display: flex; align-items: center; gap: 7px;
  padding: 4px 8px;
  background: linear-gradient(180deg, rgba(24,26,16,.98), rgba(12,14,9,.98));
  border-bottom: 2px solid var(--wlt-line);
  box-shadow: 0 3px 0 #000, inset 0 -2px 0 rgba(255,215,106,.08);
  clip-path: polygon(0 6px, 6px 0, calc(100% - 6px) 0, 100% 6px, 100% 100%, 0 100%);
}
.wlt-back {
  flex: 0 0 30px; width: 30px; height: 30px;
  display: flex; align-items: center; justify-content: center;
  padding: 0 0 3px; font-size: 24px; line-height: 1;
  color: #d9d2b8; background: linear-gradient(180deg, #34301f, #1c1b11);
  border: 2px solid #7a6438; cursor: pointer;
  box-shadow: inset 0 0 0 2px #14130c, 0 2px 0 #000;
  clip-path: polygon(0 4px,4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%);
}
.wlt-back:active { transform: translateY(1px); }
.wlt-brand { flex: 0 0 auto; min-width: 78px; line-height: 1.05; padding-left: 2px; }
.wlt-brand b { display: block; font-size: 15px; letter-spacing: 2px; color: var(--wlt-gold); text-shadow: 0 2px 0 #000; }
.wlt-brand i { display: block; font-size: 8px; font-style: normal; letter-spacing: 3px; color: #8a7d5b; }
.wlt-tabs { display: flex; gap: 3px; margin-left: 2px; }
.wlt-tab {
  min-width: 58px; height: 29px; padding: 0 10px;
  color: #948b72; background: linear-gradient(180deg, #24251a, #15160f);
  border: 2px solid #4b4129; cursor: pointer;
  font-size: 13px; font-weight: 800; letter-spacing: 2px;
  box-shadow: inset 0 0 0 2px #0e0e09;
  clip-path: polygon(0 4px,4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%);
}
.wlt-tab.on { color: #10160a; background: linear-gradient(180deg, #b9e26b, #6f9f31); border-color: #d9ff96; box-shadow: inset 0 -3px 0 #3d5c17, 0 0 10px rgba(143,209,79,.22); }
.wlt-top-r { margin-left: auto; display: flex; align-items: center; gap: 5px; }
.wlt-cap { font-size: 9px; color: #9c9278; border: 1px solid #4d4329; padding: 3px 6px; background: rgba(10,12,8,.7); white-space: nowrap; }
.wlt-cap b { color: #e6d9a8; }
.wlt-shards {
  display: flex; align-items: center; gap: 4px; height: 28px; padding: 0 8px;
  background: linear-gradient(180deg, #3a2c10, #201706);
  border: 2px solid #8a6a28; box-shadow: inset 0 0 0 2px #120e05;
}
.wlt-shards i { font-style: normal; font-size: 14px; filter: hue-rotate(10deg) saturate(1.3); }
.wlt-shards b { font-size: 13px; color: var(--wlt-gold); }
.wlt-cart {
  width: 31px; height: 31px; font-size: 16px; line-height: 1;
  background: linear-gradient(180deg, #3e5d26, #223413); border: 2px solid #7ba43e;
  color: #e9ffcf; cursor: pointer; box-shadow: inset 0 0 0 2px #101a09, 0 2px 0 #000;
}
.wlt-cart:active { transform: translateY(1px); }

/* ---------- 主区 ---------- */
.wlt-main {
  flex: 1 1 auto; min-height: 0;
  display: flex; gap: 6px; padding: 6px;
}
.wlt-left, .wlt-right {
  position: relative; min-height: 0;
  background: linear-gradient(180deg, rgba(30,31,19,.96), rgba(13,15,9,.97));
  border: 2px solid var(--wlt-line);
  box-shadow: inset 0 0 0 2px #12130c, 0 3px 0 #000;
  clip-path: polygon(0 7px,7px 0,calc(100% - 7px) 0,100% 7px,100% calc(100% - 7px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 7px));
}
.wlt-left { flex: 0 0 38%; max-width: 365px; min-width: 240px; display: flex; flex-direction: column; padding: 7px; }
.wlt-right {
  flex: 1 1 auto; min-width: 0;
  display: grid; grid-template-columns: minmax(0,1fr) 34px; grid-template-rows: 21px minmax(0,1fr);
  gap: 4px; padding: 6px;
}
.wlt-lhd, .wlt-grid-hd { display: flex; align-items: center; gap: 6px; height: 21px; }
.wlt-lhd b, .wlt-grid-hd b { font-size: 12px; letter-spacing: 1px; color: #e8ddb8; }
.wlt-lhd em, .wlt-grid-hd em { margin-left: auto; font-style: normal; font-size: 9px; color: #8f866b; }
.wlt-grid-hd { grid-column: 1 / -1; }

/* 出售：待出售槽 */
.wlt-tray {
  flex: 1 1 auto; min-height: 72px;
  display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); grid-auto-rows: min-content;
  gap: 4px; padding: 4px;
  background: repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 2px, transparent 2px 8px), rgba(3,4,2,.42);
  border: 2px solid #3d3522; box-shadow: inset 0 0 14px rgba(0,0,0,.75);
  overflow-y: auto; scrollbar-width: thin;
}
.wlt-tray-empty { grid-column: 1 / -1; height: 100%; min-height: 66px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #746b52; font-size: 10px; line-height: 1.8; text-align: center; border: 2px dashed #3b3423; }
.wlt-tray-empty em { font-style: normal; color: #5e5742; font-size: 9px; }
.wlt-slot {
  position: relative; aspect-ratio: 1; padding: 0; cursor: pointer;
  background: #15170e; border: 2px solid var(--rqc, #6b5832);
  box-shadow: inset 0 0 0 2px #080906, 0 0 7px rgba(0,0,0,.7);
  overflow: hidden;
}
.wlt-slot-av, .wlt-slot-av img, .wlt-slot-av .wlt-av-em { display: block; width: 100%; height: 100%; }
.wlt-slot-av img { object-fit: cover; image-rendering: pixelated; }
.wlt-slot-av .wlt-av-em { display: flex; align-items: center; justify-content: center; font-size: 22px; }
.wlt-slot-fac { position: absolute; top: 1px; left: 2px; font-size: 9px; color: #ffe6a0; text-shadow: 0 1px 0 #000, 0 0 4px #000; }
.wlt-slot-x { position: absolute; top: 0; right: 2px; font-size: 12px; color: #ff9a7a; text-shadow: 0 1px 0 #000; }
.wlt-slot:hover { filter: brightness(1.15); }

/* 品质统计 */
.wlt-qrow { display: flex; gap: 3px; margin: 5px 0 3px; }
.wlt-qchip {
  flex: 1 1 0; height: 20px; display: flex; align-items: center; justify-content: center; gap: 3px;
  background: rgba(4,5,3,.55); border: 1px solid #3d3524;
}
.wlt-qchip i { width: 7px; height: 7px; background: var(--qc); box-shadow: 0 0 5px var(--qc); }
.wlt-qchip b { font-size: 9px; color: #c9c0a4; }
.wlt-yield-hd { display: flex; align-items: center; gap: 5px; margin-top: 2px; }
.wlt-yield-hd b { font-size: 10px; color: #bfb38e; letter-spacing: 1px; }
.wlt-yield-hd em { font-style: normal; font-size: 8px; color: #6f6750; }
.wlt-rewards { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 3px; margin: 3px 0 5px; }
.wlt-rw {
  min-width: 0; height: 38px; display: flex; flex-direction: column; align-items: center; justify-content: center;
  background: linear-gradient(180deg, rgba(38,38,22,.85), rgba(12,13,8,.9));
  border: 1px solid #4a3f28; box-shadow: inset 0 0 0 1px #0b0b07;
}
.wlt-rw-ic { font-style: normal; font-size: 13px; line-height: 1; }
.wlt-rw b { font-size: 10px; color: #ffe19a; line-height: 1.15; margin-top: 1px; }
.wlt-rw em { font-style: normal; font-size: 7px; color: #8f8468; line-height: 1.1; white-space: nowrap; }
.wlt-rewards.compact .wlt-rw { height: 34px; }
.wlt-left-btns { display: flex; gap: 5px; margin-top: auto; }
.wlt-btn {
  flex: 1 1 0; height: 34px; padding: 0 8px;
  border: 2px solid #7a6438; color: #eee4c4; cursor: pointer;
  background: linear-gradient(180deg, #403a25, #211f13);
  box-shadow: inset 0 0 0 2px #0b0c07, 0 2px 0 #000;
  font-size: 12px; font-weight: 800; letter-spacing: 1px;
  clip-path: polygon(0 4px,4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%);
}
.wlt-btn:active { transform: translateY(1px); }
.wlt-btn:disabled { opacity: .38; cursor: not-allowed; filter: grayscale(.6); }
.wlt-smart { border-color: #4b8a91; color: #d8ffff; background: linear-gradient(180deg, #2e6d74, #173b40); }
.wlt-sell { border-color: #e08a5d; color: #fff1e5; background: linear-gradient(180deg, #b34f2a, #6f2814); }
.wlt-updo { border-color: #e6c35a; color: #281704; background: linear-gradient(180deg, #f0bd4a, #b87a14); }
.wlt-upinfo { flex: 0 0 38px; max-width: 38px; font-size: 16px; border-color: #7a6438; }

/* ---------- 右侧英雄格 ---------- */
.wlt-grid-wrap { grid-column: 1; grid-row: 2; min-height: 0; overflow-y: auto; overflow-x: hidden; padding: 1px 2px 2px 1px; scrollbar-width: thin; }
.wlt-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 5px; align-content: start; }
.wlt-card {
  position: relative; aspect-ratio: 1; padding: 0; overflow: hidden; cursor: pointer;
  background: linear-gradient(180deg, #24251a, #0e0f09);
  border: 2px solid var(--rqc, #6b5832);
  box-shadow: inset 0 0 0 2px #080906, 0 0 6px rgba(0,0,0,.65);
  clip-path: polygon(0 5px,5px 0,calc(100% - 5px) 0,100% 5px,100% calc(100% - 5px),calc(100% - 5px) 100%,5px 100%,0 calc(100% - 5px));
}
.wlt-card::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, transparent 54%, rgba(0,0,0,.78));
}
.wlt-card-av, .wlt-card-av img, .wlt-card-av .wlt-av-em { display: block; width: 100%; height: 100%; }
.wlt-card-av img { object-fit: cover; object-position: center top; image-rendering: pixelated; }
.wlt-card-av .wlt-av-em { display: flex; align-items: center; justify-content: center; font-size: 30px; }
.wlt-card-fac { position: absolute; top: 2px; left: 3px; z-index: 2; font-size: 10px; color: #ffe6a0; text-shadow: 0 1px 0 #000, 0 0 5px #000; }
.wlt-card-cnt { position: absolute; top: 1px; right: 3px; z-index: 2; min-width: 12px; text-align: right; font-size: 19px; line-height: 1; color: #fff7d6; text-shadow: 0 2px 0 #000, 0 0 5px #000; }
.wlt-card-team { position: absolute; left: 3px; bottom: 15px; z-index: 2; font-size: 7px; padding: 1px 3px; background: #7c2e16; color: #ffe4cc; border: 1px solid #d47a4a; }
.wlt-card-nm { position: absolute; left: 2px; right: 2px; bottom: 1px; z-index: 2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: center; font-size: 9px; color: #e9dfbf; text-shadow: 0 1px 0 #000; }
.wlt-card-check { position: absolute; inset: 0; z-index: 3; display: none; align-items: center; justify-content: center; font-size: 30px; color: #ffe15a; text-shadow: 0 2px 0 #000, 0 0 12px #ffcf3a; background: rgba(30,24,6,.32); }
.wlt-card.sel .wlt-card-check { display: flex; }
.wlt-card.sel { filter: saturate(.75) brightness(.9); }
.wlt-card.up-on { outline: 3px solid #8fd14f; outline-offset: -3px; box-shadow: inset 0 0 18px rgba(143,209,79,.35), 0 0 10px rgba(143,209,79,.45); }
.wlt-card:hover { filter: brightness(1.12); }
.wlt-empty { grid-column: 1 / -1; padding: 26px 8px; text-align: center; color: #7b7258; font-size: 11px; border: 2px dashed #3b3423; }
.wlt-filters { grid-column: 2; grid-row: 2; display: flex; flex-direction: column; gap: 4px; align-items: stretch; overflow-y: auto; scrollbar-width: none; }
.wlt-fbtn { flex: 0 0 28px; height: 28px; padding: 0; display: flex; align-items: center; justify-content: center; cursor: pointer; background: linear-gradient(180deg, #24251a, #11120b); border: 2px solid #4b4129; color: #9f9577; font-size: 8px; box-shadow: inset 0 0 0 2px #0a0b06; }
.wlt-fbtn b { font-size: 12px; font-weight: 700; }
.wlt-fbtn.on { border-color: #d9b44a; color: #ffe49a; background: linear-gradient(180deg, #4a3712, #211706); box-shadow: inset 0 0 0 2px #100c04, 0 0 8px rgba(255,207,90,.3); }

/* 品质色 */
.wlt-root .rq1 { --rqc: #8a9382; }
.wlt-root .rq2 { --rqc: #69b45a; }
.wlt-root .rq3 { --rqc: #4aa8d8; }
.wlt-root .rq4 { --rqc: #b06ee0; }
.wlt-root .rq5 { --rqc: #e0a13c; }
.wlt-root .rq6 { --rqc: #e05a4a; }

/* ---------- 升品左栏 ---------- */
.wlt-up-left { padding: 8px; }
.wlt-up-empty { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; border: 2px dashed #3b3423; color: #7d7459; font-size: 11px; gap: 6px; }
.wlt-up-empty b { color: #cfc39e; font-size: 13px; }
.wlt-up-empty em { font-style: normal; font-size: 9px; color: #6f6750; line-height: 1.7; }
.wlt-up-name { flex: 0 0 auto; display: flex; align-items: center; gap: 5px; height: 22px; padding-bottom: 3px; border-bottom: 1px solid #4b4029; }
.wlt-up-name b { font-size: 14px; color: #ffe6a6; letter-spacing: 1px; }
.wlt-up-name i { margin-left: auto; font-style: normal; font-size: 9px; color: #9a8f72; }
.wlt-up-fac { width: 19px; height: 19px; display: flex; align-items: center; justify-content: center; background: #2b2411; border: 1px solid #7c642c; color: #ffd76a; font-size: 11px; }
.wlt-up-main { flex: 1 1 auto; min-height: 0; display: flex; gap: 6px; padding: 4px 0; }
.wlt-up-art { flex: 1 1 56%; min-width: 0; position: relative; display: flex; align-items: flex-end; justify-content: center; background: radial-gradient(70% 65% at 50% 70%, rgba(143,209,79,.10), transparent 70%), rgba(4,5,3,.35); border: 1px solid #3b3322; overflow: hidden; }
.wlt-art-img { max-width: 100%; max-height: 100%; object-fit: contain; image-rendering: pixelated; filter: drop-shadow(0 6px 4px rgba(0,0,0,.8)); }
.wlt-art-doll { width: 100%; height: 100%; display: flex; align-items: flex-end; justify-content: center; transform: scale(.9); transform-origin: bottom center; }
.wlt-art-em { font-size: 54px; opacity: .8; }
.wlt-up-stars { position: absolute; left: 0; right: 0; bottom: 1px; text-align: center; font-size: 10px; color: #ffd76a; text-shadow: 0 1px 0 #000; background: linear-gradient(180deg, transparent, rgba(0,0,0,.7)); padding-top: 10px; }
.wlt-up-req { flex: 1 1 44%; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.wlt-up-rar { display: flex; align-items: center; justify-content: center; gap: 4px; height: 20px; background: rgba(4,5,3,.4); border: 1px solid #3b3322; }
.wlt-rar-now, .wlt-rar-next { font-size: 9px; padding: 1px 4px; border: 1px solid var(--rqc); color: #f1e7c8; background: #1a160c; }
.wlt-up-rar b { color: #d8c27c; font-size: 10px; }
.wlt-up-rar b.max { color: #8fd14f; font-size: 8px; letter-spacing: 1px; }
.wlt-req-slot { flex: 1 1 0; min-height: 0; display: flex; align-items: center; gap: 4px; padding: 2px 3px; background: rgba(6,7,4,.62); border: 1px solid #4a3f28; box-shadow: inset 0 0 0 1px #0b0b07; }
.wlt-req-slot.ok { border-color: #5e8b2f; }
.wlt-req-av { flex: 0 0 30px; width: 30px; height: 30px; border: 1px solid #6c5a32; background: #15170e; overflow: hidden; }
.wlt-req-av img, .wlt-req-av .wlt-av-em { display: block; width: 100%; height: 100%; object-fit: cover; image-rendering: pixelated; }
.wlt-req-av .wlt-av-em { display: flex; align-items: center; justify-content: center; font-size: 16px; }
.wlt-req-ic { flex: 0 0 30px; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; font-size: 17px; background: #15170e; border: 1px solid #6c5a32; }
.wlt-req-t { min-width: 0; display: flex; flex-direction: column; line-height: 1.15; }
.wlt-req-t b { font-size: 8px; color: #b9ad8b; font-weight: 600; white-space: nowrap; }
.wlt-req-t i { font-style: normal; font-size: 10px; color: #ffe19a; }
.wlt-up-status { flex: 0 0 21px; display: flex; align-items: center; justify-content: center; font-size: 9px; color: #ff9b7a; background: rgba(40,12,8,.5); border: 1px solid #5c2c1e; margin-bottom: 4px; }
.wlt-up-status.ok { color: #b9ed7a; background: rgba(18,40,8,.5); border-color: #486b22; }

/* ---------- 弹窗 / 商店 ---------- */
.wlt-confirm { color: #e8dfc5; font-size: 11px; }
.wlt-confirm-list { line-height: 1.7; color: #d8cda9; max-height: 90px; overflow-y: auto; padding: 4px 2px; border-bottom: 1px solid #4b4029; }
.wlt-confirm-note { color: #978b6c; font-size: 9px; line-height: 1.6; padding: 4px 2px; }
.wlt-confirm-actions { display: flex; gap: 6px; justify-content: center; margin-top: 8px; }
.wlt-confirm-actions .wlt-btn { flex: 0 1 130px; }
.wlt-buy-hero { display: flex; align-items: center; gap: 8px; padding-bottom: 6px; border-bottom: 1px solid #4b4029; }
.wlt-buy-av { flex: 0 0 52px; width: 52px; height: 52px; border: 2px solid #b06ee0; background: #15170e; overflow: hidden; }
.wlt-buy-av img, .wlt-buy-av .wlt-av-em { display: block; width: 100%; height: 100%; object-fit: cover; image-rendering: pixelated; }
.wlt-buy-av .wlt-av-em { display: flex; align-items: center; justify-content: center; font-size: 26px; }
.wlt-buy-hero b { display: block; font-size: 14px; color: #ffe6a6; }
.wlt-buy-hero i { display: block; font-style: normal; font-size: 9px; color: #9a8f72; margin-top: 2px; }
.wlt-buy-price { display: flex; align-items: center; gap: 8px; padding: 7px 2px; }
.wlt-buy-price span { font-size: 9px; color: #978b6c; }
.wlt-buy-price b { font-size: 15px; color: #ffd76a; }
.wlt-buy-price em { margin-left: auto; font-style: normal; font-size: 9px; color: #9a8f72; }

/* 补给商城 → 英雄碎片 */
.wlt-shop-hd { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.wlt-shop-title { font-size: 15px; font-weight: 800; color: #ffe6a6; letter-spacing: 1px; }
.wlt-shop-bal { margin-left: auto; font-size: 10px; color: #9a8f72; border: 1px solid #4b4029; padding: 3px 7px; background: rgba(8,9,5,.55); }
.wlt-shop-bal b { color: #ffd76a; font-size: 13px; }
.wlt-shop-note { font-size: 9px; color: #8f8468; line-height: 1.6; margin-bottom: 7px; }
.wlt-shop-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(108px, 1fr)); gap: 7px; }
.wlt-shop-card {
  position: relative; aspect-ratio: 1; min-height: 0; display: flex; flex-direction: column; align-items: center; padding: 5px 4px 4px;
  background: linear-gradient(180deg, #232418, #0d0e08);
  border: 2px solid var(--rqc, #6b5832); cursor: pointer;
  box-shadow: inset 0 0 0 2px #080906, 0 3px 0 #000;
  clip-path: polygon(0 6px,6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px));
}
.wlt-shop-card:hover { filter: brightness(1.12); }
.wlt-shop-av { width: 54px; height: 54px; border: 2px solid var(--rqc, #6b5832); background: #14160d; overflow: hidden; box-shadow: 0 0 8px rgba(0,0,0,.7); }
.wlt-shop-av img, .wlt-shop-av .wlt-av-em { display: block; width: 100%; height: 100%; object-fit: cover; image-rendering: pixelated; }
.wlt-shop-av .wlt-av-em { display: flex; align-items: center; justify-content: center; font-size: 32px; }
.wlt-shop-fac { position: absolute; top: 7px; left: 8px; font-size: 11px; color: #ffe6a0; text-shadow: 0 1px 0 #000; }
.wlt-shop-own { position: absolute; top: 5px; right: 5px; font-size: 7px; color: #b9ed7a; border: 1px solid #486b22; background: rgba(12,30,6,.8); padding: 1px 3px; }
.wlt-shop-nm { margin-top: 3px; font-size: 10px; font-weight: 800; color: #f0e4be; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.wlt-shop-sub { font-size: 7px; color: #8f8468; margin-top: 1px; }
.wlt-shop-price { margin-top: auto; width: 100%; text-align: center; font-size: 10px; color: #ffe19a; background: linear-gradient(180deg, #3a2c10, #201706); border-top: 1px solid #6b5424; padding: 3px 0; }

@media (max-width: 760px) {
  .wlt-brand { min-width: 0; }
  .wlt-brand i { display: none; }
  .wlt-brand b { font-size: 13px; letter-spacing: 1px; }
  .wlt-left { flex-basis: 37%; min-width: 220px; }
  .wlt-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .wlt-tab { min-width: 50px; padding: 0 7px; font-size: 12px; }
  .wlt-cap { display: none; }
  .wlt-shop-grid { grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); }
}
@media (max-width: 640px) {
  .wlt-left { min-width: 200px; flex-basis: 38%; padding: 6px; }
  .wlt-top { gap: 4px; padding: 4px 5px; }
  .wlt-brand b { font-size: 12px; }
  .wlt-tab { min-width: 44px; font-size: 11px; }
  .wlt-shards { padding: 0 5px; }
  .wlt-shards b { font-size: 11px; }
  .wlt-grid { gap: 4px; grid-template-columns: repeat(3, minmax(0,1fr)); }
  .wlt-card-cnt { font-size: 16px; }
  .wlt-card-nm { font-size: 8px; }
  .wlt-rw em { font-size: 6px; }
  .wlt-req-av, .wlt-req-ic { flex-basis: 25px; width: 25px; height: 25px; }
  .wlt-up-name b { font-size: 12px; }
}
@media (max-height: 350px) {
  .wlt-top { flex-basis: 40px; height: 40px; }
  .wlt-main { padding: 4px; gap: 4px; }
  .wlt-left { padding: 5px; }
  .wlt-rw { height: 32px; }
  .wlt-left-btns .wlt-btn { height: 30px; }
  .wlt-shop-card { min-height: 126px; }
}


/* 补给商城·英雄碎片页：占满整个商城内容区，内部滚动 */
#wl-shop-body > .wlt-shop-sec {
  flex: 1 1 100% !important;
  max-width: none !important;
  width: 100% !important;
  overflow: hidden !important;
}
.wlt-shop-sec { display: flex; flex-direction: column; min-height: 0; }
.wlt-shop-sec .wlt-shop-grid { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding-right: 2px; align-content: start; }

@media (min-width: 1000px) {
  .wlt-grid { grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); }
  .wlt-left { max-width: 380px; }
}

#wl-shop-body > .wlt-shop-sec {
  height: 100% !important;
  max-height: 100% !important;
  min-height: 0 !important;
}

#wl-v-shop #wl-shop-body > .wlt-shop-sec {
  flex: 1 1 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  min-height: 0 !important;
}

.wlt-up-done { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; border: 2px solid #486b22; background: radial-gradient(60% 60% at 50% 45%, rgba(143,209,79,.16), rgba(8,12,5,.75)); color: #b9ed7a; text-align: center; }
.wlt-up-done b { font-size: 12px; letter-spacing: 1px; }
.wlt-up-done em { font-style: normal; font-size: 8px; color: #8fa878; }

/* 酒馆全屏：左右/上下安全区由 root 内边距统一避让，避免刘海遮挡 */
body.on-tavern .wl-app { padding: 0 !important; height: 100dvh !important; }
.wlt-root { padding: var(--wll-sat, 0px) var(--wll-sar, 0px) var(--wll-sab, 0px) var(--wll-sal, 0px); }

/* =====================================================================
 * V1.62.1：酒馆点击区 / 小头像 / 金光升格 / 首页主线卡 / 竞技场像素化 / VS 模糊
 * ===================================================================== */

/* ---------- 酒馆：底部按钮加大命中区 ---------- */
#wl-v-tavern .wlt-left { padding-bottom: 8px; }
#wl-v-tavern .wlt-left-btns {
  flex: 0 0 44px;
  min-height: 42px;
  margin-top: 4px;
  padding: 2px 0 1px;
  position: relative;
  z-index: 8;
  pointer-events: auto;
}
#wl-v-tavern .wlt-left-btns .wlt-btn {
  height: 40px;
  min-height: 40px;
  font-size: 13px;
  line-height: 1.1;
  touch-action: manipulation;
}
#wl-v-tavern .wlt-left-btns .wlt-upinfo { flex: 0 0 42px; max-width: 42px; }
@media (max-height: 350px) {
  #wl-v-tavern .wlt-left-btns { flex-basis: 38px; min-height: 36px; }
  #wl-v-tavern .wlt-left-btns .wlt-btn { height: 34px; min-height: 34px; font-size: 12px; }
}

/* ---------- 酒馆：右侧英雄框更小 ---------- */
#wl-v-tavern .wlt-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; }
#wl-v-tavern .wlt-card-nm { font-size: 8px; }
#wl-v-tavern .wlt-card-cnt { font-size: 16px; }
@media (max-width: 640px) {
  #wl-v-tavern .wlt-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  #wl-v-tavern .wlt-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1000px) {
  #wl-v-tavern .wlt-grid { grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); }
}

/* ---------- 全局金光升格 ---------- */
.wlfx { position: fixed; inset: 0; z-index: 9999; pointer-events: none; overflow: hidden; opacity: 0; transition: opacity .18s ease; }
.wlfx.on { opacity: 1; }
.wlfx.out { opacity: 0; transition: opacity .38s ease; }
.wlfx-veil {
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at var(--fx-cx) var(--fx-cy), rgba(255,226,150,.26), rgba(255,190,70,.12) 18%, transparent 45%),
    radial-gradient(circle at var(--fx-cx) var(--fx-cy), transparent 20%, rgba(255,190,70,.08) 48%, transparent 72%);
  mix-blend-mode: screen;
  animation: wlfxVeil 1.75s ease-in-out both;
}
.wlfx-core {
  position: absolute; left: var(--fx-cx); top: var(--fx-cy);
  width: var(--fx-core-w); height: var(--fx-core-h);
  transform: translate(-50%, -50%) scale(.5);
  background: radial-gradient(ellipse at center, rgba(255,255,240,.98) 0%, rgba(255,241,180,.9) 16%, rgba(255,206,105,.55) 38%, transparent 70%);
  filter: blur(7px); mix-blend-mode: screen; pointer-events: none;
  animation: wlfxCore 1.7s cubic-bezier(.2,.7,.25,1) both;
}
.wlfx-halo {
  position: absolute; left: var(--fx-cx); top: var(--fx-cy);
  width: var(--fx-halo-w); height: var(--fx-halo-h);
  transform: translate(-50%, -50%) scale(.4);
  background: radial-gradient(ellipse at center, rgba(255,248,205,1) 0%, rgba(255,214,120,.92) 22%, rgba(255,170,50,.48) 48%, transparent 74%);
  filter: blur(18px) saturate(1.35);
  mix-blend-mode: screen;
  animation: wlfxHalo 1.8s cubic-bezier(.2,.7,.3,1) both;
}
.wlfx-rays {
  position: absolute; left: var(--fx-cx); top: var(--fx-cy);
  width: 130vmax; height: 130vmax;
  transform: translate(-50%, -50%) rotate(0deg);
  background: conic-gradient(from 0deg, transparent 0 8%, rgba(255,220,130,.20) 9%, transparent 11% 23%, rgba(255,236,170,.16) 24%, transparent 26% 42%, rgba(255,205,90,.18) 43%, transparent 45% 64%, rgba(255,240,180,.14) 65%, transparent 67% 84%, rgba(255,215,110,.18) 85%, transparent 87%);
  mask-image: radial-gradient(circle, transparent 0 14%, #000 28%, #000 58%, transparent 76%);
  -webkit-mask-image: radial-gradient(circle, transparent 0 14%, #000 28%, #000 58%, transparent 76%);
  filter: blur(2px);
  opacity: .8;
  animation: wlfxRays 2.2s linear infinite, wlfxFade 1.8s ease-in-out both;
  mix-blend-mode: screen;
}
.wlfx-ring {
  position: absolute; left: var(--fx-cx); top: var(--fx-cy);
  width: var(--fx-ring-w); height: var(--fx-ring-h);
  transform: translate(-50%, -50%) scale(.65);
  border: 2px solid rgba(255,226,142,.9);
  box-shadow: 0 0 22px rgba(255,204,100,.8), inset 0 0 22px rgba(255,230,160,.4);
  border-radius: 50%;
  opacity: 0;
  animation: wlfxRing 1.55s cubic-bezier(.15,.65,.25,1) both;
}
.wlfx-img {
  position: absolute; left: var(--fx-x); top: var(--fx-y);
  width: var(--fx-w); height: var(--fx-h);
  object-fit: contain;
  image-rendering: pixelated;
  filter: drop-shadow(0 0 10px rgba(255,243,186,.95)) drop-shadow(0 0 32px rgba(255,190,70,.8)) brightness(1.22) saturate(1.08);
  animation: wlfxHero 1.75s cubic-bezier(.2,.7,.25,1) both;
}
.wlfx-doll {
  position: absolute; left: var(--fx-x); top: var(--fx-y);
  width: var(--fx-w); height: var(--fx-h);
  display: flex; align-items: flex-end; justify-content: center;
  filter: drop-shadow(0 0 14px rgba(255,243,186,.9)) drop-shadow(0 0 34px rgba(255,190,70,.7)) brightness(1.18);
  animation: wlfxHero 1.75s cubic-bezier(.2,.7,.25,1) both;
}
.wlfx-doll .wl-dollfig { margin: 0; transform: scale(2.15); transform-origin: bottom center; }
.wlfx-em {
  position: absolute; left: var(--fx-cx); top: var(--fx-cy);
  transform: translate(-50%, -50%);
  font-size: calc(var(--fx-w) * .55);
  filter: drop-shadow(0 0 20px rgba(255,225,140,.95));
  animation: wlfxHero 1.75s cubic-bezier(.2,.7,.25,1) both;
}
.wlfx-sparks { position: absolute; inset: 0; }
.wlfx-sparks i {
  position: absolute; left: var(--fx-cx); top: var(--fx-cy);
  width: var(--sz); height: calc(var(--sz) * 1.8);
  background: linear-gradient(180deg, #fffbe6, #ffd76a 55%, rgba(255,160,40,0));
  border-radius: 50%;
  box-shadow: 0 0 6px rgba(255,229,150,.95);
  transform-origin: 50% 100%;
  animation: wlfxSpark var(--du) ease-out var(--dl) both;
  opacity: 0;
  mix-blend-mode: screen;
}
@keyframes wlfxVeil { 0%{opacity:0} 22%{opacity:.9} 55%{opacity:.72} 100%{opacity:0} }
@keyframes wlfxHalo { 0%{opacity:0; transform:translate(-50%,-50%) scale(.35)} 18%{opacity:1; transform:translate(-50%,-50%) scale(1.02)} 55%{opacity:.9; transform:translate(-50%,-50%) scale(1.10)} 100%{opacity:0; transform:translate(-50%,-50%) scale(1.25)} }
@keyframes wlfxRays { to { transform: translate(-50%,-50%) rotate(360deg); } }
@keyframes wlfxFade { 0%{opacity:0} 20%{opacity:.85} 70%{opacity:.55} 100%{opacity:0} }
@keyframes wlfxRing { 0%{opacity:0; transform:translate(-50%,-50%) scale(.62)} 22%{opacity:1; transform:translate(-50%,-50%) scale(1.0)} 100%{opacity:0; transform:translate(-50%,-50%) scale(1.28)} }
@keyframes wlfxCore { 0%{opacity:0; transform:translate(-50%,-50%) scale(.42)} 18%{opacity:1; transform:translate(-50%,-50%) scale(1.02)} 52%{opacity:.86; transform:translate(-50%,-50%) scale(1.10)} 100%{opacity:0; transform:translate(-50%,-50%) scale(1.24)} }
@keyframes wlfxHero { 0%{filter:drop-shadow(0 0 4px rgba(255,240,180,.3)) brightness(.9); transform:scale(.98)} 20%{filter:drop-shadow(0 0 22px rgba(255,246,200,1)) brightness(1.55) saturate(1.2); transform:scale(1.035)} 60%{filter:drop-shadow(0 0 16px rgba(255,220,130,.9)) brightness(1.18) saturate(1.1); transform:scale(1.01)} 100%{filter:drop-shadow(0 0 8px rgba(255,220,130,.55)) brightness(1); transform:scale(1)} }
@keyframes wlfxSpark { 0%{opacity:0; transform:rotate(var(--a)) translateY(0) scale(.4)} 12%{opacity:1} 100%{opacity:0; transform:rotate(var(--a)) translateY(calc(-1 * var(--d))) scale(1.15)} }

/* ---------- 首页右侧主线任务卡 ---------- */
#wll-mainquest-entry {
  position: relative;
  flex: 0 0 auto;
  display: flex; align-items: center; gap: 7px;
  width: 100%; min-height: 82px; margin: 6px 0 2px;
  padding: 8px 9px; text-align: left; cursor: pointer;
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.022) 0 1px, transparent 1px 3px),
    linear-gradient(135deg, rgba(52,45,20,.97), rgba(16,17,9,.98) 62%);
  border: 2px solid #7b6433;
  box-shadow: inset 0 0 0 2px #0b0c07, 0 3px 0 #000, 0 0 16px rgba(255,205,90,.08);
  color: #e9dfc1;
  clip-path: polygon(0 7px, 7px 0, calc(100% - 7px) 0, 100% 7px, 100% calc(100% - 7px), calc(100% - 7px) 100%, 7px 100%, 0 calc(100% - 7px));
  overflow: hidden;
}
#wll-mainquest-entry::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, rgba(255,215,106,.16), transparent 38%), repeating-linear-gradient(90deg, transparent 0 9px, rgba(255,255,255,.018) 9px 10px);
}
#wll-mainquest-entry.can { border-color: #ffd76a; box-shadow: inset 0 0 0 2px #0b0c07, 0 0 18px rgba(255,205,90,.28), 0 3px 0 #000; }
.wmq-em { flex: 0 0 30px; width: 30px; height: 38px; display: flex; align-items: center; justify-content: center; font-size: 22px; background: #2c240e; border: 2px solid #8a6a28; box-shadow: inset 0 0 0 2px #0d0b05; }
.wmq-body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; position: relative; z-index: 1; }
.wmq-body b { font-size: 13px; letter-spacing: 1px; color: #ffe6a6; }
.wmq-body i { font-style: normal; font-size: 9px; color: #b9ad8b; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wmq-bar { height: 4px; margin-top: 3px; background: #0a0b06; border: 1px solid #4b3f24; overflow: hidden; }
.wmq-bar u { display: block; height: 100%; background: linear-gradient(90deg, #6f9f31, #c7e96a); box-shadow: 0 0 6px rgba(180,235,90,.45); }
.wmq-side { flex: 0 0 56px; display: flex; flex-direction: column; align-items: flex-end; gap: 1px; position: relative; z-index: 1; }
.wmq-side em { font-style: normal; font-size: 8px; color: #8f8468; }
.wmq-side b { font-size: 10px; color: #ffd76a; }
.wmq-side span { font-size: 7px; color: #9a8f72; white-space: nowrap; }
.wmq-arrow { flex: 0 0 10px; font-size: 18px; color: #ffd76a; opacity: .8; }

/* ---------- 竞技场：像素线条 / 更强按钮 ---------- */
#wl-v-arena .arx-view { background:
  linear-gradient(90deg, rgba(60,180,200,.045) 1px, transparent 1px),
  linear-gradient(0deg, rgba(60,180,200,.035) 1px, transparent 1px),
  radial-gradient(120% 80% at 50% 0%, rgba(46,130,150,.16), transparent 58%),
  #060b0e;
  background-size: 26px 26px, 26px 26px, auto, auto;
}
#wl-v-arena .arx-top { border-bottom: 2px solid #3f7d8c; box-shadow: 0 2px 0 #000; }
#wl-v-arena .arx-tab {
  border: 2px solid #3f6f7a; border-radius: 0; background: linear-gradient(180deg,#14252c,#070d10);
  color: #8fb4bd; clip-path: polygon(0 4px,4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%);
  font-weight: 800; letter-spacing: .06em;
}
#wl-v-arena .arx-tab.on { border-color: #9ff2ff; color: #061014; background: linear-gradient(180deg,#b9f4ff,#3c9db4); box-shadow: 0 0 14px rgba(90,220,245,.35); }
#wl-v-arena .arx-panel {
  border: 2px solid #3f7d8c; border-radius: 0;
  background: linear-gradient(180deg, rgba(12,30,36,.97), rgba(4,8,10,.98));
  box-shadow: inset 0 0 0 2px #05090b, 0 0 0 1px #102b32, 0 4px 0 #000;
  clip-path: polygon(0 7px,7px 0,calc(100% - 7px) 0,100% 7px,100% calc(100% - 7px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 7px));
}
#wl-v-arena .arx-panel-h, #wl-v-arena .arx-board-h { border-bottom: 2px solid #3f7d8c; color: #bff5ff; letter-spacing: .08em; text-shadow: 0 0 8px rgba(90,220,245,.35); }
#wl-v-arena .arx-left .arx-def-btns button,
#wl-v-arena .arx-season-btn,
#wl-v-arena .arx-free,
#wl-v-arena .arx-match-foot button,
#wl-v-arena .arx-vs-foot button {
  border: 2px solid #4f7d55; border-radius: 0; background: linear-gradient(180deg,#273a25,#10180d); color: #d7e6c5;
  box-shadow: inset 0 0 0 2px #0a0f08, 0 2px 0 #000;
  clip-path: polygon(0 3px,3px 0,100% 0,100% calc(100% - 3px),calc(100% - 3px) 100%,0 100%);
  font-weight: 700;
}
#wl-v-arena .arx-match-btn {
  border: 2px solid #d9fdff; border-radius: 0;
  background: linear-gradient(180deg,#9ff4ff,#2a8aa8 55%,#15576c);
  color: #041015; box-shadow: 0 0 22px rgba(80,220,245,.55), inset 0 0 0 2px rgba(255,255,255,.3), 0 3px 0 #000;
  clip-path: polygon(6% 0,100% 0,94% 100%,0 100%);
  text-shadow: 0 1px 0 rgba(255,255,255,.4);
}
#wl-v-arena .arx-match-btn:hover { filter: brightness(1.1); }
#wl-v-arena .arx-brow { border-bottom: 1px dashed #24434a; }
#wl-v-arena .arx-brow.me { background: linear-gradient(90deg, rgba(255,215,106,.10), transparent); border-left: 3px solid #ffd76a; }
#wl-v-arena .arx-vs-foot .arx-fight {
  border: 2px solid #f0b6ff; border-radius: 0;
  background: linear-gradient(180deg,#d08cff,#8a32c8 55%,#4c127a);
  color: #fff; box-shadow: 0 0 20px rgba(190,100,255,.55), inset 0 0 0 2px rgba(255,255,255,.22), 0 3px 0 #000;
  clip-path: polygon(0 4px,4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%);
  font-weight: 900;
}
#wl-v-arena .arx-panel::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: repeating-linear-gradient(0deg, rgba(120,230,255,.025) 0 1px, transparent 1px 3px);
}
#wl-v-arena .arx-panel { position: relative; overflow: hidden; }

/* ---------- 竞技场 VS：高斯模糊闪 ---------- */
.arx-vs { position: relative; }
.arx-vs-flash .arx-vs-stage { animation: arxVsBlur 1.7s ease-in-out both; }
.arx-vs-flash .arx-vs-center { animation: arxVsWord 1.7s ease-in-out both; }
.arx-vs-flash .arx-vs-top, .arx-vs-flash .arx-vs-roster, .arx-vs-flash .arx-vs-foot { animation: arxVsDim 1.7s ease-in-out both; }
.arx-vs-flashov {
  position: absolute; inset: 0; z-index: 6; pointer-events: none;
  background: radial-gradient(circle at 50% 48%, rgba(255,255,255,.45), rgba(150,220,255,.16) 26%, transparent 58%);
  mix-blend-mode: screen;
  animation: arxVsFlash 1.7s ease-in-out both;
}
@keyframes arxVsBlur {
  0% { filter: blur(0) brightness(1); transform: scale(1); }
  16% { filter: blur(9px) brightness(1.5); transform: scale(1.025); }
  32% { filter: blur(2px) brightness(1.1); transform: scale(1.01); }
  48% { filter: blur(12px) brightness(1.65); transform: scale(1.03); }
  64% { filter: blur(3px) brightness(1.15); transform: scale(1.005); }
  82% { filter: blur(6px) brightness(1.3); transform: scale(1.015); }
  100% { filter: blur(0) brightness(1); transform: scale(1); }
}
@keyframes arxVsWord {
  0%,100% { transform: scale(1); filter: blur(0); opacity: 1; }
  18% { transform: scale(1.35); filter: blur(6px); opacity: .7; }
  34% { transform: scale(.96); filter: blur(0); opacity: 1; }
  50% { transform: scale(1.5); filter: blur(10px); opacity: .55; }
  70% { transform: scale(1.05); filter: blur(0); opacity: 1; }
}
@keyframes arxVsDim { 0%,100%{opacity:1} 20%{opacity:.35} 45%{opacity:.75} 60%{opacity:.25} 85%{opacity:.8} }
@keyframes arxVsFlash { 0%{opacity:0} 15%{opacity:1} 30%{opacity:.2} 48%{opacity:.9} 64%{opacity:.15} 82%{opacity:.55} 100%{opacity:0} }


/* V1.62.2：酒馆底部按钮固定到左栏底部，彻底避免被内容/安全区挤出 */
#wl-v-tavern .wlt-left { padding-bottom: 58px; }
#wl-v-tavern .wlt-left-btns {
  position: absolute; left: 8px; right: 8px; bottom: 6px;
  height: 44px; min-height: 44px; margin: 0;
  z-index: 12;
}
#wl-v-tavern .wlt-left-btns .wlt-btn { height: 40px; min-height: 40px; }
@media (max-height: 350px) {
  #wl-v-tavern .wlt-left { padding-bottom: 50px; }
  #wl-v-tavern .wlt-left-btns { bottom: 4px; height: 38px; min-height: 38px; }
  #wl-v-tavern .wlt-left-btns .wlt-btn { height: 34px; min-height: 34px; }
}

/* V1.62.2：后街第二节点入口箭头 + 左栏背包 */
.wll-top .wll-rail-bag {
  width: 100%; padding: 3px 4px; font-size: .5rem; line-height: 1.2;
  display: flex; align-items: center; justify-content: center; gap: 3px;
  text-align: center; background: linear-gradient(180deg,#2b2410,#17140a);
  border: 1px solid #6c5526; color: #ffd76a; cursor: pointer;
  box-shadow: inset 0 0 0 1px #0b0b06, 0 2px 0 #000;
  clip-path: polygon(0 3px,3px 0,100% 0,100% calc(100% - 3px),calc(100% - 3px) 100%,0 100%);
}
.wll-top .wll-rail-bag .em { font-size: 1rem; line-height: 1; }
.wll-top .wll-rail-bag .tx { font-size: .5rem; }
.wll-top .wll-rail-bag:active { transform: translateY(1px); }
.wll-mnode.wll-mnode-arrow { width: 70px; height: 70px; min-width: 70px; min-height: 70px; }
.wll-mnode-arrow .wll-mnm { top: 78%; font-size: 9px; padding: 2px 5px 3px; background: rgba(50,34,8,.92); border-color: #d9a63a; color: #ffe7a0; }
.wll-marrow {
  position: absolute; left: 50%; top: 34%; transform: translate(-50%,-50%);
  font-size: 28px; line-height: 1; color: #ffd76a;
  text-shadow: 0 0 10px rgba(255,190,70,.8), 0 2px 0 #000;
  animation: wllArrowPulse 1.15s ease-in-out infinite;
}
.wll-mnode-arrow:hover .wll-marrow, .wll-mnode-arrow:active .wll-marrow { color: #fff4c8; text-shadow: 0 0 16px rgba(255,220,120,1), 0 2px 0 #000; }
@keyframes wllArrowPulse { 0%,100%{transform:translate(-50%,-50%) translateX(0)} 50%{transform:translate(-50%,-50%) translateX(5px)} }

/* V1.62.2：后街固定前进/返回箭头（不随地图拖动，始终可见） */
.wll-alley-next, .wll-alley-prev {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 9;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
  width: 48px; min-height: 96px; padding: 6px 3px; cursor: pointer;
  background: linear-gradient(180deg, rgba(46,36,14,.96), rgba(13,12,6,.98));
  border: 2px solid #8a6a28; color: #ffd76a;
  box-shadow: inset 0 0 0 2px #090a05, 0 0 14px rgba(255,190,70,.28), 0 3px 0 #000;
  clip-path: polygon(0 6px,6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%);
  -webkit-tap-highlight-color: transparent;
}
.wll-alley-next { right: 7px; }
.wll-alley-prev { left: 7px; display: none; }
.wll-alley-next b, .wll-alley-prev b { font-size: 24px; line-height: 1; text-shadow: 0 0 10px rgba(255,210,100,.8); }
.wll-alley-next .nm, .wll-alley-prev .nm { font-size: 9px; line-height: 1.15; writing-mode: vertical-rl; letter-spacing: 1px; color: #ffe6a6; }
.wll-alley-next:active, .wll-alley-prev:active { transform: translateY(-50%) scale(.96); }
body.on-alley2 .wll-alley-next { display: none; }
body.on-alley2 .wll-alley-prev { display: flex; }

/* V1.62.3：首页/后街资源 HUD + 每日任务簇 + 后街招牌 */
body.on-main .wll-top .wl-res { display: none !important; }
.wll-res-hud {
  position: absolute; left: 8px; top: 8px; z-index: 14;
  display: flex; align-items: center; gap: 4px; pointer-events: none;
  padding: 3px 5px; background: linear-gradient(180deg, rgba(10,12,7,.86), rgba(6,7,4,.74));
  border: 2px solid #6b5832; box-shadow: inset 0 0 0 2px #0a0b06, 0 2px 0 #000;
  clip-path: polygon(0 4px,4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%);
}
.wll-res-hud .hrs { display: inline-flex; align-items: center; gap: 3px; padding: 1px 4px; border-right: 1px solid rgba(255,215,106,.18); }
.wll-res-hud .hrs:last-child { border-right: 0; }
.wll-res-hud .hrs i { font-style: normal; font-size: 12px; line-height: 1; }
.wll-res-hud .hrs i.zxc { width: 12px; height: 12px; }
.wll-res-hud .hrs b { font-size: 10px; color: #ffe19a; font-family: "Courier New", monospace; }
.wll-map-res { left: 10px; top: 10px; z-index: 11; }

/* 每日任务簇（背景图右上角） */
.wf-chip-daily { border-color: rgba(255,215,106,.72) !important; background: linear-gradient(180deg, rgba(73,54,17,.94), rgba(28,20,7,.96)) !important; }
.wf-chip-daily .wfc-em { filter: drop-shadow(0 0 5px rgba(255,205,90,.5)); }
.wf-chip-daily.on { box-shadow: 0 0 12px rgba(255,205,90,.45); }

/* 后街：木牌式像素按钮 */
.wll-alley-btn {
  width: 78px !important; height: 48px !important;
  right: max(10px, env(safe-area-inset-right)) !important;
  bottom: max(10px, env(safe-area-inset-bottom)) !important;
  border-radius: 0 !important;
  flex-direction: row !important; gap: 3px !important;
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 3px),
    linear-gradient(180deg, #4a3612, #1d1507 65%, #120e05) !important;
  border: 2px solid #ffd76a !important;
  color: #ffe6a6 !important;
  clip-path: polygon(0 6px,6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px));
  box-shadow: inset 0 0 0 2px #0a0905, 0 0 16px rgba(255,190,70,.38), 0 3px 0 #000 !important;
  animation: wllAlleyGlow 2.2s ease-in-out infinite;
}
.wll-alley-btn::before { content: "▮"; position: absolute; left: 5px; top: 3px; font-size: 8px; color: #ffd76a; opacity: .8; }
.wll-alley-btn::after { content: "➜"; margin-left: 1px; font-size: 14px; color: #ffd76a; text-shadow: 0 0 7px rgba(255,190,70,.8); }
.wll-alley-btn .em { font-size: 1rem !important; filter: drop-shadow(0 0 4px rgba(255,190,70,.4)); }
.wll-alley-btn .tx { font-size: .55rem !important; font-weight: 900; letter-spacing: .1em; color: #ffe6a6; }
@keyframes wllAlleyGlow { 0%,100%{filter:brightness(1)} 50%{filter:brightness(1.16)} }

/* V1.62.3：右栏后街入口做成像素木牌 */
#wll-right-alley {
  min-height: 52px !important;
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 3px),
    linear-gradient(135deg, #3b2c11, #181207 62%, #0e0b05) !important;
  border: 2px solid #c49a3f !important;
  box-shadow: inset 0 0 0 2px #090805, 0 0 14px rgba(255,190,70,.20), 0 3px 0 #000 !important;
  clip-path: polygon(0 6px,6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px));
}
#wll-right-alley .wde-em { filter: drop-shadow(0 0 5px rgba(255,205,90,.45)); }
#wll-right-alley .wde-go {
  background: linear-gradient(180deg,#6f9f31,#3f5f18) !important;
  color: #fff6cf !important;
  border: 1px solid #b9e26b !important;
  box-shadow: 0 0 8px rgba(143,209,79,.35);
}
#wll-right-alley .wde-go::after { content: " ➜"; }
#wll-right-alley .wde-go { font-weight: 900; }

/* =====================================================================
 * V1.62.4 · 用户系统 / 首页重组 / 后街地图箭头 / 招募直购
 * ===================================================================== */
body.wlu-open { overflow: hidden !important; }
body.on-main .wll-top { display: none !important; }
body.on-main .wl-app { padding-left: 0 !important; }
body.on-main #wl-v-main.active { padding: 6px max(8px, env(safe-area-inset-right)) 7px max(8px, env(safe-area-inset-left)) !important; }
#wl-v-main #wl-camp-stagewrap { position: relative; }
#wl-camp-wfcorner, .wf-corner { display: none !important; }
.wll-res-hud { display: none !important; }

/* ---------- 左上角用户系统 ---------- */
.wlu-hud { position: absolute; left: 9px; top: 8px; z-index: 35; display: flex; align-items: center; gap: 7px; pointer-events: none; }
.wlu-me { position: relative; flex: 0 0 62px; width: 62px; height: 62px; padding: 0; border: 0; background: transparent; cursor: pointer; pointer-events: auto; }
.wlu-av, .wlu-bigav {
  --fc: #e6c168; --fg: rgba(255, 205, 90, .55); --bg1: #3b2a58; --bg2: #100c18;
  position: relative; display: flex; align-items: center; justify-content: center;
  box-sizing: border-box; overflow: visible;
  background: radial-gradient(circle at 50% 32%, var(--bg1), var(--bg2) 72%);
  border: 2px solid var(--fc);
  box-shadow: 0 0 10px var(--fg), inset 0 0 12px rgba(255, 230, 160, .12), 0 2px 0 #000;
  border-radius: 4px;
}
.wlu-av { width: 62px; height: 62px; }
.wlu-av::before, .wlu-av::after, .wlu-bigav::before, .wlu-bigav::after {
  content: ''; position: absolute; width: 8px; height: 8px; border: 2px solid #ffe6a6; pointer-events: none;
}
.wlu-av::before, .wlu-bigav::before { left: -2px; top: -2px; border-right: 0; border-bottom: 0; }
.wlu-av::after, .wlu-bigav::after { right: -2px; bottom: -2px; border-left: 0; border-top: 0; }
.wlu-av.f-red, .wlu-bigav.f-red { --fc: #ff6b6b; --fg: rgba(255, 70, 70, .65); --bg1: #5a1f24; --bg2: #18090b; }
.wlu-av.f-neon, .wlu-bigav.f-neon { --fc: #58d7ff; --fg: rgba(70, 200, 255, .7); --bg1: #173f5a; --bg2: #071018; }
.wlu-av.f-ash, .wlu-bigav.f-ash { --fc: #ff9d3d; --fg: rgba(255, 140, 50, .7); --bg1: #553018; --bg2: #160c06; }
.wlu-face { font-size: 31px; line-height: 1; font-style: normal; filter: drop-shadow(0 2px 2px #000) saturate(1.12); }
.wlu-me-lv {
  position: absolute; left: 50%; bottom: -8px; transform: translateX(-50%);
  min-width: 42px; padding: 1px 4px; text-align: center; font-style: normal;
  font-size: 10px; line-height: 12px; font-weight: 900; color: #ffe6a6;
  background: linear-gradient(180deg, #3b2c10, #171006); border: 1px solid #a77d2c;
  box-shadow: 0 0 8px rgba(255, 190, 70, .35), 0 1px 0 #000; white-space: nowrap;
}
.wlu-me-bd { width: 158px; display: flex; flex-direction: column; gap: 2px; padding-top: 1px; }
.wlu-me-nm { font-size: .58rem; line-height: 1.1; font-weight: 900; color: #f0f6e4; text-shadow: 0 1px 2px #000; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wlu-me-bar { height: 9px; border: 1px solid #4f642d; background: #081006; box-shadow: inset 0 1px 3px rgba(0,0,0,.8); overflow: hidden; }
.wlu-me-bar i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #5fbf34, #9ef05a 60%, #d7ff9a); box-shadow: 0 0 8px rgba(140, 240, 80, .55); transition: width .3s ease; }
.wlu-me-exp { font-size: .42rem; line-height: 1.1; color: #cfe0b8; font-family: "Courier New", monospace; text-shadow: 0 1px 2px #000; }

/* 每日任务透明横条 */
.wlu-daily {
  position: absolute; left: 10px; top: 83px; z-index: 35; width: 238px; min-height: 34px;
  display: flex; align-items: center; gap: 6px; padding: 4px 8px 6px;
  border: 1px solid rgba(255, 215, 106, .28);
  background: linear-gradient(90deg, rgba(0, 0, 0, .44), rgba(0, 0, 0, .06));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025), 0 2px 8px rgba(0,0,0,.25);
  color: #e9f2d8; text-align: left; cursor: pointer; pointer-events: auto; border-radius: 3px;
  backdrop-filter: blur(2px);
}
.wlu-daily .wd-em { font-size: 15px; line-height: 1; }
.wlu-daily .wd-tx { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.wlu-daily .wd-tx b { font-size: .5rem; line-height: 1.1; color: #ffe08a; }
.wlu-daily .wd-tx i { font-size: .38rem; line-height: 1.1; font-style: normal; color: #cfe0b8; }
.wlu-daily .wd-arrow { font-size: 16px; line-height: 1; color: #ffd76a; }
.wlu-daily .wd-prog { position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: rgba(255,255,255,.06); overflow: hidden; }
.wlu-daily .wd-prog u { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #6fce3c, #ffd76a); }
.wlu-daily.can { border-color: #ff6a6a; box-shadow: 0 0 14px rgba(255, 60, 60, .35), inset 0 0 0 1px rgba(255,255,255,.03); }
.wlu-daily.can .wd-tx b { color: #ff9a9a; }

/* 右上角货币 */
.wlu-cur { position: absolute; right: 9px; top: 8px; z-index: 35; display: flex; align-items: center; gap: 4px; pointer-events: auto; }
.wlu-cc {
  display: flex; align-items: center; gap: 3px; height: 24px; padding: 0 4px 0 5px;
  border: 1px solid rgba(255, 215, 106, .35);
  background: linear-gradient(180deg, rgba(27, 35, 18, .94), rgba(7, 11, 5, .92));
  color: #ffe6a6; font-size: .5rem; cursor: pointer; border-radius: 3px;
  box-shadow: 0 2px 0 #000, inset 0 1px 0 rgba(255,255,255,.06);
}
.wlu-cc i { font-style: normal; font-size: 13px; line-height: 1; }
.wlu-cc i.zxc { width: 13px; height: 13px; }
.wlu-cc b { font-size: .5rem; line-height: 1; font-family: "Courier New", monospace; max-width: 62px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wlu-cc .plus { margin-left: 2px; width: 13px; height: 13px; display: flex; align-items: center; justify-content: center; background: #3fae37; border: 1px solid #8fe36a; color: #fff; font-style: normal; font-size: 11px; line-height: 1; text-decoration: none; box-shadow: 0 0 6px rgba(80, 220, 80, .4); }

/* ---------- 玩家主页 ---------- */
.wlu-modal { position: fixed; inset: 0; z-index: 250; display: none; align-items: center; justify-content: center; background: rgba(2, 4, 2, .76); padding: max(6px, var(--wll-sat)) max(8px, var(--wll-sar)) max(6px, var(--wll-sab)) max(8px, var(--wll-sal)); box-sizing: border-box; }
.wlu-modal.show { display: flex; }
.wlu-box {
  width: min(900px, 94vw); height: min(520px, 86vh); max-height: 86dvh; min-height: 0;
  display: flex; flex-direction: column; position: relative; overflow: hidden;
  background: linear-gradient(180deg, #252a24 0%, #171c15 54%, #0c100b 100%);
  border: 2px solid #7b8774; color: #dfe8d2; border-radius: 3px;
  box-shadow: 0 0 0 2px #060806, 0 0 0 4px #394433, 0 24px 60px rgba(0,0,0,.8), inset 0 0 42px rgba(143,209,79,.06);
}
.wlu-box::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(0deg, rgba(255,255,255,.018) 0 1px, transparent 1px 3px); opacity: .55; }
.wlu-head {
  flex: 0 0 40px; display: flex; align-items: center; gap: 8px; padding: 0 9px;
  background: linear-gradient(180deg, #3a4036, #20251d 72%, #181c15);
  border-bottom: 2px solid #75816c; box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 2px 0 #090b08; position: relative; z-index: 2;
}
.wlu-head b { font-size: .74rem; letter-spacing: .12em; color: #edf5df; text-shadow: 0 0 10px rgba(255,220,130,.25), 0 1px 0 #000; }
.wlu-gear { font-size: 1rem; line-height: 1; color: #ffd76a; filter: drop-shadow(0 0 6px rgba(255,190,70,.5)); }
.wlu-soc { margin-left: auto; display: flex; gap: 4px; }
.wlu-soc i { width: 19px; height: 19px; display: flex; align-items: center; justify-content: center; font-style: normal; font-size: 11px; font-weight: 900; color: #fff; background: linear-gradient(180deg, #2e5da8, #173a70); border: 1px solid #6ea6ff; box-shadow: 0 0 7px rgba(80,140,255,.35); }
.wlu-x { width: 28px; height: 26px; margin-left: 4px; padding: 0; border: 1px solid #ff8b8b; background: linear-gradient(180deg, #a52d2d, #651414); color: #fff; font-size: 13px; font-weight: 900; line-height: 1; cursor: pointer; box-shadow: 0 0 9px rgba(255,60,60,.4), inset 0 1px 0 rgba(255,255,255,.2); }
.wlu-body { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: 46% 54%; gap: 8px; padding: 9px; position: relative; z-index: 1; }
.wlu-panel {
  position: relative; min-height: 0; display: flex; flex-direction: column; gap: 6px; padding: 7px;
  border: 2px solid #4f6d78; border-radius: 2px;
  background: linear-gradient(180deg, rgba(24, 39, 37, .8), rgba(9, 15, 12, .86));
  box-shadow: inset 0 0 0 1px #09100c, inset 0 0 26px rgba(80, 160, 180, .06), 0 1px 0 #000;
}
.wlu-pt { flex: none; font-size: .5rem; line-height: 1.2; letter-spacing: .12em; color: #8fe8ff; padding-bottom: 2px; border-bottom: 1px dashed rgba(120, 200, 220, .28); text-shadow: 0 0 8px rgba(80,200,230,.25); }
.wlu-idrow { display: flex; gap: 9px; align-items: flex-start; min-height: 0; }
.wlu-bigav { flex: 0 0 108px; width: 108px; height: 108px; padding: 0; cursor: pointer; border: 3px solid var(--fc); border-radius: 3px; background: radial-gradient(circle at 50% 32%, var(--bg1), var(--bg2) 72%); box-shadow: 0 0 16px var(--fg), inset 0 0 18px rgba(255,230,160,.1), 0 3px 0 #000; }
.wlu-bigface { font-size: 52px; line-height: 1; filter: drop-shadow(0 3px 3px #000) saturate(1.12); }
.wlu-biglv { position: absolute; left: 50%; bottom: -9px; transform: translateX(-50%); padding: 1px 5px; background: #141006; border: 1px solid #a77d2c; color: #ffe6a6; font-size: 10px; line-height: 12px; font-style: normal; font-weight: 900; white-space: nowrap; }
.wlu-edit { position: absolute; right: -7px; bottom: -7px; width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; font-style: normal; font-size: 12px; color: #141006; background: linear-gradient(180deg, #ffe08a, #c8912e); border: 1px solid #fff0bb; box-shadow: 0 0 8px rgba(255,190,70,.45); }
.wlu-idstat { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 4px; padding-top: 2px; }
.wlu-lvtx { font-size: .82rem; line-height: 1.1; color: #a8f072; text-shadow: 0 0 10px rgba(120,240,80,.35), 0 1px 0 #000; }
.wlu-expbar { height: 10px; border: 1px solid #4f642d; background: #081006; box-shadow: inset 0 1px 3px rgba(0,0,0,.85); overflow: hidden; }
.wlu-expbar i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #5fbf34, #9ef05a 60%, #d7ff9a); box-shadow: 0 0 9px rgba(140,240,80,.55); }
.wlu-expnum { font-size: .42rem; color: #b9c9ab; font-family: "Courier New", monospace; }
.wlu-vip { display: flex; align-items: center; gap: 4px; margin-top: 2px; font-size: .42rem; color: #ffd76a; }
.wlu-vip b { font-size: .46rem; white-space: nowrap; }
.wlu-vipbar { flex: 1 1 auto; height: 6px; border: 1px solid #5a4a1f; background: #0d0a04; overflow: hidden; }
.wlu-vipbar i { display: block; height: 100%; background: linear-gradient(90deg, #a77d2c, #ffd76a); }
.wlu-vip em { font-style: normal; color: #c9b98e; font-family: "Courier New", monospace; }
.wlu-line { display: flex; align-items: center; gap: 6px; min-height: 26px; padding: 3px 6px; border: 1px solid rgba(120,200,220,.18); background: rgba(0,0,0,.26); font-size: .46rem; color: #b9c9ab; }
.wlu-line > span { flex: 0 0 52px; color: #8fa89a; }
.wlu-line > b { flex: 1 1 auto; min-width: 0; color: #e8f0dc; font-family: "Courier New", monospace; letter-spacing: .04em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wlu-line input { flex: 1 1 auto; min-width: 0; height: 20px; padding: 0 5px; border: 1px solid #4f6d78; background: #0a120f; color: #e8f0dc; font-size: .5rem; font-family: inherit; outline: none; }
.wlu-line input:focus { border-color: #8fe8ff; box-shadow: 0 0 8px rgba(80,200,230,.3); }
.wlu-mini { flex: 0 0 24px; width: 24px; height: 22px; padding: 0; border: 1px solid #5a6a55; background: #222a1e; color: #dbe6cc; font-size: 11px; cursor: pointer; }
.wlu-hint { margin-top: auto; font-size: .36rem; color: #8fa393; text-align: center; }
.wlu-opt { gap: 7px; }
.wlu-toggle { display: flex; align-items: center; gap: 8px; min-height: 28px; padding: 3px 7px; border: 1px solid #3d5148; background: rgba(0,0,0,.25); color: #dfe8d2; font-size: .52rem; cursor: pointer; text-align: left; }
.wlu-toggle span { flex: 1 1 auto; }
.wlu-toggle b { font-size: .44rem; color: #899a85; min-width: 26px; text-align: right; }
.wlu-toggle b.on { color: #7fe6ff; text-shadow: 0 0 8px rgba(80,210,240,.45); }
.wlu-sw { flex: 0 0 38px; width: 38px; height: 18px; position: relative; border: 2px solid #4f6258; background: #1a221a; box-sizing: border-box; }
.wlu-sw u { position: absolute; left: 2px; top: 2px; width: 10px; height: 10px; background: #6e7f68; transition: left .15s ease; }
.wlu-sw.on { border-color: #5fc8ff; background: #0e3a52; box-shadow: 0 0 8px rgba(70,200,255,.3); }
.wlu-sw.on u { left: 20px; background: #8fe8ff; }
.wlu-lang { display: flex; align-items: center; gap: 6px; min-height: 28px; padding: 3px 7px; border: 1px solid #3d5148; background: rgba(0,0,0,.25); font-size: .52rem; }
.wlu-lang span { flex: 1 1 auto; }
.wlu-lang b { font-size: .44rem; color: #ff8b8b; border: 1px solid #7d3b3b; padding: 0 3px; }
.wlu-lang button { height: 20px; padding: 0 8px; border: 1px solid #4f6d78; background: #182620; color: #cfe0e8; font-size: .46rem; }
.wlu-grid4 { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 2px; }
.wlu-obtn { min-height: 34px; border: 2px solid #5c6a58; background: linear-gradient(180deg, #2b3328, #171d15); color: #e2ebd5; font-size: .52rem; cursor: pointer; box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 2px 0 #000; }
.wlu-obtn:active { transform: translateY(1px); filter: brightness(1.15); }
.wlu-foot { margin-top: auto; font-size: .34rem; color: #7f9079; text-align: right; font-family: "Courier New", monospace; }
.wlu-infoo { font-size: .56rem; line-height: 1.7; color: #dbe6cc; }

/* 头像 / 头像框选择 */
.wlu-pickmodal { z-index: 252; }
.wlu-pickbox { width: min(920px, 95vw); height: min(530px, 88vh); }
.wlu-frames { flex: 0 0 40%; }
.wlu-framelist { flex: 1 1 auto; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: 5px; }
.wlu-frow { display: flex; align-items: center; gap: 6px; min-height: 50px; padding: 3px 5px; border: 2px solid #3f5148; background: rgba(0,0,0,.26); color: #dfe8d2; cursor: pointer; text-align: left; position: relative; }
.wlu-frow .wlu-av { flex: 0 0 42px; width: 42px; height: 42px; }
.wlu-frow .wlu-face { font-size: 22px; }
.wlu-frow .wlu-fmeta { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.wlu-frow .wlu-fmeta b { font-size: .48rem; color: #e8f0dc; }
.wlu-frow .wlu-fmeta i { font-size: .34rem; font-style: normal; color: #91a38a; }
.wlu-frow .wlu-flv { font-size: .34rem; color: #ffd76a; font-style: normal; }
.wlu-frow.on { border-color: #ffd76a; background: rgba(255,200,80,.1); box-shadow: 0 0 10px rgba(255,190,70,.45); }
.wlu-frow.lock { opacity: .56; }
.wlu-lock { position: absolute; right: 3px; top: 2px; font-size: 10px; font-style: normal; color: #ffd76a; }
.wlu-avs { flex: 1 1 auto; }
.wlu-avgrid { flex: 1 1 auto; min-height: 0; overflow-y: auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; align-content: start; }
.wlu-avtile { position: relative; aspect-ratio: 1 / 1; min-height: 52px; padding: 2px 2px 13px; border: 2px solid #3f5148; background: radial-gradient(circle at 50% 32%, #26332a, #0b110c 72%); color: #e8f0dc; cursor: pointer; overflow: hidden; }
.wlu-avtile .wlu-avmini { display: flex; align-items: center; justify-content: center; height: 100%; font-size: 27px; line-height: 1; filter: drop-shadow(0 2px 2px #000); }
.wlu-avtile em { position: absolute; left: 0; right: 0; bottom: 0; padding: 1px 2px; font-size: .28rem; font-style: normal; color: #b9c9ab; background: rgba(0,0,0,.55); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wlu-avtile.on { border-color: #ffd76a; box-shadow: 0 0 10px rgba(255,190,70,.5), inset 0 0 12px rgba(255,200,80,.12); }
.wlu-avtile.lock { opacity: .52; filter: grayscale(.55); }
.wlu-check { position: absolute; left: 3px; top: 2px; width: 15px; height: 15px; display: flex; align-items: center; justify-content: center; font-style: normal; font-size: 10px; color: #1b2409; background: #ffd76a; border: 1px solid #fff0bb; }
.wlu-pickhint { flex: none; font-size: .34rem; color: #8fa393; text-align: center; padding-top: 3px; }
.wlu-pickfoot { flex: 0 0 38px; display: flex; align-items: center; gap: 8px; padding: 0 10px; border-top: 1px solid #4b5a43; background: rgba(0,0,0,.3); font-size: .42rem; color: #b9c9ab; }
.wlu-pickfoot span { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wlu-done { height: 28px; padding: 0 16px; border: 1px solid #ffe6b0; background: linear-gradient(180deg, #ffd88a, #d69a32); color: #2a1c03; font-size: .52rem; font-weight: 900; cursor: pointer; }

/* ---------- 后街：只剩地图 + 地图内箭头 ---------- */
body.on-alley .wll-top { display: none !important; }
body.on-alley .wll-alley-page, .wll-alley-page {
  left: 0 !important; right: 0 !important; top: 0 !important;
  width: 100vw !important; height: 100dvh !important;
  z-index: 205 !important;
}
body.on-alley .wll-alley-body { padding: 0 !important; }
body.on-alley .wll-alley-side, body.on-alley .wll-alley-hd { display: none !important; }
.wll-alley-next, .wll-alley-prev { display: none !important; }
.wlu-map-arrow {
  position: absolute; transform: translate(-50%, -50%); z-index: 14;
  width: 48px; height: 48px; padding: 0; border-radius: 50%;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  border: 2px solid #ffd76a; color: #ffe6a6; cursor: pointer;
  background: radial-gradient(circle, rgba(88, 64, 20, .96), rgba(10, 8, 4, .96) 72%);
  box-shadow: 0 0 16px rgba(255, 190, 70, .6), inset 0 0 12px rgba(255, 225, 130, .18), 0 3px 0 #000;
}
.wlu-map-arrow b { font-size: 23px; line-height: 1; text-shadow: 0 0 10px rgba(255, 215, 106, .9); }
.wlu-map-arrow i { margin-top: 1px; font-size: 8px; line-height: 1; font-style: normal; white-space: nowrap; }
.wlu-map-arrow:active { transform: translate(-50%, -50%) scale(.94); }
.wlu-ring { position: absolute; inset: -9px; border: 2px solid rgba(255, 215, 106, .6); border-radius: 50%; pointer-events: none; animation: wluRing 1.9s ease-out infinite; }
@keyframes wluRing { 0% { transform: scale(.72); opacity: .95; } 70% { transform: scale(1.28); opacity: 0; } 100% { transform: scale(1.28); opacity: 0; } }
.wll-mnode-arrow.wlu-glow { box-shadow: 0 0 16px rgba(255, 190, 70, .65), inset 0 0 10px rgba(255, 220, 120, .2); border-color: #ffd76a; }
.wll-mnode-arrow.wlu-glow::before { content: ''; position: absolute; inset: -8px; border: 2px solid rgba(255, 215, 106, .5); border-radius: 50%; animation: wluRing 1.9s ease-out infinite; pointer-events: none; }

/* ---------- 招募卡直购 ---------- */
.wlu-buymodal { z-index: 255; }
.wlu-buybox { width: min(700px, 92vw); height: auto; max-height: 86dvh; }
.wlu-buybody { padding: 10px; display: flex; flex-direction: column; gap: 8px; min-height: 0; overflow-y: auto; position: relative; z-index: 1; }
.wlu-buytop { display: flex; align-items: center; gap: 7px; padding: 6px 8px; border: 1px solid #4f6d78; background: rgba(0,0,0,.28); font-size: .46rem; color: #b9c9ab; }
.wlu-buytop b { font-size: .64rem; color: #ffd76a; }
.wlu-buytop em { margin-left: auto; font-style: normal; color: #8fa393; }
.wlu-bcards { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.wlu-bcard { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 8px; border: 2px solid #4f6d78; background: linear-gradient(180deg, rgba(24,39,37,.85), rgba(8,14,11,.9)); box-shadow: inset 0 0 20px rgba(80,160,180,.06); }
.wlu-bem { font-size: 30px; line-height: 1; filter: drop-shadow(0 3px 4px #000); }
.wlu-bcard > b { font-size: .6rem; color: #f0f6e4; }
.wlu-bcard > i { font-size: .38rem; font-style: normal; color: #91a38a; }
.wlu-bprice { font-size: .72rem; color: #ffd76a; font-family: "Courier New", monospace; margin: 2px 0; }
.wlu-bbtn { width: 100%; height: 34px; border: 2px solid #5c6a58; background: linear-gradient(180deg, #2b3328, #171d15); color: #e2ebd5; font-size: .52rem; cursor: pointer; }
.wlu-bbtn.gold { border-color: #ffe6b0; background: linear-gradient(180deg, #ffd88a, #d69a32); color: #2a1c03; font-weight: 900; box-shadow: 0 0 12px rgba(255,190,70,.35); }
.wlu-buynote { font-size: .38rem; line-height: 1.5; color: #8fa393; text-align: center; }
.wlu-buyfoot { display: flex; gap: 8px; justify-content: center; }
.wlu-bcharge { height: 32px; padding: 0 14px; border: 1px solid #ffe6b0; background: linear-gradient(180deg, #6d3b8f, #3b1d57); color: #f2e7ff; font-size: .52rem; cursor: pointer; }
.wlu-bclose { height: 32px; padding: 0 14px; border: 1px solid #5c6a58; background: #1b2218; color: #dfe8d2; font-size: .52rem; cursor: pointer; }

/* ---------- 小屏 / 矮屏 ---------- */
@media (max-width: 720px) {
  .wlu-me-bd { width: 134px; }
  .wlu-daily { width: 218px; }
  .wlu-cur { gap: 3px; }
  .wlu-cc { height: 22px; padding: 0 3px 0 4px; }
  .wlu-cc b { font-size: .44rem; max-width: 48px; }
  .wlu-cc i { font-size: 11px; }
  .wlu-body { grid-template-columns: 47% 53%; gap: 6px; padding: 6px; }
  .wlu-bigav { flex-basis: 92px; width: 92px; height: 92px; }
  .wlu-bigface { font-size: 44px; }
  .wlu-panel { gap: 4px; padding: 5px; }
  .wlu-head { flex-basis: 36px; }
  .wlu-head b { font-size: .64rem; }
  .wlu-grid4 { gap: 4px; }
  .wlu-obtn { min-height: 30px; font-size: .46rem; }
  .wlu-foot { font-size: .3rem; }
  .wlu-frames { flex-basis: 41%; }
  .wlu-frow { min-height: 44px; }
  .wlu-frow .wlu-av { flex-basis: 36px; width: 36px; height: 36px; }
  .wlu-avtile { min-height: 44px; }
  .wlu-avtile .wlu-avmini { font-size: 23px; }
  .wlu-pickbox { height: min(510px, 90vh); }
}
@media (max-height: 380px) {
  .wlu-hud { top: 5px; left: 7px; gap: 5px; }
  .wlu-me { flex-basis: 54px; width: 54px; height: 54px; }
  .wlu-av { width: 54px; height: 54px; }
  .wlu-face { font-size: 27px; }
  .wlu-me-lv { bottom: -7px; font-size: 9px; line-height: 10px; }
  .wlu-me-bd { width: 132px; }
  .wlu-me-nm { font-size: .5rem; }
  .wlu-me-bar { height: 7px; }
  .wlu-me-exp { font-size: .36rem; }
  .wlu-daily { top: 72px; min-height: 30px; width: 214px; padding: 3px 7px 5px; }
  .wlu-daily .wd-tx b { font-size: .44rem; }
  .wlu-daily .wd-tx i { font-size: .32rem; }
  .wlu-cur { top: 5px; right: 7px; }
  .wlu-cc { height: 20px; }
  .wlu-cc b { font-size: .4rem; }
  .wlu-head { flex-basis: 32px; }
  .wlu-head b { font-size: .58rem; }
  .wlu-box { height: min(470px, 92vh); }
  .wlu-body { padding: 5px; gap: 5px; }
  .wlu-panel { padding: 4px; gap: 3px; }
  .wlu-pt { font-size: .4rem; }
  .wlu-bigav { flex-basis: 78px; width: 78px; height: 78px; }
  .wlu-bigface { font-size: 36px; }
  .wlu-lvtx { font-size: .64rem; }
  .wlu-expbar { height: 8px; }
  .wlu-line { min-height: 22px; font-size: .38rem; }
  .wlu-toggle, .wlu-lang { min-height: 23px; font-size: .44rem; }
  .wlu-sw { height: 16px; flex-basis: 34px; width: 34px; }
  .wlu-sw.on u { left: 17px; }
  .wlu-obtn { min-height: 26px; font-size: .42rem; }
  .wlu-frow { min-height: 38px; }
  .wlu-frow .wlu-av { flex-basis: 32px; width: 32px; height: 32px; }
  .wlu-frow .wlu-face { font-size: 18px; }
  .wlu-avtile { min-height: 38px; padding-bottom: 11px; }
  .wlu-avtile .wlu-avmini { font-size: 20px; }
  .wlu-avtile em { font-size: .24rem; }
  .wlu-pickfoot { flex-basis: 32px; }
  .wlu-done { height: 24px; font-size: .46rem; }
  .wlu-buybody { padding: 6px; gap: 5px; }
  .wlu-bcard { padding: 6px; }
  .wlu-bem { font-size: 24px; }
  .wlu-bbtn { height: 28px; font-size: .46rem; }
}
@media (max-height: 330px) {
  .wlu-hud { top: 4px; }
  .wlu-me, .wlu-av { width: 48px; height: 48px; }
  .wlu-face { font-size: 23px; }
  .wlu-me-bd { width: 118px; }
  .wlu-daily { top: 64px; width: 200px; min-height: 26px; }
  .wlu-bigav { flex-basis: 66px; width: 66px; height: 66px; }
  .wlu-bigface { font-size: 30px; }
  .wlu-opt { gap: 3px; }
  .wlu-grid4 { gap: 3px; }
  .wlu-obtn { min-height: 24px; }
}

/* V1.62.4 fix：首页舞台标题并入 HUD，右侧福利按钮 3×2 排布 */
#wl-v-main #wl-camp-stagewrap > .wl-sec-t { display: none !important; }
#wl-v-main .wll-promo { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
#wl-v-main .wll-promo .wl-btn { width: 100%; padding: 5px 2px; font-size: .46rem; }
@media (max-width: 720px) {
  #wl-v-main .wll-promo .wl-btn { font-size: .4rem; padding: 4px 1px; }
}

/* V1.62.4 fix：像素拳头头像（SVG，避免 emoji 低清） */
.wlu-fistface{display:flex;align-items:center;justify-content:center;width:100%;height:100%;}
.wlu-fistsvg{width:72%;height:72%;display:block;image-rendering:pixelated;filter:drop-shadow(0 2px 2px rgba(0,0,0,.85));}
.wlu-avmini .wlu-fistface{width:100%;height:100%;}
.wlu-avmini .wlu-fistsvg{width:78%;height:78%;}

/* V1.62.4 fix：招募直购按钮 / 超小屏收起每日条 */
.wlu-bbtn.charge{border-color:#c78bff;background:linear-gradient(180deg,#3a2454,#1b0f2b);color:#f2e7ff;box-shadow:0 0 10px rgba(160,90,230,.25);}
@media (max-width:520px){
  .wlu-daily{width:36px;min-width:36px;height:36px;min-height:36px;top:70px;padding:0;justify-content:center;}
  .wlu-daily .wd-tx,.wlu-daily .wd-arrow{display:none;}
  .wlu-daily .wd-em{font-size:17px;line-height:1;}
  .wlu-daily .wd-prog{height:3px;}
  #wl-v-main .wll-main-right{flex:0 0 34% !important;max-width:34% !important;}
}
/* V1.62.4 fix：480 级超小屏玩家主页压缩 */
@media (max-width:520px){
  .wlu-box{width:96vw;height:92vh;}
  .wlu-head{flex-basis:28px;gap:5px;padding:0 6px;}
  .wlu-head b{font-size:.5rem;letter-spacing:.06em;}
  .wlu-gear{font-size:.78rem;}
  .wlu-soc i{width:15px;height:15px;font-size:9px;}
  .wlu-x{width:22px;height:21px;font-size:11px;}
  .wlu-body{grid-template-columns:48% 52%;gap:3px;padding:4px;}
  .wlu-panel{padding:3px;gap:2px;border-width:1px;}
  .wlu-pt{font-size:.32rem;padding-bottom:1px;}
  .wlu-bigav{flex-basis:58px;width:58px;height:58px;border-width:2px;}
  .wlu-bigface svg{width:80%;height:80%;}
  .wlu-biglv{bottom:-6px;font-size:8px;line-height:9px;padding:0 3px;}
  .wlu-edit{width:16px;height:16px;font-size:9px;right:-4px;bottom:-4px;}
  .wlu-idrow{gap:5px;}
  .wlu-idstat{gap:2px;padding-top:0;}
  .wlu-lvtx{font-size:.52rem;}
  .wlu-expbar{height:6px;}
  .wlu-expnum{font-size:.3rem;}
  .wlu-vip{font-size:.3rem;gap:2px;margin-top:0;}
  .wlu-vip b{font-size:.32rem;}
  .wlu-vipbar{height:4px;}
  .wlu-line{min-height:20px;padding:1px 3px;gap:3px;font-size:.32rem;}
  .wlu-line>span{flex-basis:34px;}
  .wlu-line input{height:16px;font-size:.36rem;padding:0 3px;}
  .wlu-mini{flex:0 0 18px;width:18px;height:18px;font-size:9px;}
  .wlu-hint{font-size:.28rem;}
  .wlu-opt{gap:2px;}
  .wlu-toggle,.wlu-lang{min-height:22px;padding:2px 4px;gap:4px;font-size:.36rem;}
  .wlu-toggle b{font-size:.3rem;min-width:18px;}
  .wlu-sw{flex:0 0 28px;width:28px;height:14px;border-width:1px;}
  .wlu-sw u{width:7px;height:7px;left:1px;top:1px;}
  .wlu-sw.on u{left:14px;}
  .wlu-lang b{font-size:.28rem;padding:0 2px;}
  .wlu-lang button{height:16px;padding:0 4px;font-size:.32rem;}
  .wlu-grid4{gap:3px;margin-top:0;}
  .wlu-obtn{min-height:24px;font-size:.34rem;border-width:1px;}
  .wlu-foot{display:none;}
  .wlu-pickbox{width:96vw;height:92vh;}
  .wlu-frames{flex-basis:38%;}
  .wlu-frow{min-height:34px;padding:2px 3px;gap:4px;}
  .wlu-frow .wlu-av{flex-basis:28px;width:28px;height:28px;}
  .wlu-frow .wlu-fmeta b{font-size:.32rem;}
  .wlu-frow .wlu-fmeta i,.wlu-frow .wlu-flv{font-size:.26rem;}
  .wlu-avtile{min-height:32px;padding-bottom:9px;}
  .wlu-avtile .wlu-avmini{font-size:17px;}
  .wlu-avtile em{font-size:.22rem;}
  .wlu-pickfoot{flex-basis:28px;font-size:.32rem;}
  .wlu-done{height:22px;font-size:.38rem;padding:0 10px;}
}

/* =====================================================================
 * V1.62.5 · 全站去左栏 / 弹窗居中 6:4 / 像素卡片 / 每日异形卡 / 邮箱
 * ===================================================================== */

/* ---------- 全站取消常驻左栏 ---------- */
:root { --wll-top-h: 0px !important; }
body .wll-top { display: none !important; }
body .wl-app { padding: 0 !important; }
body .wl-view.active { height: var(--wl-vh, 100dvh) !important; }
#wl-toast { left: 50% !important; max-width: 62vw !important; }

/* ---------- 左上角返回键 ---------- */
#wlu-back {
  position: fixed; left: max(8px, var(--wll-sal)); top: max(6px, var(--wll-sat));
  z-index: 140; display: none; align-items: center; gap: 5px;
  height: 34px; padding: 0 12px 0 8px; cursor: pointer;
  border: 2px solid #ffd76a; border-radius: 2px;
  background: linear-gradient(180deg, #3a2c12, #171006 70%);
  color: #ffe6a6; font-size: .54rem; font-weight: 900; letter-spacing: .06em;
  box-shadow: 0 0 0 2px #070907, 0 0 14px rgba(255, 190, 70, .38), inset 0 1px 0 rgba(255,255,255,.18);
  text-shadow: 0 1px 0 #000;
}
#wlu-back span { font-size: 17px; line-height: 1; font-weight: 900; }
#wlu-back b { font-size: .54rem; line-height: 1; }
#wlu-back:active { transform: translateY(1px); filter: brightness(1.16); }
body.wlu-subview #wlu-back { display: flex; }
body.wlu-subview .wl-view.active .wl-h1 { padding-left: 58px !important; }
body.wlu-subview .evp-view .evp-top { padding-left: 54px !important; }
body.wlu-subview #wl-v-idle .idle-top { padding-left: 52px !important; }
body.wlu-subview #wl-v-heroes .hs3-top { padding-left: 48px !important; }
body.wlu-subview #wl-v-lord .lord-top { padding-left: 54px !important; }
body.wlu-subview #wl-v-slot .lucky-head { padding-left: 54px !important; }

/* ---------- 弹窗全部居中 ---------- */
.wl-modal {
  inset: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  padding: max(6px, var(--wll-sat)) max(8px, var(--wll-sar)) max(6px, var(--wll-sab)) max(8px, var(--wll-sal)) !important;
  box-sizing: border-box;
}
.wll-wfmodal {
  left: 0 !important; right: 0 !important; width: 100vw !important; height: 100dvh !important;
  align-items: center !important; justify-content: center !important;
  padding: max(6px, var(--wll-sat)) max(8px, var(--wll-sar)) max(6px, var(--wll-sab)) max(8px, var(--wll-sal)) !important;
  box-sizing: border-box;
}

/* ---------- 卡片 6:4（卡片占 60%，四边合计留 40%） ---------- */
:root { --wlu-card-w: 60vw; --wlu-card-h: 60vh; }
.wl-modal .wl-mod-box:not(.arx-match-box):not(.arx-vs-box),
.wll-wfbox,
.wlu-mailbox,
.wlu-pickbox,
.wlu-buybox {
  width: var(--wlu-card-w) !important;
  max-width: var(--wlu-card-w) !important;
  height: var(--wlu-card-h) !important;
  max-height: var(--wlu-card-h) !important;
  min-width: 0 !important; min-height: 0 !important;
  margin: 0 auto !important;
  border-radius: 2px !important;
  box-sizing: border-box;
}
.wll-wfbox { padding: 0 !important; overflow: hidden !important; }
.wl-modal .wl-mod-box { overflow-y: auto !important; }

/* ---------- 像素卡片控件感 ---------- */
.wl-modal .wl-mod-box,
.wll-wfbox,
.wlu-mailbox,
.wlu-pickbox,
.wlu-buybox {
  position: relative;
  border: 2px solid #7b8774 !important;
  background-color: #10150f;
  box-shadow: 0 0 0 2px #060806, 0 0 0 4px #394433, 0 16px 44px rgba(0,0,0,.82),
    inset 0 1px 0 rgba(255,255,255,.12), inset 0 0 30px rgba(143,209,79,.05) !important;
}
.wl-modal .wl-mod-box::before,
.wll-wfbox::before,
.wlu-mailbox::before {
  content: ''; position: absolute; left: -2px; top: -2px; width: 15px; height: 15px;
  border-left: 2px solid #ffe6a6; border-top: 2px solid #ffe6a6; pointer-events: none; z-index: 6;
}
.wl-modal .wl-mod-box::after,
.wll-wfbox::after,
.wlu-mailbox::after {
  content: ''; position: absolute; right: -2px; bottom: -2px; width: 15px; height: 15px;
  border-right: 2px solid #ffe6a6; border-bottom: 2px solid #ffe6a6; pointer-events: none; z-index: 6;
}
.wl-modal .wl-btn,
.wll-wfbox .wl-btn,
.wll-wfbox .wll-wf-big,
.wll-wfbox .wll-wf-claim,
.wll-wfbox .wll-wf-tag,
.wl-modal .evd-claim,
.wl-modal .evd-go,
.wlu-mailbox button,
.wlu-buybox button {
  border-radius: 2px !important;
  box-shadow: 0 2px 0 #000, inset 0 1px 0 rgba(255,255,255,.15) !important;
}
.wl-modal .wl-btn:active,
.wll-wfbox .wll-wf-big:active,
.wll-wfbox .wll-wf-claim:active,
.wl-modal .evd-claim:active,
.wl-modal .evd-go:active,
.wlu-mailbox button:active,
.wlu-buybox button:active { transform: translateY(1px); box-shadow: none !important; }
.wl-modal .wl-btn,
.wll-wfbox .wl-btn,
.wll-wfbox .wll-wf-big,
.wll-wfbox .wll-wf-claim {
  font-size: clamp(8px, 1.8vh, 12px) !important;
  padding: clamp(2px, .6vh, 6px) clamp(5px, 1vw, 11px) !important;
  min-height: clamp(20px, 5.2vh, 32px) !important;
}
.wl-modal .evd-task,
.wll-wfbox .wll-wf-tile,
.wll-wfbox .wll-wf-block,
.wl-modal .buyx,
.wlu-mailrow,
.wlu-maildetail,
.wlu-mailrw,
.wlu-bcard {
  border-radius: 2px !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), 0 1px 0 #000;
}

/* 福利弹窗内部按 60vh 收紧 */
.wll-wfbox .wll-wfhero { flex: 0 0 42px !important; min-height: 42px !important; padding: 2px 8px !important; }
.wll-wfbox .wll-wfhero .title { font-size: 14px !important; line-height: 1.05; }
.wll-wfbox .wll-wfhero .kicker, .wll-wfbox .wll-wfhero .sub { font-size: 7px !important; }
.wll-wfbox .wll-wfhero .timer { font-size: 9px !important; }
.wll-wfbox .wll-wfhero .hot { font-size: 8px !important; }
.wll-wfbox .wll-wftabs { flex: 0 0 auto !important; gap: 2px !important; padding: 2px 5px !important; max-height: 48px; overflow-y: auto; }
.wll-wfbox .wll-wftabs button { font-size: 8px !important; padding: 2px 5px !important; min-height: 19px !important; border-radius: 2px !important; }
.wll-wfbox .wll-wfmain { flex: 1 1 auto !important; min-height: 0 !important; gap: 4px !important; padding: 4px 5px 5px !important; }
.wll-wfbox .wll-wfleft, .wll-wfbox .wll-wfright { min-height: 0 !important; overflow-y: auto !important; padding: 3px !important; }
.wll-wfbox .wll-wf-big { min-height: 22px !important; padding: 3px 6px !important; font-size: 9px !important; }

/* ---------- 每日任务：异形短卡 + 边框流光 ---------- */
.wlu-daily {
  width: 196px !important; min-width: 196px !important;
  height: 30px !important; min-height: 30px !important;
  top: 80px !important; left: 9px !important;
  padding: 3px 10px 4px 8px !important;
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 7px 50%);
  border: 1px solid transparent !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, rgba(10,18,10,.88), rgba(8,12,7,.38)) padding-box,
    linear-gradient(90deg, #ffd76a, #8fe8ff, #ffd76a) border-box !important;
  background-size: 100% 100%, 220% 100% !important;
  animation: wluDailyEdge 3.6s linear infinite;
  box-shadow: none !important;
  filter: drop-shadow(0 2px 5px rgba(0,0,0,.7)) drop-shadow(0 0 8px rgba(255,190,70,.22));
  overflow: hidden;
}
.wlu-daily::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(115deg, transparent 25%, rgba(255,225,150,.16) 45%, transparent 65%);
  background-size: 220% 100%; animation: wluDailySweep 2.8s linear infinite;
}
.wlu-daily::after {
  content: ''; position: absolute; right: 5px; top: 4px; width: 4px; height: 4px;
  background: #ffd76a; box-shadow: 0 0 6px #ffd76a; pointer-events: none;
}
.wlu-daily .wd-em { font-size: 14px !important; }
.wlu-daily .wd-tx b { font-size: .46rem !important; color: #ffe08a !important; }
.wlu-daily .wd-tx i { font-size: .32rem !important; color: #cfe0b8 !important; }
.wlu-daily .wd-arrow { font-size: 13px !important; }
.wlu-daily .wd-prog { height: 2px !important; }
.wlu-daily.can { filter: drop-shadow(0 2px 5px rgba(0,0,0,.7)) drop-shadow(0 0 10px rgba(255,70,70,.5)); }
.wlu-daily.can::after { background: #ff6a6a; box-shadow: 0 0 8px #ff6a6a; }
@keyframes wluDailyEdge { to { background-position: 0 0, 220% 0; } }
@keyframes wluDailySweep { to { background-position: -220% 0; } }

/* ---------- 首页右栏：主线下方背包 ---------- */
.wll-right-bag {
  display: flex; align-items: center; gap: 6px; width: 100%;
  margin-top: 5px; padding: 5px 8px; cursor: pointer; text-align: left;
  border: 1px solid #6a5222; border-radius: 4px;
  background: linear-gradient(90deg, rgba(255,215,106,.12), rgba(40,30,10,.28) 60%, rgba(0,0,0,.2));
  color: #f5e6c8;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03), 0 2px 0 #000;
}
.wll-right-bag .wrb-em { font-size: .9rem; line-height: 1; }
.wll-right-bag .wrb-tx { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.wll-right-bag .wrb-tx b { font-size: .54rem; line-height: 1.1; color: #ffe08a; }
.wll-right-bag .wrb-tx i { font-size: .38rem; line-height: 1.1; font-style: normal; color: #cfe0b8; }
.wll-right-bag .wrb-go { font-size: 16px; color: #ffd76a; line-height: 1; }
.wll-right-bag:active { transform: translateY(1px); filter: brightness(1.14); }

/* ---------- 邮箱 ---------- */
.wlu-mailopen { overflow: hidden !important; }
.wlu-mailbox { display: flex !important; flex-direction: column; padding: 0 !important; overflow: hidden !important; }
.wlu-mailhead {
  flex: 0 0 30px; display: flex; align-items: center; gap: 5px; padding: 0 6px;
  border-bottom: 1px solid #5b6a50; background: linear-gradient(180deg, #343b30, #1b2118);
  position: relative; z-index: 2;
}
.wlu-mailhico { font-size: 14px; }
.wlu-mailhead b { font-size: .56rem; color: #ffe08a; letter-spacing: .08em; }
.wlu-mailcount { font-size: .34rem; color: #cfe0b8; margin-left: 2px; }
.wlu-mailall { margin-left: auto; height: 20px; padding: 0 7px; border: 1px solid #ffd76a; background: rgba(255,200,80,.12); color: #ffd76a; font-size: .34rem; cursor: pointer; }
.wlu-mailclose { width: 22px; height: 21px; border: 1px solid #ff8b8b; background: #651414; color: #fff; font-size: 11px; cursor: pointer; }
.wlu-mailbody { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: 42% 58%; gap: 5px; padding: 5px; }
.wlu-maillist { min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: 3px; padding-right: 1px; }
.wlu-maillistempty, .wlu-mailempty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; height: 100%; color: #8fa393; font-size: .36rem; }
.wlu-mailempty b { font-size: 1.4rem; }
.wlu-mailempty i { font-style: normal; font-size: .3rem; color: #6f8068; }
.wlu-mailrow {
  display: flex; align-items: center; gap: 4px; width: 100%; padding: 3px 4px; cursor: pointer; text-align: left;
  border: 1px solid #405145; background: rgba(0,0,0,.24); color: #dfe8d2;
}
.wlu-mailrow.on { border-color: #ffd76a; background: rgba(255,200,80,.09); box-shadow: 0 0 8px rgba(255,190,70,.22); }
.wlu-mailrow.claimed { opacity: .58; }
.wlu-mailic { flex: 0 0 22px; width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; font-size: 14px; border: 1px solid var(--mc, #ffd76a); background: rgba(0,0,0,.35); }
.wlu-mailbd { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.wlu-mailbd b { font-size: .4rem; line-height: 1.15; color: #eef5e2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wlu-mailbd i { font-size: .28rem; line-height: 1.15; font-style: normal; color: #93a48a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wlu-mailst { flex: 0 0 auto; font-size: .28rem; color: #ffd76a; }
.wlu-mailst.done { color: #7fbf3f; }
.wlu-maildetail { min-height: 0; overflow-y: auto; padding: 4px 5px; border: 1px solid #405145; background: rgba(0,0,0,.22); display: flex; flex-direction: column; gap: 3px; }
.wlu-maildhead { display: flex; align-items: center; gap: 5px; border-bottom: 1px dashed rgba(120,200,220,.18); padding-bottom: 3px; }
.wlu-maildic { flex: 0 0 28px; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; font-size: 17px; border: 1px solid var(--mc, #ffd76a); background: rgba(0,0,0,.35); }
.wlu-maildhead > div { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.wlu-maildhead b { font-size: .46rem; color: #ffe08a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wlu-maildhead span { font-size: .3rem; color: #9fb088; }
.wlu-maildhead em { font-size: .3rem; font-style: normal; color: #ffd76a; }
.wlu-maildhead em.done { color: #7fbf3f; }
.wlu-mailbodytxt { font-size: .36rem; line-height: 1.45; color: #cfe0b8; }
.wlu-mailsec { margin-top: 1px; font-size: .3rem; color: #8fe8ff; letter-spacing: .08em; border-bottom: 1px dashed rgba(120,200,220,.18); }
.wlu-mailrws { display: flex; flex-wrap: wrap; gap: 3px; }
.wlu-mailrw { display: flex; align-items: center; gap: 2px; padding: 2px 4px; border: 1px solid #4f6d78; background: rgba(0,0,0,.25); font-size: .3rem; }
.wlu-mailrw i { font-style: normal; font-size: 10px; }
.wlu-mailrw b { color: #ffd76a; font-family: "Courier New", monospace; }
.wlu-mailrw em { font-style: normal; color: #9fb088; }
.wlu-mailrw.empty { color: #6f8068; }
.wlu-mailmeta { display: flex; align-items: center; gap: 4px; font-size: .28rem; color: #8fa393; }
.wlu-mailmeta span { flex: 0 0 48px; }
.wlu-mailmeta b { font-weight: 400; color: #cfe0b8; }
.wlu-maildact { margin-top: auto; padding-top: 3px; display: flex; justify-content: flex-end; }
.wlu-mailclaim { height: 23px; padding: 0 10px; border: 1px solid #ffe6b0; background: linear-gradient(180deg, #ffd88a, #d69a32); color: #2a1c03; font-size: .36rem; font-weight: 900; cursor: pointer; }
.wlu-maildone { font-size: .3rem; color: #7fbf3f; }
.wlu-mailfoot { flex: 0 0 20px; display: flex; align-items: center; gap: 8px; padding: 0 6px; border-top: 1px solid #3d4c38; background: rgba(0,0,0,.26); font-size: .28rem; color: #8fa393; }
.wlu-mailfoot i { font-style: normal; color: #6f8068; margin-left: auto; }

/* ---------- 小屏 / 矮屏 ---------- */
@media (max-width: 720px) {
  #wlu-back { height: 30px; padding: 0 9px 0 6px; }
  #wlu-back b { font-size: .46rem; }
  body.wlu-subview .wl-view.active .wl-h1 { padding-left: 50px !important; }
  .wlu-daily { width: 180px !important; min-width: 180px !important; }
  .wlu-mailbody { grid-template-columns: 44% 56%; gap: 3px; padding: 3px; }
  .wlu-mailhead { flex-basis: 26px; }
  .wlu-mailhead b { font-size: .48rem; }
  .wlu-mailcount { font-size: .3rem; }
  .wlu-mailrow { padding: 2px 3px; }
  .wlu-mailic { flex-basis: 18px; width: 18px; height: 18px; font-size: 12px; }
  .wlu-mailbd b { font-size: .34rem; }
  .wlu-mailbd i, .wlu-mailst { font-size: .24rem; }
  .wlu-maildetail { padding: 3px; }
  .wlu-maildhead b { font-size: .4rem; }
  .wlu-mailbodytxt { font-size: .32rem; }
  .wlu-mailmeta { font-size: .24rem; }
  .wlu-mailmeta span { flex-basis: 40px; }
  .wlu-mailfoot { font-size: .24rem; }
}
@media (max-height: 380px) {
  #wlu-back { height: 28px; top: 5px; }
  body.wlu-subview .wl-view.active .wl-h1 { padding-left: 48px !important; }
  .wlu-daily { top: 72px !important; width: 178px !important; min-width: 178px !important; height: 28px !important; min-height: 28px !important; }
  .wll-wfbox .wll-wfhero { flex-basis: 36px !important; min-height: 36px !important; }
  .wll-wfbox .wll-wftabs { max-height: 42px; }
  .wll-wfbox .wll-wftabs button { font-size: 7px !important; min-height: 17px !important; }
  .wll-right-bag { padding: 4px 6px; }
  .wll-right-bag .wrb-tx i { display: none; }
}
@media (max-width: 520px) {
  .wlu-daily {
    width: 36px !important; min-width: 36px !important; height: 36px !important; min-height: 36px !important;
    top: 70px !important; padding: 0 !important; justify-content: center;
    clip-path: none; border: 1px solid #ffd76a !important; background: linear-gradient(180deg, #1c2413, #0a0f08) !important;
    animation: none; filter: drop-shadow(0 2px 5px rgba(0,0,0,.7));
  }
  .wlu-daily::before { display: none; }
  .wlu-daily .wd-tx, .wlu-daily .wd-arrow { display: none; }
  .wlu-daily .wd-em { font-size: 17px !important; }
  .wlu-mailbody { grid-template-columns: 46% 54%; }
  .wlu-mailfoot i { display: none; }
}
/* V1.62.5 fix：返回键与标题留距 / 任务页标题流式 */
body.wlu-subview .wl-view.active .wl-h1 { padding-left: 86px !important; }
body.wlu-subview .evp-view .evp-top { padding-left: 86px !important; }
body.wlu-subview #wl-v-idle .idle-top { padding-left: 82px !important; }
body.wlu-subview #wl-v-heroes .hs3-top { padding-left: 80px !important; }
body.wlu-subview #wl-v-lord .lord-top { padding-left: 82px !important; }
body.wlu-subview #wl-v-slot .lucky-head { padding-left: 82px !important; }
#wl-v-tasks.active { padding-top: 30px !important; }
#wl-v-tasks > .wl-h1 { position: static !important; left: auto !important; top: auto !important; margin: 0 0 4px !important; }
@media (max-width: 720px) {
  body.wlu-subview .wl-view.active .wl-h1 { padding-left: 78px !important; }
  body.wlu-subview .evp-view .evp-top { padding-left: 78px !important; }
  body.wlu-subview #wl-v-idle .idle-top { padding-left: 74px !important; }
  body.wlu-subview #wl-v-heroes .hs3-top { padding-left: 72px !important; }
}

/* V1.62.5 fix：邮箱详情固定领取按钮，底部不重叠 */
.wlu-maildetail { overflow: hidden !important; display: flex !important; flex-direction: column !important; gap: 0 !important; }
.wlu-mailscroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: 3px; padding-right: 2px; }
.wlu-maildact { flex: 0 0 27px; margin-top: 0 !important; padding-top: 2px !important; border-top: 1px solid rgba(120,200,220,.16); align-items: center; }
.wlu-mailfoot { flex-basis: 18px !important; font-size: .26rem !important; }
/* V1.62.5 fix：极窄屏保留可读性，卡片仍接近 6:4 */
.wl-modal .wl-mod-box:not(.arx-match-box):not(.arx-vs-box),
.wll-wfbox, .wlu-mailbox, .wlu-pickbox, .wlu-buybox {
  min-width: min(360px, 92vw) !important;
  min-height: min(220px, 86vh) !important;
}
/* V1.62.5 fix：首页右栏控件像素化 */
.wll-main-right .wll-promo .wl-btn,
.wll-main-right #wll-mainquest-entry,
.wll-main-right #wll-right-bag,
.wll-main-right .wll-right-actions .wll-daily-entry {
  border-radius: 2px !important;
  box-shadow: 0 2px 0 #000, inset 0 1px 0 rgba(255,255,255,.12) !important;
}
.wll-main-right .wll-promo .wl-btn:active,
.wll-main-right #wll-mainquest-entry:active,
.wll-main-right #wll-right-bag:active,
.wll-main-right .wll-right-actions .wll-daily-entry:active { transform: translateY(1px); box-shadow: none !important; }
/* V1.62.5 fix：小卡片内旧弹窗内容收紧，避免按钮被切 */
#wl-get .wl-mod-box { padding: 4px 8px 9px !important; }
#wl-get .wl-get-bal { font-size: .44rem !important; margin-bottom: 2px !important; }
#wl-get .wl-sec { padding: 3px 5px !important; margin-bottom: 3px !important; }
#wl-get .wl-sec-t { font-size: .48rem !important; margin-bottom: 1px !important; }
#wl-get .wl-sec-d { font-size: .38rem !important; line-height: 1.28 !important; }
#wl-get .wl-row { gap: 3px !important; margin: 4px 0 !important; }
#wl-get .wl-btn { min-height: 19px !important; padding: 2px 7px !important; font-size: .44rem !important; }
#wl-get .wl-amt-btn { min-height: 18px !important; padding: 1px 5px !important; font-size: .42rem !important; }
.wl-modal .wl-mod-box { scrollbar-width: thin; scrollbar-color: #ffd76a #10150f; }
.wl-modal .wl-mod-box::-webkit-scrollbar { width: 5px; }
.wl-modal .wl-mod-box::-webkit-scrollbar-thumb { background: #8a6a28; }

/* =====================================================================
 * V1.62.6 · 恢复刘海/挖孔安全区 + 返回键嵌入页面 header
 * ===================================================================== */

/* ---------- 安全区：应用外壳统一留边，页面不再各自重复 ---------- */
body .wl-app {
  padding: var(--wll-sat) var(--wll-sar) var(--wll-sab) var(--wll-sal) !important;
  height: 100dvh !important;
  box-sizing: border-box !important;
}
body .wl-view.active { height: 100% !important; }
body.wll-battle .wl-app,
body.on-alley .wl-app,
body.on-tavern .wl-app {
  padding: 0 !important;
  height: 100dvh !important;
}
body.on-main #wl-v-main.active {
  padding: 6px 8px 7px 8px !important;
}

/* 后街：地图区域本身也限制在安全区内 */
body.on-alley .wll-alley-page,
.wll-alley-page {
  left: var(--wll-sal) !important;
  right: var(--wll-sar) !important;
  top: var(--wll-sat) !important;
  bottom: var(--wll-sab) !important;
  width: auto !important;
  height: auto !important;
}
body.on-alley .wll-alley-body { padding: 0 !important; }

/* 任务页：标题恢复流式，不再为浮动返回键留 30px */
#wl-v-tasks.active { padding-top: 5px !important; }

/* 清掉 V1.62.5 为浮动返回键加的标题内缩 */
body.wlu-subview .wl-view.active .wl-h1,
body.wlu-subview .evp-view .evp-top,
body.wlu-subview #wl-v-idle .idle-top,
body.wlu-subview #wl-v-heroes .hs3-top,
body.wlu-subview #wl-v-lord .lord-top,
body.wlu-subview #wl-v-slot .lucky-head {
  padding-left: 0 !important;
}
body.wlu-subview #wl-v-idle .idle-top { padding-left: 4px !important; }
body.wlu-subview #wl-v-lord .lord-top { padding-left: 4px !important; }

/* 浮动返回键彻底隐藏 */
#wlu-back { display: none !important; }

/* ---------- 返回键：放回各页面 header 内 ---------- */
.wl-view .wl-h1 {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.wl-view .wl-h1 .back {
  display: inline-flex !important;
  order: -1 !important;
  flex: 0 0 auto !important;
  margin: 0 1px 0 0 !important;
}
.wl-view .wl-h1 .back .wl-btn,
.hs3-back,
.idle-back,
.wlu-inline-back {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  min-height: 28px !important;
  height: 28px !important;
  padding: 0 9px 0 7px !important;
  border: 2px solid #ffd76a !important;
  border-radius: 2px !important;
  background: linear-gradient(180deg, #3a2c12, #171006 72%) !important;
  color: #ffe6a6 !important;
  font-size: .46rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  box-shadow: 0 0 0 1px #070907, 0 0 10px rgba(255,190,70,.32), inset 0 1px 0 rgba(255,255,255,.16) !important;
  text-shadow: 0 1px 0 #000 !important;
}
.wl-view .wl-h1 .back .wl-btn:active,
.hs3-back:active,
.idle-back:active,
.wlu-inline-back:active {
  transform: translateY(1px);
  filter: brightness(1.16);
}
.wlu-inline-back span { font-size: 15px; line-height: 1; }
.wlu-inline-back b { font-size: .46rem; line-height: 1; }
.wlu-inlinebar {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 7px 3px;
  box-sizing: border-box;
}
.wlu-inlinebar + * { flex: 1 1 auto; min-height: 0; }
#wl-v-guild.active { display: flex !important; flex-direction: column !important; align-items: stretch !important; }

/* 小屏收紧 */
@media (max-width: 720px) {
  .wl-view .wl-h1 .back .wl-btn,
  .hs3-back, .idle-back, .wlu-inline-back {
    min-height: 26px !important; height: 26px !important;
    padding: 0 7px 0 5px !important; font-size: .42rem !important;
  }
}

/* V1.62.6 fix：首页 .wl-app 的左安全区被旧 body.on-main 规则覆盖 */
body.on-main .wl-app {
  padding-left: var(--wll-sal) !important;
  padding-right: var(--wll-sar) !important;
  padding-top: var(--wll-sat) !important;
  padding-bottom: var(--wll-sab) !important;
}
/* V1.62.6 fix：英雄/挂机返回键被旧 display:none 规则压住 */
.wl-view .hs3-back,
.wl-view .idle-back,
.wl-view .lord-back {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 28px !important;
  height: 28px !important;
  padding: 0 9px 0 7px !important;
  border: 2px solid #ffd76a !important;
  border-radius: 2px !important;
  background: linear-gradient(180deg, #3a2c12, #171006 72%) !important;
  color: #ffe6a6 !important;
  font-size: .46rem !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
  box-shadow: 0 0 0 1px #070907, 0 0 10px rgba(255,190,70,.32), inset 0 1px 0 rgba(255,255,255,.16) !important;
}
/* 招募页右栏高度按剩余空间计算，避免底部按钮落进安全区 */
#wl-v-recruit.active { display: flex !important; flex-direction: column !important; overflow: hidden !important; }
#wl-v-recruit .wll-rec-wrap { flex: 1 1 auto !important; height: auto !important; min-height: 0 !important; }
#wl-v-recruit .wll-rec-right { min-height: 0 !important; }
#wl-v-recruit .wll-rec-foot { flex: none !important; }
/* V1.62.6 fix：招募页 flex 换列导致右栏溢出 */
#wl-v-recruit.active { flex-wrap: nowrap !important; }
/* V1.62.6 fix：内嵌返回键统一外观 / 无 header 页使用真正页头条 */
.wl-view .arx-back {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 52px !important; height: 28px !important;
  padding: 0 8px 0 6px !important;
  border: 2px solid #ffd76a !important; border-radius: 2px !important;
  background: linear-gradient(180deg, #3a2c12, #171006 72%) !important;
  color: #ffe6a6 !important; font-size: .46rem !important; font-weight: 900 !important;
  box-shadow: 0 0 0 1px #070907, 0 0 10px rgba(255,190,70,.32), inset 0 1px 0 rgba(255,255,255,.16) !important;
}
.wlu-inlinebar {
  background: linear-gradient(180deg, rgba(18,25,16,.96), rgba(8,12,8,.9)) !important;
  border-bottom: 1px solid #3f5030 !important;
  box-shadow: 0 2px 0 #000, inset 0 1px 0 rgba(255,255,255,.06);
  margin: 0 0 3px !important;
}
#wl-v-lord.active { display: flex !important; flex-direction: column !important; }
#wl-v-lord #wl-lord-body { flex: 1 1 auto !important; min-height: 0 !important; height: auto !important; }
#wl-v-recruit .wlu-inlinebar { margin-bottom: 0 !important; }
/* V1.62.6 fix：首页右栏底部的背包按钮在底部安全区上收 */
#wll-right-bag { min-height: 26px !important; padding: 3px 6px !important; margin-top: 3px !important; }
#wll-right-bag .wrb-tx i { display: none !important; }
#wll-main-right { padding-bottom: 2px !important; }
/* =====================================================================
 * V1.62.7 · 商店统一英雄碎片卡 UI + 极品鎏金
 * ===================================================================== */
.wlt-shop-card.rq1 { --rqc: #8a9382; }
.wlt-shop-card.rq2 { --rqc: #69b45a; }
.wlt-shop-card.rq3 { --rqc: #4aa8d8; }
.wlt-shop-card.rq4 { --rqc: #b06ee0; }
.wlt-shop-card.rq5 { --rqc: #e0a13c; }
.wlt-shop-card.rq6 { --rqc: #e05a4a; }
.wlt-shop-card.rq7 { --rqc: #ffd76a; }
.wlt-shop-card {
  width: 100%; min-width: 0; overflow: hidden;
  transition: transform .14s ease, border-color .16s ease, box-shadow .16s ease, filter .16s ease;
}
.wlt-shop-card:hover { transform: translateY(-2px); filter: brightness(1.12); }
.wlt-shop-card.dis, .wlt-shop-card[disabled] { opacity: .48; filter: grayscale(.35); }
.wlt-shop-card .wlt-shop-av { flex: 0 0 auto; }
.wlt-shop-card .wlt-shop-sub { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.wlt-shop-card .wlt-shop-price { display: flex; align-items: center; justify-content: center; min-height: 19px; }
.wlt-shop-price .wsc-pr { display: inline-flex; align-items: center; justify-content: center; gap: 3px; flex-wrap: wrap; }
.wlt-shop-price .wsc-old { font-size: 8px; color: #8f8468; text-decoration: line-through; font-weight: 400; }
.wlt-shop-price .wsc-now { color: #ffe19a; font-size: 10px; font-weight: 900; }
.wlt-shop-price .zxc { width: 10px; height: 10px; }

/* 品质角标 / 促销角标 */
.wlt-shop-fac { font-size: 10px; line-height: 1; }
.wlt-shop-hot {
  position: absolute; left: 5px; bottom: 27px; z-index: 4;
  font-size: 7px; line-height: 1; color: #2a1200; background: linear-gradient(180deg, #ffd76a, #e8902a);
  border: 1px solid #ffe9ae; padding: 2px 4px; box-shadow: 0 0 8px rgba(255,170,50,.5);
}
.wlt-shop-off {
  position: absolute; right: 5px; top: 5px; z-index: 4;
  font-size: 7px; line-height: 1; color: #fff2c4; background: linear-gradient(180deg, #b84c2f, #6e1d12);
  border: 1px solid #ff9b6a; padding: 2px 4px; box-shadow: 0 0 7px rgba(255,80,40,.35);
}
.wlt-shop-goldtag {
  position: absolute; left: 50%; top: 4px; transform: translateX(-50%); z-index: 5;
  font-size: 7px; line-height: 1; font-weight: 900; letter-spacing: .06em;
  color: #3a2100; background: linear-gradient(180deg, #fff4c4, #ffd05a 55%, #c78b18);
  border: 1px solid #fff3bd; padding: 2px 5px;
  box-shadow: 0 0 9px rgba(255,210,90,.8), inset 0 1px 0 rgba(255,255,255,.8);
}

/* 极品 / 神话：鎏金光 + 金色闪动 */
@keyframes wltGoldSweep { 0% { background-position: -220% 0; } 100% { background-position: 220% 0; } }
@keyframes wltGoldPulse {
  0%, 100% { box-shadow: inset 0 0 0 2px #080906, 0 0 10px rgba(255,200,70,.42), 0 3px 0 #000; }
  50% { box-shadow: inset 0 0 0 2px #080906, 0 0 20px rgba(255,220,110,.8), 0 3px 0 #000; }
}
.wlt-shop-card.rq6 {
  border-color: #e05a4a !important;
  box-shadow: inset 0 0 0 2px #080906, 0 0 10px rgba(224,90,74,.38), 0 3px 0 #000;
}
.wlt-shop-card.rq7 {
  border-color: #ffd76a !important;
  background: linear-gradient(180deg, #302711, #0d0e08) !important;
  animation: wltGoldPulse 1.8s ease-in-out infinite;
}
.wlt-shop-card.rq7::after {
  content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(115deg, transparent 25%, rgba(255,248,210,.34) 44%, rgba(255,210,90,.14) 52%, transparent 69%);
  background-size: 220% 100%;
  animation: wltGoldSweep 2.8s linear infinite;
  mix-blend-mode: screen;
}
.wlt-shop-card.rq7 > * { position: relative; z-index: 2; }
.wlt-shop-card.rq7 .wlt-shop-goldtag { z-index: 5; }
.wlt-shop-card.rq7 .wlt-shop-av { border-color: #ffe6a0; box-shadow: 0 0 12px rgba(255,215,120,.55); }

/* 商城：分类商品统一 108px 起方块卡，可纵向滚动 */
#wl-v-shop #wl-shop-body .shop-grid {
  grid-template-columns: repeat(auto-fill, minmax(108px, 1fr)) !important;
  grid-auto-rows: auto !important;
  align-content: start;
  gap: 7px !important;
}
#wl-v-shop #wl-shop-body .shop-grid .wlt-shop-card { min-height: 0; }
#wl-v-shop #wl-shop-body .wlt-shop-grid { grid-template-columns: repeat(auto-fill, minmax(108px, 1fr)); }

/* 竞技场商店沿用同一卡片，保持横向可滚动 */
.ar3-shopgrid .wlt-shop-card { width: 88px; min-width: 88px; }
.ar3-shopgrid .wlt-shop-av { width: 42px; height: 42px; }
.ar3-shopgrid .wlt-av-em { font-size: 24px !important; }
/* =====================================================================
 * V1.62.8 · 首页展示英雄放大 + 右栏背包边框
 * ===================================================================== */
@media (min-width: 720px) {
  #wl-v-main .hst { width: 80px; }
  #wl-v-main .hst-fig { width: 86px; height: 152px; }
  #wl-v-main .hst-img, #wl-v-main .wl-bodysvg {
    max-width: 86px; max-height: 152px; width: 86px; height: 152px;
  }
  #wl-v-main .hst-nm { font-size: .64rem; }
  #wl-v-main .hst-sub { font-size: .52rem; }
}
@media (max-width: 719px) {
  #wl-v-main .hst { width: 68px; }
  #wl-v-main .hst-fig { width: 72px; height: 122px; }
  #wl-v-main .hst-img, #wl-v-main .wl-bodysvg {
    max-width: 72px; max-height: 122px; width: 72px; height: 122px;
  }
  #wl-v-main .hst-nm { font-size: .56rem; }
  #wl-v-main .hst-sub { font-size: .46rem; }
}
@media (max-height: 380px) and (min-width: 720px) {
  #wl-v-main .hst-fig { width: 78px; height: 124px; }
  #wl-v-main .hst-img, #wl-v-main .wl-bodysvg { max-width: 78px; max-height: 124px; width: 78px; height: 124px; }
}

/* 右栏仓库背包：加粗金边 + 内金线 + 更明显的点击卡 */
#wll-right-bag {
  min-height: 34px !important;
  padding: 4px 9px !important;
  border: 2px solid #c79a3a !important;
  border-radius: 3px !important;
  background: linear-gradient(180deg, #3a3018, #171208 72%) !important;
  box-shadow: 0 0 0 2px #070907, inset 0 0 0 1px #f0cf7a, 0 3px 0 #000, 0 0 12px rgba(255,190,70,.22) !important;
  position: relative;
}
#wll-right-bag::before {
  content: ''; position: absolute; left: 3px; top: 3px; width: 7px; height: 7px;
  border-left: 1px solid #ffe6a6; border-top: 1px solid #ffe6a6; pointer-events: none;
}
#wll-right-bag::after {
  content: ''; position: absolute; right: 3px; bottom: 3px; width: 7px; height: 7px;
  border-right: 1px solid #ffe6a6; border-bottom: 1px solid #ffe6a6; pointer-events: none;
}
#wll-right-bag .wrb-em { font-size: 1.02rem !important; filter: drop-shadow(0 0 6px rgba(255,200,80,.45)); }
#wll-right-bag .wrb-tx b { font-size: .58rem !important; color: #ffe6a0 !important; }
#wll-right-bag .wrb-tx i { display: none !important; }
#wll-right-bag .wrb-go { font-size: 18px !important; color: #ffd76a !important; }
#wll-right-bag:active { transform: translateY(1px); filter: brightness(1.16); }
@media (max-height: 380px) {
  #wll-right-bag { min-height: 30px !important; padding: 3px 7px !important; }
  #wll-right-bag .wrb-em { font-size: .92rem !important; }
}
/* V1.62.8 fix：底部安全区下背包按钮高度收紧，保证边框完整可见 */
#wll-right-bag { box-sizing: border-box !important; }
@media (max-height: 380px) {
  #wll-right-bag {
    height: 30px !important; min-height: 30px !important;
    padding: 2px 6px !important; margin-top: 1px !important;
  }
  #wll-right-bag .wrb-em { font-size: .88rem !important; }
  #wll-right-bag .wrb-tx b { font-size: .52rem !important; }
  #wll-right-bag .wrb-go { font-size: 15px !important; }
}
/* V1.62.8 fix2：右栏间距收紧 + 背包固定 32px，安全区下仍完整 */
#wll-main-right { gap: 3px !important; }
#wll-right-bag {
  height: 32px !important; min-height: 32px !important;
  padding: 2px 7px !important; margin-top: 0 !important;
}
@media (max-height: 380px) {
  #wll-right-bag { height: 30px !important; min-height: 30px !important; }
}
/* V1.62.10 战斗结算半透明：保留战场背景，点击按钮后再退出 */
.arx-result{background:radial-gradient(70% 60% at 50% 40%, rgba(20,90,120,.18), transparent 70%), linear-gradient(180deg, rgba(2,8,12,.41), rgba(1,4,6,.58)) !important;}
.arx-result::before{background:radial-gradient(60% 60% at 50% 50%, transparent 26%, rgba(0,0,0,.24) 100%) !important;}
.arx-result-art{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:.16;filter:saturate(.85);pointer-events:none;}
.arx-result-sub,.arx-result-stats,.arx-result-content{text-shadow:0 2px 8px rgba(0,0,0,.85);}
@media (prefers-reduced-motion: reduce){.arx-result-rays{animation:none;}}
/* V1.63.0 首页资源加号红色 */
.wlu-cur .wlu-cc .plus{background:linear-gradient(180deg,#e14b3a,#8f1f18);border-color:#ff9b8c;color:#fff;box-shadow:0 0 7px rgba(255,80,60,.55);}
/* V1.63.0 伤害飘字不换行 */
.wl-float{white-space:nowrap;}

/* V1.63.5：重试耗尽仍失败的图片隐藏，避免 iOS 蓝色问号裂图 */
img[data-wl-failed="1"]{visibility:hidden!important;}
/* V1.63.5：登录安全码显示/隐藏 + 禁止浏览器把邮箱密码自动填进来 */
#wl-login .wllg-secwrap{position:relative;display:block;}
#wl-login .wllg-secwrap input{padding-right:58px;}
#wl-login .wllg-eye{position:absolute;right:4px;top:4px;height:34px;min-width:48px;padding:0 6px;border:1px solid #4b4129;background:#11150b;color:#c9b98d;font:700 10px/1 "Courier New","Microsoft YaHei",monospace;letter-spacing:.06em;cursor:pointer;}
#wl-login .wllg-eye:active{transform:translateY(1px);}
/* ===== V1.63.4 像素风登录界面 ===== */
#wl-login{position:fixed;inset:0;z-index:1900;display:flex;align-items:center;justify-content:center;
  padding:max(10px,var(--wll-sat,env(safe-area-inset-top,0px))) max(12px,var(--wll-sar,env(safe-area-inset-right,0px))) max(10px,var(--wll-sab,env(safe-area-inset-bottom,0px))) max(12px,var(--wll-sal,env(safe-area-inset-left,0px)));
  background:#070a06;overflow:hidden;color:#e8e2cb;font-family:"Courier New","Microsoft YaHei",monospace;}
#wl-login .wllg-bg{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(70% 60% at 50% 10%,rgba(143,209,79,.14),transparent 62%),radial-gradient(60% 60% at 90% 100%,rgba(192,84,48,.12),transparent 62%),linear-gradient(180deg,#12170e,#070a06 70%);
  filter:saturate(.9);}
#wl-login .wllg-scan{position:absolute;inset:0;pointer-events:none;opacity:.45;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 1px,transparent 1px 3px);mix-blend-mode:multiply;}
#wl-login .wllg-wrap{position:relative;z-index:2;display:flex;gap:26px;align-items:center;justify-content:center;width:min(92vw,980px);max-height:100%;}
#wl-login .wllg-brand{flex:0 0 40%;min-width:0;text-align:center;padding:6px 8px;}
#wl-login .wllg-emblem{width:92px;height:92px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;
  font-size:38px;color:#ffd76a;background:linear-gradient(180deg,#3a2c12,#171006);border:2px solid #c49a3f;
  box-shadow:inset 0 0 0 3px #0a0905,0 0 22px rgba(255,190,70,.28);clip-path:polygon(0 8px,8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px));}
#wl-login .wllg-brand h1{margin:0;font-size:clamp(30px,4.4vw,52px);line-height:1;letter-spacing:.18em;color:#d7f0a0;text-shadow:0 3px 0 #000,0 0 26px rgba(143,209,79,.35);}
#wl-login .wllg-brand .en{margin-top:8px;font-size:clamp(9px,1vw,12px);letter-spacing:.6em;color:#8b9a72;}
#wl-login .wllg-brand .line{width:130px;height:2px;margin:12px auto;background:linear-gradient(90deg,transparent,#c49a3f,transparent);}
#wl-login .wllg-brand .sub{font-size:12px;letter-spacing:.2em;color:#a9b893;}
#wl-login .wllg-card{flex:1 1 auto;min-width:0;max-width:390px;padding:20px 20px 16px;background:linear-gradient(180deg,rgba(30,31,19,.98),rgba(13,15,9,.99));
  border:2px solid #7a6438;box-shadow:inset 0 0 0 3px #0b0c07,0 18px 50px rgba(0,0,0,.72),0 0 24px rgba(255,190,70,.08);
  clip-path:polygon(0 10px,10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px));}
#wl-login .wllg-kicker{font-size:10px;letter-spacing:.4em;color:#8fd14f;opacity:.85;}
#wl-login .wllg-title{font-size:20px;font-weight:900;letter-spacing:.12em;color:#ffe6a6;margin:2px 0 12px;text-shadow:0 2px 0 #000;}
#wl-login .wllg-field{display:block;margin:0 0 10px;}
#wl-login .wllg-field span{display:block;font-size:10px;letter-spacing:.12em;color:#a79b7e;margin-bottom:4px;}
#wl-login .wllg-field input{display:block;width:100%;height:42px;padding:0 10px;border:2px solid #4b4129;background:#080a06;color:#fff4d8;font-family:inherit;font-size:16px;outline:none;box-shadow:inset 0 0 0 2px #0e0e09;}
#wl-login .wllg-field input:focus{border-color:#c9a34a;box-shadow:inset 0 0 0 2px #0e0e09,0 0 0 2px rgba(255,207,90,.16);}
#wl-login .wllg-field input::placeholder{color:#5f5a48;}
#wl-login .wllg-msg{min-height:18px;font-size:11px;line-height:1.4;color:#ff9a7a;margin:0 0 6px;}
#wl-login .wllg-msg.ok{color:#8fd14f;}
#wl-login .wllg-go{width:100%;height:44px;border:2px solid #d9ff96;color:#10160a;font:900 15px/1 "Courier New","Microsoft YaHei",monospace;letter-spacing:.18em;cursor:pointer;
  background:linear-gradient(180deg,#b9e26b,#6f9f31);box-shadow:inset 0 -4px 0 #3d5c17,0 0 16px rgba(143,209,79,.25);}
#wl-login .wllg-go:active{transform:translateY(1px);}
#wl-login .wllg-go:disabled{opacity:.55;filter:grayscale(.4);}
#wl-login .wllg-foot{margin-top:11px;font-size:9px;line-height:1.6;color:#746b52;text-align:center;}
#wl-login .wllg-foot b{color:#b7a983;font-weight:400;}
@media (orientation:portrait){
  #wl-login .wllg-wrap{flex-direction:column;gap:14px;width:min(90vw,400px);}
  #wl-login .wllg-brand{flex:0 0 auto;padding:0;}
  #wl-login .wllg-emblem{width:62px;height:62px;font-size:26px;margin-bottom:6px;}
  #wl-login .wllg-brand h1{font-size:clamp(26px,7vw,36px);}
  #wl-login .wllg-brand .line{margin:7px auto;width:100px;}
  #wl-login .wllg-card{width:100%;max-width:none;padding:15px 16px 13px;}
}
@media (max-height:380px) and (orientation:landscape){
  #wl-login .wllg-wrap{gap:18px;}
  #wl-login .wllg-emblem{width:58px;height:58px;font-size:24px;margin-bottom:6px;}
  #wl-login .wllg-brand h1{font-size:29px;}
  #wl-login .wllg-brand .en{margin-top:4px;font-size:8px;}
  #wl-login .wllg-brand .line{margin:6px auto;width:90px;}
  #wl-login .wllg-brand .sub{font-size:10px;}
  #wl-login .wllg-card{padding:12px 15px 10px;max-width:360px;}
  #wl-login .wllg-title{font-size:16px;margin-bottom:7px;}
  #wl-login .wllg-field{margin-bottom:6px;}
  #wl-login .wllg-field input{height:34px;}
  #wl-login .wllg-go{height:38px;}
  #wl-login .wllg-foot{margin-top:6px;font-size:8px;}
}

/* ===== V1.63.4 战斗全屏无黑边（安全区只让 HUD） ===== */
#wl-v-battle.bat3.active{padding:0!important;background:#080b07!important;width:100vw!important;height:100dvh!important;height:100vh!important;}
#wl-v-battle.bat3.active .wl-bat-wrap{width:100%!important;height:100%!important;padding:0!important;border:0!important;margin:0!important;background:transparent!important;}
#wl-v-battle.bat3.active .wl-scene{inset:0!important;width:100%!important;height:100%!important;border:0!important;border-radius:0!important;}
#wl-v-battle.bat3.active .wll-bat-top{padding-left:calc(4px + var(--wll-sal,0px))!important;padding-right:calc(4px + var(--wll-sar,0px))!important;padding-top:calc(2px + var(--wll-sat,0px))!important;}
#wl-v-battle.bat3.active .wll-bat-bottom{padding-left:calc(4px + var(--wll-sal,0px))!important;padding-right:calc(4px + var(--wll-sar,0px))!important;padding-bottom:calc(2px + var(--wll-sab,0px))!important;}
#wl-scene .wll-hud.en{top:calc(2px + var(--wll-sat,0px))!important;right:calc(2px + var(--wll-sar,0px))!important;}
#wl-scene .wll-hud.my{left:calc(2px + var(--wll-sal,0px))!important;bottom:calc(2px + var(--wll-sab,0px))!important;}
#wl-scene #wll-bat-dock{right:calc(6px + var(--wll-sar,0px))!important;bottom:calc(2px + var(--wll-sab,0px))!important;}

/* ===== V1.63.4 酒馆：左栏底部按钮回到正常流 + 安全区 ===== */
#wl-v-tavern .wlt-root{padding:var(--wll-sat,env(safe-area-inset-top,0px)) var(--wll-sar,env(safe-area-inset-right,0px)) var(--wll-sab,env(safe-area-inset-bottom,0px)) var(--wll-sal,env(safe-area-inset-left,0px));}
#wl-v-tavern .wlt-left{padding-bottom:7px!important;}
#wl-v-tavern .wlt-left-btns{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;flex:0 0 auto!important;height:auto!important;min-height:44px!important;margin-top:auto!important;padding:0!important;z-index:12!important;}
#wl-v-tavern .wlt-left-btns .wlt-btn{height:40px!important;min-height:40px!important;}
#wl-v-tavern .wlt-left-btns .wlt-upinfo{flex:0 0 44px!important;max-width:44px!important;}
@media (max-height:350px) and (orientation:landscape){
  #wl-v-tavern .wlt-root{padding-top:2px!important;padding-bottom:calc(2px + var(--wll-sab,0px))!important;}
  #wl-v-tavern .wlt-left{padding-bottom:5px!important;}
  #wl-v-tavern .wlt-left-btns{min-height:36px!important;margin-top:3px!important;}
  #wl-v-tavern .wlt-left-btns .wlt-btn{height:34px!important;min-height:34px!important;font-size:12px!important;}
  #wl-v-tavern .wlt-tray{min-height:46px!important;}
}
/* V1.63.4 玩家主页退出登录 */
.wlu-logout{width:100%!important;margin-top:6px!important;border-color:#8a4a3a!important;color:#ffb7a0!important;background:linear-gradient(180deg,#4a231b,#24100c)!important;}

/* ===== V1.63.18 Canvas 战斗精灵层 ===== */
#wl-scene #wl-bat-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:4;}
#wl-scene.wl-canvas-battle .wl2-unit .u-spr,
#wl-scene.wl-canvas-battle .wl2-unit .u-img,
#wl-scene.wl-canvas-battle .wl2-unit .u-em{visibility:hidden!important;}

/* ===== V1.63.19 前后排层级/站位（Canvas 模式同样生效） ===== */
#wl-scene .wl2-unit{ z-index:14; }
#wl-scene .wl2-unit.back{ z-index:10; }
#wl-scene .wl2-unit.flyup{ z-index:18; }

/* V1.63.21: hide full strip until form cut done */
img[data-formsrc]:not([data-formst="done"]){visibility:hidden!important;}
/* V1.63.21: boss above back row but below front row */
#wl-scene .wl2-unit.b.boss{ z-index:12 !important; }
/* V1.63.21: damage floats above all units/boss/3D bodies */
#wl-fx{ z-index:30; }
#wl-fx .wl-float{ z-index:40 !important; }


/* ===== V1.63.25 战斗 3D 小人层稳定：战斗内停掉持续 3D 呼吸动画，避免安卓合成层逐帧重采样横向漂移；大厅/详情保留 ===== */
#wl-scene .wl2-unit .d3b{ animation: none !important; }
