.wm-timer{margin-left:auto;padding:4px 8px;border-radius:999px;background:#2d6a4f;color:#fff;font-weight:1000;font-size:12px}.wm-sabotage{padding:4px 7px;border-radius:999px;background:#8e44ad;color:#fff;font-size:11px;font-weight:1000}.wm-live-panel{display:grid;grid-template-columns:1fr 1fr;gap:5px;flex-shrink:0;max-height:106px;margin-bottom:4px}.wm-live-col{background:rgba(255,255,255,.72);border-radius:10px;padding:4px;min-width:0;overflow:hidden}.wm-live-title{font-size:10px;font-weight:1000;color:#8b4513;margin-bottom:2px}.wm-live-list{display:flex;flex-direction:column;gap:2px;overflow:auto;max-height:80px}.wm-live-row{display:grid;grid-template-columns:auto 1fr auto;gap:3px;align-items:center;font-size:9px;border-radius:7px;padding:2px 3px;background:rgba(255,255,255,.55);color:#5c2e0e}.wm-live-row.live{box-shadow:inset 2px 0 #2ecc71}.wm-live-row b{color:#c0392b;font-variant-numeric:tabular-nums}.wm-live-actions{display:flex;gap:2px}.wm-live-actions button{font-size:9px;padding:2px 4px;border-radius:6px;background:#2d6a4f;color:#fff}.wm-live-actions button.bad{background:#8e44ad}.wm-chatbar{display:flex;gap:4px;align-items:center;flex-shrink:0;margin-bottom:4px}.wm-chatbar button{border-radius:8px;background:rgba(255,255,255,.8);padding:5px 7px;color:#6b3410;font-weight:900}.wm-chatbar input{flex:1;min-width:0;border-radius:9px;border:none;padding:7px 9px;background:rgba(255,255,255,.85);color:#5c2e0e;font-size:12px}.wm-barrage{position:absolute;left:8px;right:92px;top:180px;pointer-events:none;z-index:6;display:flex;flex-direction:column;gap:4px}.wm-barrage-item{align-self:center;max-width:90%;border-radius:999px;background:rgba(0,0,0,.72);color:#fff;padding:6px 14px;font-size:16px;font-weight:800;animation:barrageFly 6s linear forwards;white-space:nowrap;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.4)}@keyframes barrageFly{0%{transform:translateX(0);opacity:0}5%{transform:translateX(0);opacity:1}55%{transform:translateX(0);opacity:1}100%{transform:translateX(-100vw);opacity:0}}.wm-watch-overlay{position:fixed;inset:0;z-index:9300;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.78);padding:14px}.wm-watch-box{width:min(92vw,390px);border-radius:18px;background:#111827;color:#fff;padding:12px;box-shadow:0 20px 60px rgba(0,0,0,.6)}.wm-watch-title{display:flex;justify-content:space-between;align-items:center;font-weight:1000;color:#ffd166;margin-bottom:8px}.wm-watch-title button{width:30px;height:30px;border-radius:10px;background:rgba(255,255,255,.12)}#wm-watch-canvas{width:100%;height:auto;border-radius:12px;background:#ffe8c8;display:block}.wm-watch-tip{text-align:center;font-size:11px;color:#94a3b8;margin-top:6px}.wm-marquee{position:fixed;left:50%;top:calc(var(--safe-t) + 6px);transform:translateX(-50%);width:min(94vw,430px);height:30px;overflow:hidden;pointer-events:none;z-index:9998;display:none;background:linear-gradient(90deg,rgba(0,0,0,.75),rgba(255,107,107,.55),rgba(0,0,0,.75));border-radius:16px;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 18px rgba(255,93,93,.4)}.wm-marquee.show{display:block}.wm-marquee-track{position:absolute;top:0;left:100%;height:100%;display:flex;align-items:center;white-space:nowrap;color:#ffd166;font-weight:1000;font-size:13px;padding:0 18px;gap:30px;animation:marqueeRun 10s linear 1}@keyframes marqueeRun{from{left:100%}to{left:-100%}}
@media(max-height:760px){.wm-live-panel{max-height:76px}.wm-live-list{max-height:50px}.wm-chatbar{gap:3px}.wm-chatbar button{padding:4px 5px;font-size:11px}.wm-chatbar input{padding:5px 7px;font-size:11px}.wm-barrage{top:140px}.wm-live-row{font-size:8px}}
.menu-live-panel{width:min(92%,420px);margin:8px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:6px;flex-shrink:0}
.menu-live-col{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:6px;min-width:0;color:#fff;backdrop-filter:blur(6px);display:flex;flex-direction:column;min-height:0}
.menu-live-title{font-size:10px;font-weight:1000;color:#ffd166;margin-bottom:4px;text-align:center;flex-shrink:0}
/* 滑动列表：主菜单排行榜/在线列表固定露出 3 行，其余滚动查看（行高约 30px + gap 3px） */
.menu-live-list{display:flex;flex-direction:column;gap:3px;max-height:calc(3 * 30px + 2 * 3px);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent;padding-right:2px}
.menu-live-panel .menu-live-col{max-height:calc(30px + 6px + 3 * 30px + 2 * 3px + 8px);overflow:hidden}
.menu-live-list::-webkit-scrollbar{width:4px}
.menu-live-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:2px}
.menu-live-row{display:grid;grid-template-columns:auto auto 1fr auto;gap:5px;align-items:center;font-size:11px;border-radius:8px;padding:4px 6px;background:rgba(255,255,255,.08);color:#eee;flex-shrink:0}
.menu-live-row.live{box-shadow:inset 2px 0 #2ecc71;background:rgba(46,204,113,.15)}
.menu-live-row b{color:#ff9f43;font-variant-numeric:tabular-nums;font-size:12px}
.menu-live-row span:nth-child(1){color:#ffd166;font-weight:1000;min-width:16px;text-align:center}
.menu-live-row > span.av{grid-column:2}
.menu-live-row span.av{position:relative;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#4ca6ff,#8e44ad);color:#fff;font-weight:1000;font-size:11px;display:inline-flex;align-items:center;justify-content:center;background-size:cover;background-position:center;flex-shrink:0}
.menu-live-row span.av .av-dot{position:absolute;right:-1px;bottom:-1px;width:7px;height:7px;border-radius:50%;background:#2ecc71;border:1.5px solid #17233d;box-shadow:0 0 4px rgba(46,204,113,.7)}
.menu-live-row > span:nth-child(3){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.menu-live-row button.eye{padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:14px;cursor:pointer}
.menu-live-row button.eye:hover:not(.dim){background:#2ecc71}
.menu-live-row button.eye.dim{opacity:.35;cursor:not-allowed;filter:grayscale(.7)}
@media(max-height:760px){.menu-live-panel{margin-top:10px}.menu-live-list{max-height:calc(3 * 28px + 2 * 3px)}.menu-live-row{font-size:10px;padding:3px 5px}.menu-live-row span.av{width:18px;height:18px;font-size:9px}}
@media(max-height:620px){.menu-live-list{max-height:calc(3 * 26px + 2 * 3px)}.menu-live-row{font-size:9px;padding:2px 4px}.menu-live-title{font-size:10px;margin-bottom:3px}.menu-live-row span.av{width:16px;height:16px;font-size:8px}}
.menu-name-btn{display:flex;align-items:center;gap:8px;margin:10px auto 0;padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#ffd166;font-size:12px;font-weight:800;cursor:pointer}
.menu-name-btn:hover{background:rgba(255,255,255,.18)}
.menu-my-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#4ca6ff,#8e44ad);color:#fff;font-weight:1000;font-size:16px;display:inline-flex;align-items:center;justify-content:center;background-size:cover;background-position:center;flex-shrink:0;border:2px solid rgba(255,255,255,.9);box-shadow:0 2px 8px rgba(0,0,0,.3),0 0 0 2px rgba(255,209,102,.55)}
/* 右上角账号卡片（升级为"很想点击"的引导样式） */
.menu-acc-card{
  position:absolute;top:calc(var(--safe-t,0px) + 8px);right:10px;z-index:10030;
  display:flex;align-items:center;gap:8px;
  min-height:44px;min-width:44px;box-sizing:border-box;
  padding:5px 14px 5px 5px;border-radius:999px;
  background:linear-gradient(135deg,rgba(255,107,107,.3),rgba(142,68,173,.3) 50%,rgba(76,166,255,.3));
  border:1.5px solid rgba(255,209,102,.5);color:#fff;cursor:pointer;
  backdrop-filter:blur(10px);
  box-shadow:0 6px 20px rgba(0,0,0,.45),0 0 0 0 rgba(255,209,102,.5);
  animation:macPulse 2.4s ease-in-out infinite;
  transition:transform .12s ease,filter .12s ease,box-shadow .2s ease;
  touch-action:none;
  -webkit-tap-highlight-color:transparent;
  -webkit-user-select:none;user-select:none;
}
.menu-acc-card.menu-acc-tap{transform:scale(.97);filter:brightness(1.15)}
.menu-acc-card:hover,.menu-acc-card:active{transform:scale(1.03);filter:brightness(1.12);animation-play-state:paused}
/* 已点击过资料卡：静默，关闭脉动和外发光环 */
.menu-acc-card.seen{animation:none;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.menu-acc-card.seen .menu-acc-ring{display:none}
.menu-acc-card.seen .menu-acc-cta{display:none}
.menu-acc-card.seen .menu-acc-sparkle{display:none}
/* 有可领任务时：红点 + 闪光（优先于 seen 静默） */
.menu-acc-card.task-alert{
  animation:macTaskPulse 1.5s ease-in-out infinite!important;
  box-shadow:0 6px 22px rgba(0,0,0,.5),0 0 0 2px rgba(255,77,120,.55),0 0 18px rgba(255,209,102,.35)!important;
}
.menu-acc-card.task-alert .menu-acc-ring{display:block!important;opacity:.85;border-color:rgba(255,120,160,.9)}
.menu-acc-card.task-alert .menu-acc-sparkle{display:block!important}
.menu-acc-task-dot{
  position:absolute;top:-4px;left:28px;z-index:22;
  min-width:18px;height:18px;padding:0 5px;border-radius:999px;
  background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;
  font-size:10px;font-weight:1000;line-height:18px;text-align:center;
  box-shadow:0 2px 8px rgba(239,68,68,.65);
  border:2px solid #1a1028;
  display:none;align-items:center;justify-content:center;
  animation:macDotPop .35s ease;
}
@keyframes macTaskPulse{
  0%,100%{filter:brightness(1);transform:scale(1)}
  50%{filter:brightness(1.12);transform:scale(1.02)}
}
@keyframes macDotPop{
  0%{transform:scale(.5);opacity:0}
  70%{transform:scale(1.15)}
  100%{transform:scale(1);opacity:1}
}

/* 资料卡头像右上角相机角标（已废弃；保留类定义向后兼容但不再使用） */
.wm-profile-av-cam{display:none!important}

/* UID=1001 专属：资料卡顶部 banner 上的「❤姜惜颜❤」
   设计思路：固定清晰的粉金色调，每 5s 扫过一次高光，中间保持静态易读 */
.wm-profile-jxy-crown{
  position:absolute;top:10px;left:50%;transform:translateX(-50%);
  z-index:3;pointer-events:none;
  display:inline-flex;align-items:center;gap:8px;
  padding:5px 16px;border-radius:999px;
  background:linear-gradient(135deg,rgba(76,29,97,.78),rgba(120,40,140,.68) 50%,rgba(200,60,130,.72));
  border:1.5px solid rgba(255,255,255,.85);
  box-shadow:
    0 6px 18px rgba(200,60,130,.45),
    0 0 0 1px rgba(255,255,255,.25) inset,
    0 2px 8px rgba(0,0,0,.35);
  font-size:16px;font-weight:1000;letter-spacing:3px;line-height:1;
  white-space:nowrap;overflow:hidden;
}
/* 扫光层：从左向右斜着扫过，每 5s 一次 */
.wm-profile-jxy-crown::before{
  content:'';position:absolute;top:0;bottom:0;left:-40%;width:30%;
  background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.75) 50%,transparent 100%);
  transform:skewX(-22deg);pointer-events:none;
  animation:wpjcSweep 5s ease-in-out infinite;
}
@keyframes wpjcSweep{
  0%{left:-40%}
  18%{left:140%}
  100%{left:140%}  /* 剩下时间保持在画外，等下次扫 */
}
.wm-profile-jxy-crown .wpjc-name{
  /* 固定清晰的暖金粉色，不做渐变变色 */
  color:#fff4c2;
  text-shadow:
    0 0 2px #ff80ab,
    0 1px 0 #6b1e4a,
    0 2px 6px rgba(0,0,0,.55),
    0 0 14px rgba(255,200,90,.65);
  letter-spacing:3px;
}
.wm-profile-jxy-crown .wpjc-heart{
  color:#ff6b9a;font-size:18px;
  filter:drop-shadow(0 0 4px rgba(255,107,154,.9));
  animation:wpjcHeart 1.6s ease-in-out infinite;
}
.wm-profile-jxy-crown .wpjc-heart:last-child{animation-delay:.8s}
@keyframes wpjcHeart{
  0%,100%{transform:scale(1)}
  25%{transform:scale(1.18)}
  50%{transform:scale(.92)}
}
@media(max-width:380px){
  .wm-profile-jxy-crown{font-size:13px;padding:4px 12px;letter-spacing:2px;gap:5px}
  .wm-profile-jxy-crown .wpjc-heart{font-size:14px}
}

/* 头像放大预览弹层 */
.wm-avatar-zoom{
  position:fixed;inset:0;z-index:9750;display:none;
  align-items:center;justify-content:center;
  background:rgba(8,12,24,.9);backdrop-filter:blur(8px);
  opacity:0;transition:opacity .2s ease;padding:20px;
  cursor:zoom-out;
}
.wm-avatar-zoom.show{opacity:1}
.wm-avatar-zoom .waz-inner{text-align:center;max-width:92vw;animation:wazIn .28s cubic-bezier(.2,1.2,.4,1)}
@keyframes wazIn{
  0%{opacity:0;transform:scale(.6)}
  100%{opacity:1;transform:scale(1)}
}
.wm-avatar-zoom .waz-img{
  width:min(80vw,360px);height:min(80vw,360px);
  border-radius:28px;background:linear-gradient(135deg,#4ca6ff,#8e44ad) center/cover no-repeat;
  border:4px solid rgba(255,255,255,.95);
  box-shadow:0 30px 80px rgba(0,0,0,.55),0 0 0 2px rgba(255,209,102,.35) inset;
  color:#fff;font-size:120px;font-weight:1000;
  display:flex;align-items:center;justify-content:center;
}
.wm-avatar-zoom .waz-name{margin-top:14px;color:#fff;font-size:18px;font-weight:900;letter-spacing:2px;text-shadow:0 2px 8px rgba(0,0,0,.55)}
@keyframes macPulse{
  0%,100%{box-shadow:0 6px 20px rgba(0,0,0,.45),0 0 0 0 rgba(255,209,102,.55)}
  50%    {box-shadow:0 6px 22px rgba(0,0,0,.5),0 0 0 8px rgba(255,209,102,0)}
}
.menu-acc-ring{position:absolute;left:1px;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:2px solid rgba(255,209,102,.8);animation:macRing 1.8s ease-out infinite;pointer-events:none;box-sizing:border-box}
@keyframes macRing{
  0%{transform:translateY(-50%) scale(.9);opacity:.9}
  90%,100%{transform:translateY(-50%) scale(1.55);opacity:0}
}
.menu-acc-cta{font-size:10px;font-weight:900;letter-spacing:1px;color:#ffd166;padding:3px 8px;border-radius:999px;background:rgba(255,209,102,.18);border:1px solid rgba(255,209,102,.45);flex-shrink:0;text-shadow:0 1px 3px rgba(0,0,0,.5);animation:macCta 1.6s ease-in-out infinite}
@keyframes macCta{
  0%,100%{transform:translateX(0)}
  50%{transform:translateX(2px)}
}
.menu-acc-sparkle{position:absolute;top:-8px;right:4px;font-size:13px;filter:drop-shadow(0 0 4px #ffd166);animation:macSparkle 2s ease-in-out infinite;pointer-events:none}
@keyframes macSparkle{
  0%,100%{transform:scale(.7) rotate(0);opacity:.55}
  40%{transform:scale(1.15) rotate(20deg);opacity:1}
  70%{transform:scale(.85) rotate(-12deg);opacity:.8}
}
.menu-acc-card:hover{background:linear-gradient(135deg,rgba(255,107,107,.45),rgba(142,68,173,.45) 50%,rgba(76,166,255,.45))}
.menu-acc-info{display:flex;flex-direction:column;min-width:0;line-height:1.15;max-width:90px}
.menu-acc-name{font-size:12px;font-weight:1000;color:#ffd166;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.menu-acc-sub{font-size:9px;color:rgba(255,255,255,.55);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.menu-acc-popup{position:fixed;inset:0;z-index:10020;display:flex;align-items:flex-start;justify-content:flex-end;padding:calc(var(--safe-t,0px) + 58px) 10px;background:rgba(0,0,0,.4)}
.menu-acc-popup-box{width:min(220px,70vw);background:linear-gradient(135deg,#1a2a3f,#142230);border-radius:14px;padding:8px;box-shadow:0 18px 40px rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:4px}
.menu-acc-popup-box button{padding:10px;border-radius:10px;background:rgba(255,255,255,.08);color:#eee;font-weight:800;font-size:13px;border:none;cursor:pointer;text-align:left}
.menu-acc-popup-box button:hover{background:rgba(255,255,255,.18)}
.menu-acc-popup-box button.cancel{background:transparent;color:rgba(255,255,255,.5);text-align:center}
/* 名字弹框里的头像上传区 */
.wm-avatar-picker{display:flex;flex-direction:column;align-items:center;gap:4px;margin:0 0 10px;cursor:pointer;padding:8px;border-radius:12px;background:rgba(255,255,255,.05);border:1px dashed rgba(255,255,255,.25)}
.wm-avatar-picker:hover{background:rgba(255,255,255,.1)}
.wm-avatar-preview{width:68px;height:68px;border-radius:50%;background:linear-gradient(135deg,#4ca6ff,#8e44ad);color:#fff;font-weight:1000;font-size:26px;display:inline-flex;align-items:center;justify-content:center;background-size:cover;background-position:center;flex-shrink:0;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.wm-avatar-hint{font-size:11px;color:rgba(255,255,255,.65)}
.wm-avatar-note{font-size:11px;color:#ff9f43;text-align:center;margin:-6px 0 10px}
@media(max-height:720px){
  .menu-acc-card{padding:3px 11px 3px 3px;gap:5px}
  .menu-my-avatar{width:28px;height:28px;font-size:12px}
  .menu-acc-ring{width:34px;height:34px}
  .menu-acc-name{font-size:11px}
  .menu-acc-sub{font-size:8px}
  .menu-acc-cta{font-size:9px;padding:2px 6px;letter-spacing:.5px}
  .menu-acc-sparkle{font-size:11px;top:-6px;right:2px}
  .wm-avatar-preview{width:54px;height:54px;font-size:22px}
}
@media(max-width:360px){
  .menu-acc-cta{display:none}
}
.wm-name-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.72);padding:20px}
.wm-name-modal-box{width:min(90vw,340px);background:linear-gradient(135deg,#1a2a3f,#142230);border-radius:18px;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.1)}
.wm-name-modal-title{font-size:18px;font-weight:1000;color:#ffd166;text-align:center;margin-bottom:6px}
.wm-name-modal-sub{font-size:12px;color:rgba(255,255,255,.6);text-align:center;margin-bottom:14px}
.wm-name-modal-input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;font-size:15px;text-align:center;box-sizing:border-box;margin-bottom:10px}
.wm-name-modal-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
.wm-name-modal-btns button{padding:9px;border-radius:10px;font-size:13px;font-weight:800;border:none;cursor:pointer}
.wm-name-modal-btns .ok{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff}
.wm-name-modal-btns .cancel{background:rgba(255,255,255,.1);color:#eee}
/* 游戏内观战人数 */
.wm-watch-count{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:999px;background:rgba(0,0,0,.35);color:#ffd166;font-size:11px;font-weight:800;margin-left:6px}
.wm-watch-count.active{background:#c0392b;color:#fff;animation:watchPulse 1.8s infinite}
@keyframes watchPulse{0%,100%{box-shadow:0 0 0 rgba(231,76,60,.5)}50%{box-shadow:0 0 10px rgba(231,76,60,.7)}}
/* 大厅房间列表 */
.lobby-rooms-wrap{margin:10px 0 12px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:8px}
.lobby-rooms-title{display:flex;justify-content:space-between;align-items:center;color:#ffd166;font-weight:1000;font-size:13px;margin-bottom:6px;padding:0 4px}
.lobby-refresh{padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.12);color:#eee;font-size:11px;border:none;cursor:pointer}
.lobby-refresh:hover{background:rgba(255,255,255,.2)}
.lobby-search-input{width:100%;box-sizing:border-box;padding:7px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;font-size:12px;margin-bottom:6px}
.lobby-room-list{max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:5px;-webkit-overflow-scrolling:touch}
.lobby-room-empty{padding:14px;text-align:center;color:rgba(255,255,255,.45);font-size:12px}
.lobby-room-pager{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:6px}
.lobby-room-pager button{padding:4px 10px;border-radius:8px;background:rgba(255,255,255,.1);color:#eee;font-size:11px;border:none;cursor:pointer}
.lobby-room-pager button:disabled{opacity:.35;cursor:not-allowed}
.lobby-room-pager .ppage{color:rgba(255,255,255,.6);font-size:11px}
.lobby-room-item{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:10px;background:rgba(255,255,255,.07);cursor:pointer;transition:background .15s}
.lobby-room-item:hover{background:rgba(46,204,113,.2)}
.rl-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#4ca6ff,#8e44ad);color:#fff;font-weight:1000;display:inline-flex;align-items:center;justify-content:center;background-size:cover;background-position:center;flex-shrink:0;font-size:14px}
.rl-info{flex:1;min-width:0}
.rl-host{color:#fff;font-weight:800;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rl-mode{font-size:10px;color:#ffd166;font-weight:600;margin-left:4px}
.rl-code{color:rgba(255,255,255,.55);font-size:11px}
.rl-join{padding:6px 12px;border-radius:999px;background:linear-gradient(135deg,#2ecc71,#16a085);color:#fff;font-weight:1000;font-size:12px;border:none;cursor:pointer;flex-shrink:0}
/* 大厅房间内等待列表 */
.wm-lobby-player{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:10px;background:rgba(255,255,255,.08);color:#eee;margin-top:4px}
.plr-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#4ca6ff,#8e44ad);color:#fff;font-weight:1000;display:inline-flex;align-items:center;justify-content:center;background-size:cover;background-position:center;flex-shrink:0;font-size:13px}
.plr-name{flex:1;min-width:0;font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plr-host{font-size:10px;color:#ffd166;margin-left:6px;font-weight:800}
.plr-kick{padding:4px 10px;border-radius:999px;background:rgba(192,57,43,.8);color:#fff;font-size:11px;border:none;cursor:pointer;font-weight:800}
.plr-kick:hover{background:#c0392b}
.wm-lobby-title{color:#ffd166;font-weight:1000;margin-bottom:6px;font-size:13px}
.lc-wait{color:rgba(255,255,255,.65);text-align:center;padding:12px;font-size:13px;font-weight:700}
.lc-leave-btn{background:rgba(255,255,255,.12)!important;color:#ff9f43!important}
/* 房间简化版 UI (#lobby-code 容器) */
#lobby-code{position:relative;background:linear-gradient(135deg,rgba(46,204,113,.12),rgba(142,68,173,.12));border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:18px 14px 14px;margin-top:6px}
.room-share-btn{position:absolute;top:8px;right:8px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}
.room-share-btn:hover{background:#58a6ff;transform:scale(1.06)}
.room-lbl{text-align:center;font-size:11px;color:rgba(255,255,255,.55);margin-bottom:3px;font-weight:700;letter-spacing:2px}
.room-code{text-align:center;font-size:34px;font-weight:1000;color:#ffd166;letter-spacing:6px;cursor:pointer;text-shadow:0 3px 12px rgba(255,209,102,.4);margin-bottom:4px}
.room-sub{text-align:center;font-size:12px;color:rgba(255,255,255,.7);margin-bottom:12px;font-weight:700}
.room-main-actions{display:grid;grid-template-columns:2fr 1fr;gap:8px;margin-top:4px}
.room-main-actions:has(> :only-child){grid-template-columns:1fr}
.room-primary-btn{padding:12px;border-radius:12px;background:linear-gradient(135deg,#2ecc71,#16a085);color:#fff;font-weight:1000;font-size:15px;border:none;cursor:pointer;box-shadow:0 4px 14px rgba(46,204,113,.35);transition:all .15s}
.room-primary-btn.ready{animation:roomBtnPulse 1.5s ease-in-out infinite}
.room-primary-btn:disabled{background:rgba(255,255,255,.08);color:rgba(255,255,255,.3);cursor:not-allowed;box-shadow:none;animation:none}
.room-primary-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(46,204,113,.5)}
.room-danger-btn{padding:12px;border-radius:12px;background:rgba(231,76,60,.18);color:#ff9f43;font-weight:900;font-size:14px;border:1px solid rgba(231,76,60,.35);cursor:pointer}
.room-danger-btn:hover{background:rgba(231,76,60,.3)}
@keyframes roomBtnPulse{0%,100%{box-shadow:0 4px 14px rgba(46,204,113,.35)}50%{box-shadow:0 4px 24px rgba(46,204,113,.7)}}
/* 空位玩家占位 */
.wm-lobby-player.empty{opacity:.35;border:1px dashed rgba(255,255,255,.25);background:transparent}
/* 对战界面聊天栏 */
.wmv-chatbar{display:flex;gap:4px;align-items:center;flex-shrink:0;padding:4px 0 2px}
.wmv-chatbar button{border-radius:8px;background:rgba(255,255,255,.12);padding:5px 7px;color:#fff;font-size:13px;border:none;cursor:pointer;font-weight:700;flex-shrink:0}
.wmv-chatbar button:hover{background:rgba(255,255,255,.25)}
.wmv-chatbar button.send{background:#2ecc71;padding:5px 10px;font-size:11px}
.wmv-chatbar input{flex:1;min-width:0;border-radius:8px;border:1px solid rgba(255,255,255,.2);padding:5px 8px;background:rgba(0,0,0,.35);color:#fff;font-size:12px}
/* 对战弹幕容器（叠加在 canvas 上） */
.wmv-stage-wrap{position:relative}
.wmv-barrage{position:absolute;left:4px;right:4px;top:8px;pointer-events:none;z-index:6;display:flex;flex-direction:column;align-items:center;gap:5px}
.wmv-barrage-item{align-self:center;max-width:90%;border-radius:999px;background:rgba(0,0,0,.72);color:#fff;padding:6px 14px;font-size:16px;font-weight:800;animation:barrageFlyVs 6s linear forwards;white-space:nowrap;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.4)}
@keyframes barrageFlyVs{0%{transform:translateX(0);opacity:0}5%{transform:translateX(0);opacity:1}55%{transform:translateX(0);opacity:1}100%{transform:translateX(-100vw);opacity:0}}

/* ====== 对战结算：战报卡 ====== */
.wmv-over-box{max-width:560px!important;width:92%!important}
.wmv-over-card-wrap{margin:10px auto;text-align:center}
.wmv-over-card{max-width:100%;width:280px;height:auto;border-radius:14px;box-shadow:0 6px 22px rgba(0,0,0,.35);background:#fff}
.wmv-over-card-tip{color:rgba(255,255,255,.7);font-size:11px;margin-top:6px}
.wmv-over-exit:hover{filter:brightness(1.1)}

/* ====== 求生问答弹窗 ====== */
.wmv-quiz-overlay{position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:800;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px)}
.wmv-quiz-box{background:linear-gradient(160deg,#2d1b3d,#1a1133);border:2px solid #e67e22;border-radius:18px;padding:20px 18px;width:90%;max-width:420px;box-shadow:0 10px 40px rgba(231,126,34,.4);text-align:center;position:relative;animation:quizIn .3s ease}
@keyframes quizIn{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}
.wmv-quiz-title{font-size:22px;font-weight:900;color:#f5c518;margin-bottom:6px;text-shadow:0 2px 6px rgba(0,0,0,.5)}
.wmv-quiz-sub{font-size:13px;color:#d0d0e0;margin-bottom:14px;line-height:1.5}
.wmv-quiz-sub b{color:#ff6b6b}
.wmv-quiz-box textarea{width:100%;min-height:80px;border-radius:10px;border:1px solid rgba(255,255,255,.2);padding:10px 12px;font-size:14px;background:rgba(0,0,0,.35);color:#fff;resize:vertical;font-family:inherit;box-sizing:border-box}
.wmv-quiz-box textarea:focus{outline:none;border-color:#f5c518}
.wmv-quiz-tips{font-size:11px;color:#9999aa;margin-top:8px;margin-bottom:8px}
.wmv-quiz-btns,.wmv-quiz-answer-btns{display:flex;gap:8px;margin-top:10px}
.wmv-quiz-btns button,.wmv-quiz-answer-btns button{flex:1;border-radius:10px;padding:12px 10px;font-size:15px;font-weight:800;border:none;cursor:pointer;transition:transform .1s,filter .15s}
.wmv-quiz-btns button:hover,.wmv-quiz-answer-btns button:hover{filter:brightness(1.15);transform:translateY(-1px)}
.wmv-quiz-skip{background:rgba(255,255,255,.15);color:#ccc}
.wmv-quiz-send{background:linear-gradient(135deg,#e67e22,#c0392b);color:#fff}
.wmv-quiz-yes{background:linear-gradient(135deg,#2ecc71,#16a085);color:#fff;font-size:18px!important;padding:16px!important}
.wmv-quiz-no{background:linear-gradient(135deg,#e74c3c,#8e44ad);color:#fff;font-size:18px!important;padding:16px!important}
.wmv-quiz-question{background:rgba(255,255,255,.08);border-left:4px solid #f5c518;border-radius:8px;padding:14px 12px;font-size:17px;color:#fff;font-weight:700;margin:10px 0;line-height:1.5;word-break:break-word}
.wmv-quiz-timer{position:absolute;top:10px;right:14px;background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;font-weight:1000;border-radius:50%;width:66px;height:66px;display:flex;align-items:center;justify-content:center;font-size:30px;box-shadow:0 4px 16px rgba(231,76,60,.6),inset 0 2px 8px rgba(255,255,255,.2);border:3px solid rgba(255,255,255,.35);animation:quizPulse .9s ease-in-out infinite;text-shadow:0 2px 4px rgba(0,0,0,.4)}
@keyframes quizPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
.wmv-quiz-loader{font-size:28px;color:#f5c518;letter-spacing:6px;margin-top:10px;animation:quizLoading 1.2s linear infinite}
@keyframes quizLoading{0%{opacity:.3}50%{opacity:1}100%{opacity:.3}}

/* ====== 主界面 · 正在对战观战列表 ====== */
.menu-live-vs-panel{grid-template-columns:1fr!important;margin-top:8px!important}
.menu-live-vs-col{min-height:auto;max-height:190px}
.menu-vs-live-list{display:flex;flex-direction:column;gap:5px;overflow:auto;max-height:160px}
.menu-vs-empty{color:rgba(255,255,255,.5);text-align:center;padding:12px;font-size:12px}
.menu-vs-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;background:linear-gradient(90deg,rgba(231,76,60,.12),rgba(142,68,173,.12));border:1px solid rgba(231,76,60,.35);border-radius:10px;padding:7px 10px;cursor:pointer;transition:all .15s;color:#fff}
.menu-vs-row:hover{background:linear-gradient(90deg,rgba(231,76,60,.22),rgba(142,68,173,.22));transform:translateX(2px);border-color:rgba(231,76,60,.65)}
.menu-vs-row-main{display:flex;align-items:center;gap:6px;min-width:0;font-size:12px}
.menu-vs-row-main .vs-vs{color:#ffd166;font-weight:900}
.menu-vs-row-main .vs-name{font-weight:800;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.menu-vs-row-main .vs-score{color:#ff9f43;font-weight:900;font-variant-numeric:tabular-nums}
.menu-vs-row-right{display:flex;align-items:center;gap:6px;font-size:11px;color:rgba(255,255,255,.75)}
.menu-vs-row-right .vs-watch{background:#e67e22;color:#fff;border-radius:999px;padding:3px 8px;font-weight:900;font-size:11px}
.menu-vs-row-right .vs-watchers{color:#ffd166;font-weight:700}

/* ====== 道具栏美化 ====== */
.wmv-power-box{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:6px!important;padding:4px 6px!important;flex-shrink:0}
.wmv-power-btn{position:relative;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:8px 4px!important;border-radius:14px!important;background:linear-gradient(160deg,rgba(var(--pcRGB,255,255,255),.18),rgba(0,0,0,.35))!important;border:2px solid var(--pc,#fff)!important;color:#fff!important;font-weight:900;cursor:pointer;transition:all .15s ease;box-shadow:0 3px 10px rgba(0,0,0,.35),inset 0 1px 2px rgba(255,255,255,.18);min-height:60px;overflow:hidden}
.wmv-power-btn:not(.empty):hover{transform:translateY(-2px) scale(1.04);box-shadow:0 6px 18px var(--pc),inset 0 1px 2px rgba(255,255,255,.3);filter:brightness(1.15)}
.wmv-power-btn:not(.empty):active{transform:translateY(0) scale(0.97)}
.wmv-power-btn.empty{opacity:.42;filter:grayscale(.65);cursor:not-allowed;border-color:rgba(255,255,255,.18)!important;background:rgba(255,255,255,.05)!important;box-shadow:none}
.wmv-power-btn .wmv-pb-emoji{font-size:22px;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}
.wmv-power-btn .wmv-pb-name{font-size:10px;font-weight:900;letter-spacing:1px;margin-top:1px;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.wmv-power-btn .wmv-pb-count{position:absolute;top:3px;right:5px;font-size:10px;font-weight:1000;color:var(--pc,#fff);background:rgba(0,0,0,.65);border-radius:999px;padding:1px 5px;line-height:1.2;min-width:16px;text-align:center;border:1px solid var(--pc,#fff)}
.wmv-power-btn:not(.empty)::before{content:'';position:absolute;inset:0;border-radius:12px;background:radial-gradient(circle at 50% 0%, rgba(255,255,255,.25) 0%, transparent 60%);pointer-events:none}
/* 装填中的激光：持续闪烁 */
.wmv-power-btn.loaded{animation:laserPulse .7s ease-in-out infinite;border-color:#e84393!important;box-shadow:0 0 24px #e84393,inset 0 0 10px rgba(232,67,147,.4)!important}
@keyframes laserPulse{0%,100%{filter:brightness(1.1)}50%{filter:brightness(1.6) saturate(1.5)}}
@media(max-width:420px){
  .wmv-power-btn{padding:6px 3px!important;min-height:52px}
  .wmv-power-btn .wmv-pb-emoji{font-size:19px}
  .wmv-power-btn .wmv-pb-name{font-size:9px}
}

/* ====== 单人大西瓜磁铁按钮（v2.29：显眼版） ====== */
.wm-magnet-btn{
  display:inline-flex;align-items:center;gap:4px;
  padding:5px 10px 5px 8px;border-radius:999px;
  background:linear-gradient(135deg,#ff9f43,#e67e22);color:#fff;
  font-weight:1000;font-size:13px;border:2px solid #fff;cursor:pointer;
  box-shadow:0 2px 6px rgba(230,126,34,.5);
  transition:all .15s;white-space:nowrap;position:relative
}
.wm-magnet-btn .wmm-ico{font-size:18px;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.wm-magnet-btn .wmm-txt{font-size:12px;letter-spacing:1px;font-weight:1000}
.wm-magnet-btn .wmm-cnt{
  background:rgba(0,0,0,.5);color:#ffd166;border:1.5px solid rgba(255,255,255,.7);
  padding:1px 7px;border-radius:999px;font-size:12px;font-weight:1000;
  font-variant-numeric:tabular-nums;min-width:28px;text-align:center
}
.wm-magnet-btn:not(.empty){
  padding:6px 12px 6px 10px;font-size:14px;
  background:linear-gradient(135deg,#ffde3a 0%,#ff9f43 45%,#e67e22 100%);
  border-color:#fff9c4;
  box-shadow:0 3px 14px rgba(255,193,7,.7),0 0 18px rgba(255,209,102,.55),inset 0 1px 2px rgba(255,255,255,.6);
  animation:magnetGlow2 1.2s ease-in-out infinite
}
.wm-magnet-btn:not(.empty) .wmm-ico{
  font-size:22px;
  animation:magnetSpin 2.2s linear infinite
}
.wm-magnet-btn:not(.empty) .wmm-cnt{
  background:linear-gradient(135deg,#c0392b,#e74c3c);color:#fff9c4;
  border-color:#fff9c4;font-size:13px;
  animation:magnetCntPulse 1.1s ease-in-out infinite
}
.wm-magnet-btn:not(.empty):hover{transform:translateY(-1px) scale(1.06);filter:brightness(1.1)}
.wm-magnet-btn:not(.empty):active{transform:scale(.95)}
.wm-magnet-btn:not(.empty)::before{
  content:'';position:absolute;inset:-4px;border-radius:999px;pointer-events:none;
  background:radial-gradient(circle,rgba(255,209,102,.35) 0%,transparent 70%);
  animation:magnetRipple 1.6s ease-out infinite
}
@keyframes magnetGlow2{
  0%,100%{box-shadow:0 3px 14px rgba(255,193,7,.7),0 0 18px rgba(255,209,102,.55),inset 0 1px 2px rgba(255,255,255,.6)}
  50%{box-shadow:0 4px 22px rgba(255,193,7,.95),0 0 30px rgba(255,235,150,.85),inset 0 1px 2px rgba(255,255,255,.8)}
}
@keyframes magnetSpin{
  0%{transform:rotate(-10deg)}
  50%{transform:rotate(10deg)}
  100%{transform:rotate(-10deg)}
}
@keyframes magnetCntPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.14)}}
@keyframes magnetRipple{0%{transform:scale(.9);opacity:.8}100%{transform:scale(1.25);opacity:0}}
.wm-magnet-btn.empty{
  background:rgba(160,160,160,.55);color:rgba(255,255,255,.55);
  border-color:rgba(255,255,255,.35);cursor:not-allowed;
  filter:grayscale(.7);box-shadow:none;animation:none
}
.wm-magnet-btn.empty .wmm-cnt{background:rgba(0,0,0,.35);color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.3)}
.wm-magnet-btn.empty::before{display:none}

/* ====== 观战面板：弹幕+聊天 ====== */
.wm-watch-canvas-wrap{position:relative}
.wm-watch-barrage{position:absolute;left:6px;right:6px;top:6px;pointer-events:none;z-index:5;display:flex;flex-direction:column;align-items:center;gap:4px}
.wm-watch-barrage-item{max-width:90%;font-size:12px!important;padding:4px 10px!important}
.wm-watch-chatbar{display:flex;gap:4px;align-items:center;margin-top:8px}
.wm-watch-chatbar button{border-radius:8px;background:rgba(255,255,255,.14);padding:5px 7px;color:#fff;font-size:13px;border:none;cursor:pointer;font-weight:700;flex-shrink:0}
.wm-watch-chatbar button:hover{background:rgba(255,255,255,.25)}
.wm-watch-chatbar button.send{background:#2ecc71;padding:5px 10px;font-size:11px}
.wm-watch-chatbar input{flex:1;min-width:0;border-radius:8px;border:1px solid rgba(255,255,255,.2);padding:5px 8px;background:rgba(0,0,0,.35);color:#fff;font-size:12px}

/* ====== 单人大西瓜：挤压排行榜 + 扩大画布 ====== */
#watermelon-screen .wm-live-panel{max-height:60px!important;margin-bottom:3px!important;gap:4px!important}
#watermelon-screen .wm-live-col{padding:3px 4px!important}
#watermelon-screen .wm-live-title{font-size:9px!important;margin-bottom:1px!important}
#watermelon-screen .wm-live-list{max-height:44px!important}
#watermelon-screen .wm-stage-wrap{flex:1 1 auto!important;min-height:0}
#watermelon-screen .wm-canvas{border-radius:0 0 16px 16px}
@media(max-height:760px){
  #watermelon-screen .wm-live-panel{max-height:52px!important}
  #watermelon-screen .wm-live-list{max-height:36px!important}
}

/* ====== 本局常驻：求生问答贴纸 ====== */
.wmv-quiz-badge{position:absolute;top:78px;right:8px;z-index:20;max-width:220px;background:linear-gradient(160deg,rgba(30,20,50,.95),rgba(60,30,80,.95));border:1.5px solid #f5c518;border-radius:12px;padding:8px 10px;box-shadow:0 4px 14px rgba(0,0,0,.45);color:#fff;font-size:11px;line-height:1.45;animation:qbPop .5s ease-out}
@keyframes qbPop{from{transform:scale(.6) translateY(-10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}
.wmv-qb-head{font-weight:900;color:#f5c518;font-size:11px;margin-bottom:4px;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.wmv-qb-q{color:#d0d0e0;margin-bottom:4px;word-break:break-word}
.wmv-qb-q b{color:#ff9f43;margin-right:2px}
.wmv-qb-a{font-weight:800;font-size:12px;word-break:break-word}
.wmv-qb-a b{color:#58a6ff;margin-right:2px;font-weight:700}
@media(max-width:480px){
  .wmv-quiz-badge{top:72px;max-width:44vw;font-size:10px;padding:6px 8px}
  .wmv-qb-head{font-size:10px}
}

/* ====== 全屏大公告（合成大菠萝等重大事件） ====== */
.wm-big-announce{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;pointer-events:none}
.wm-big-announce.show{display:flex;animation:wmBAFade 5s ease forwards}
.wm-big-announce-bg{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(244,211,94,.35) 0%,rgba(244,147,30,.28) 35%,rgba(0,0,0,.55) 85%);animation:wmBABgFlash 5s ease forwards}
.wm-big-announce-inner{position:relative;text-align:center;padding:30px 40px;animation:wmBAPop 5s cubic-bezier(.16,1.3,.56,1) forwards;max-width:92vw}
.wm-big-announce-icon{font-size:120px;line-height:1;filter:drop-shadow(0 8px 24px rgba(244,211,94,.8));animation:wmBAIcon 5s ease forwards;margin-bottom:6px}
.wm-big-announce-title{font-size:52px;font-weight:1000;color:#ffd166;letter-spacing:4px;text-shadow:0 4px 20px rgba(255,107,53,.8),0 0 40px rgba(244,211,94,.6),0 2px 0 #c0392b;background:linear-gradient(180deg,#fff9c4 0%,#ffd166 45%,#ff9f43 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1.1;margin-bottom:12px}
.wm-big-announce-sub{font-size:22px;font-weight:900;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.8),0 0 16px rgba(244,211,94,.5);letter-spacing:2px}
@keyframes wmBAPop{
  0%{transform:scale(.3) rotate(-8deg);opacity:0}
  10%{transform:scale(1.15) rotate(2deg);opacity:1}
  18%{transform:scale(.95) rotate(-1deg);opacity:1}
  25%{transform:scale(1) rotate(0);opacity:1}
  85%{transform:scale(1);opacity:1}
  100%{transform:scale(1.08);opacity:0}
}
@keyframes wmBAFade{
  0%{opacity:0}
  6%{opacity:1}
  88%{opacity:1}
  100%{opacity:0}
}
@keyframes wmBABgFlash{
  0%{opacity:0}
  5%{opacity:1}
  12%{opacity:.85}
  20%{opacity:1}
  85%{opacity:.9}
  100%{opacity:0}
}
@keyframes wmBAIcon{
  0%{transform:scale(.4) rotate(-180deg)}
  12%{transform:scale(1.4) rotate(10deg)}
  18%{transform:scale(1) rotate(-4deg)}
  25%{transform:scale(1.1) rotate(0)}
  35%{transform:scale(1) rotate(0)}
  50%{transform:scale(1.06) rotate(4deg)}
  65%{transform:scale(1) rotate(-4deg)}
  80%{transform:scale(1.06) rotate(2deg)}
  100%{transform:scale(1) rotate(0)}
}
@media(max-width:480px){
  .wm-big-announce-icon{font-size:92px}
  .wm-big-announce-title{font-size:38px;letter-spacing:2px}
  .wm-big-announce-sub{font-size:16px;letter-spacing:1px}
  .wm-big-announce-inner{padding:20px 24px}
}

/* ====== 排行榜前三名 · 金银铜高亮 ====== */
/* 菜单版 */
.menu-live-row.top{border:1px solid rgba(255,215,0,.35)}
.menu-live-row.top1{background:linear-gradient(90deg,rgba(255,215,0,.32),rgba(255,165,0,.18))!important;border-color:rgba(255,215,0,.75)!important;box-shadow:inset 2px 0 #ffd700,0 0 10px rgba(255,215,0,.35)}
.menu-live-row.top2{background:linear-gradient(90deg,rgba(192,192,192,.3),rgba(160,160,200,.14))!important;border-color:rgba(220,220,230,.65)!important;box-shadow:inset 2px 0 #c0c0c0}
.menu-live-row.top3{background:linear-gradient(90deg,rgba(205,127,50,.28),rgba(205,127,50,.12))!important;border-color:rgba(205,127,50,.6)!important;box-shadow:inset 2px 0 #cd7f32}
.menu-live-row.top1 b{color:#ffd700!important;font-size:13px}
.menu-live-row.top2 b{color:#dddfe3!important}
.menu-live-row.top3 b{color:#f0a66a!important}
.menu-live-row .medal{font-size:20px!important;min-width:22px!important;line-height:1;filter:drop-shadow(0 2px 3px rgba(0,0,0,.45))}
.menu-live-row.top1 .medal{animation:rkPulse 1.8s ease-in-out infinite}
@keyframes rkPulse{0%,100%{transform:scale(1);filter:drop-shadow(0 2px 3px rgba(0,0,0,.45))}50%{transform:scale(1.18);filter:drop-shadow(0 2px 8px rgba(255,215,0,.8))}}

/* 游戏内版 */
.wm-live-row.top{border:1px solid rgba(255,215,0,.3)}
.wm-live-row.top1{background:linear-gradient(90deg,rgba(255,215,0,.5),rgba(255,165,0,.2))!important;box-shadow:inset 2px 0 #ffb700}
.wm-live-row.top2{background:linear-gradient(90deg,rgba(192,192,192,.45),rgba(160,160,200,.15))!important;box-shadow:inset 2px 0 #9ea3aa}
.wm-live-row.top3{background:linear-gradient(90deg,rgba(205,127,50,.45),rgba(205,127,50,.15))!important;box-shadow:inset 2px 0 #b7741e}
.wm-live-row.top1 b{color:#8b4513!important;font-size:10px!important;font-weight:1000}
.wm-live-row .medal{font-size:12px!important;min-width:14px!important;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}
.wm-live-row.top1 .medal{animation:rkPulseSm 1.8s ease-in-out infinite}
@keyframes rkPulseSm{0%,100%{transform:scale(1)}50%{transform:scale(1.2)}}

/* ====== 作者署名（低调版） ====== */
.menu-author-credit{position:absolute;top:calc(var(--safe-t,0px) + 10px);left:12px;z-index:21;color:rgba(255,255,255,.35);font-size:10px;font-weight:600;letter-spacing:.5px;cursor:pointer;font-variant-numeric:tabular-nums;user-select:none;transition:color .2s ease}
.menu-author-credit:hover{color:rgba(255,209,102,.7)}
@media(max-height:720px){.menu-author-credit{font-size:9px;top:calc(var(--safe-t,0px) + 8px);left:10px}}

/* 主菜单 · 全服 WebSocket 状态 */
.menu-ws-status{
  position:absolute;top:calc(var(--safe-t,0px) + 34px);left:12px;z-index:21;
  display:inline-flex;align-items:center;gap:5px;
  padding:3px 8px 3px 6px;border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.28);color:rgba(255,255,255,.72);
  font-size:10px;font-weight:700;letter-spacing:.3px;
  cursor:pointer;backdrop-filter:blur(6px);
  -webkit-tap-highlight-color:transparent;
}
.menu-ws-status:active{transform:scale(.97)}
.menu-ws-dot{
  width:7px;height:7px;border-radius:50%;flex-shrink:0;
  background:#94a3b8;box-shadow:0 0 0 1px rgba(255,255,255,.15);
}
.menu-ws-status.is-open .menu-ws-dot{background:#4ade80;box-shadow:0 0 6px rgba(74,222,128,.65)}
.menu-ws-status.is-connecting .menu-ws-dot{background:#fbbf24;animation:menuWsPulse 1s ease-in-out infinite}
.menu-ws-status.is-reconnecting .menu-ws-dot{background:#fb923c;animation:menuWsPulse .75s ease-in-out infinite}
.menu-ws-status.is-offline .menu-ws-dot{background:#f87171}
@keyframes menuWsPulse{0%,100%{opacity:.55;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}
@media(max-height:720px){.menu-ws-status{top:calc(var(--safe-t,0px) + 30px);left:10px;font-size:9px}}

/* ====== 姜惜颜 · 流光 ====== */
.menu-jxy{
  display:inline-block;
  font-weight:1000;
  letter-spacing:2px;
  background:linear-gradient(120deg,
    #ff6b6b 0%, #ffd166 20%, #ffffff 38%, #ff9ec4 52%,
    #ffd166 70%, #ff6b6b 100%);
  background-size:300% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  filter:drop-shadow(0 2px 8px rgba(255,107,107,.35));
  animation:jxyShimmer 3.6s linear infinite, jxyHeartbeat 2.4s ease-in-out infinite;
  position:relative;
}
.menu-jxy::after{
  content:'✨';position:absolute;top:-10px;right:-14px;
  font-size:12px;filter:drop-shadow(0 0 4px #ffd166);
  animation:jxySparkle 2.2s ease-in-out infinite;pointer-events:none;
}
@keyframes jxyShimmer{
  0%{background-position:0% 50%}
  100%{background-position:300% 50%}
}
@keyframes jxyHeartbeat{
  0%,100%{transform:scale(1)}
  40%{transform:scale(1.08)}
  60%{transform:scale(.98)}
}
@keyframes jxySparkle{
  0%,100%{transform:scale(.6) rotate(0);opacity:.4}
  30%{transform:scale(1.15) rotate(12deg);opacity:1}
  60%{transform:scale(.8) rotate(-8deg);opacity:.75}
}

/* ====== 个人资料弹窗 ====== */
.wm-profile-overlay{position:fixed;inset:0;z-index:10160;display:none;align-items:center;justify-content:center;background:rgba(8,12,24,.82);backdrop-filter:blur(8px);padding:12px;pointer-events:auto}
.wm-profile-overlay.show{display:flex;animation:wmpFade .22s ease}
@keyframes wmpFade{from{opacity:0}to{opacity:1}}
.wm-profile-box{width:min(94vw,430px);max-height:92dvh;overflow-y:auto;overflow-x:hidden;background:linear-gradient(170deg,#202b46 0%,#16213a 50%,#0f182a 100%);border:1px solid rgba(255,255,255,.12);border-radius:22px;color:#eaeaf0;padding:0 0 16px;box-shadow:0 30px 80px rgba(0,0,0,.6);position:relative;animation:wmpBoxIn .28s cubic-bezier(.2,1.1,.4,1)}
@keyframes wmpBoxIn{from{transform:translateY(20px) scale(.92);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
.wm-profile-close{position:absolute;top:10px;right:10px;z-index:3;width:32px;height:32px;border-radius:50%;background:rgba(0,0,0,.35);color:#fff;border:1px solid rgba(255,255,255,.18);cursor:pointer;font-size:14px;font-weight:900;display:flex;align-items:center;justify-content:center}
.wm-profile-close:hover{background:rgba(0,0,0,.55)}

/* 顶部卡 */
.wm-profile-hero{position:relative;overflow:hidden;padding:0 0 14px;border-bottom:1px solid rgba(255,255,255,.08)}
.wm-profile-banner{height:96px;background:linear-gradient(120deg,#ff6b6b 0%,#ffd166 45%,#2ecc71 100%);position:relative}
.wm-profile-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.3) 0%,transparent 50%),radial-gradient(circle at 80% 90%,rgba(255,255,255,.15) 0%,transparent 55%)}
.wm-profile-main{display:grid;grid-template-columns:80px 1fr auto;gap:12px;padding:0 16px;margin-top:-36px;position:relative;z-index:2;align-items:end}
.wm-profile-avatar{width:78px;height:78px;border-radius:22px;background:linear-gradient(135deg,#4ca6ff,#8e44ad);color:#fff;font-size:30px;font-weight:1000;display:inline-flex;align-items:center;justify-content:center;background-size:cover;background-position:center;border:3px solid rgba(255,255,255,.92);box-shadow:0 8px 24px rgba(0,0,0,.5);flex-shrink:0}
.wm-profile-id{min-width:0;padding-bottom:4px}
.wm-profile-name{font-size:19px;font-weight:1000;color:#fff;line-height:1.1;margin-top:4px;display:flex;align-items:center;gap:8px;overflow:hidden;text-shadow:0 2px 6px rgba(0,0,0,.4)}
.wm-profile-name .wpn-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.wm-profile-name .wpn-edit{flex-shrink:0;padding:4px 11px;border-radius:999px;background:linear-gradient(135deg,#ffd166,#ff9f43);border:1.5px solid #fff;color:#5c2e0e;font-size:11px;font-weight:1000;letter-spacing:.5px;cursor:pointer;box-shadow:0 3px 10px rgba(231,76,60,.35),inset 0 1px rgba(255,255,255,.55);text-shadow:0 1px 0 rgba(255,255,255,.25);transition:background .15s,transform .1s,filter .15s}
.wm-profile-name .wpn-edit:hover,.wm-profile-name .wpn-edit:active{filter:brightness(1.08);transform:scale(1.06)}
.wm-profile-uid{font-size:10px;color:rgba(255,255,255,.55);letter-spacing:1px;margin:2px 0 3px;font-variant-numeric:tabular-nums}
.wm-profile-bio{font-size:11px;color:rgba(255,255,255,.75);font-weight:500;line-height:1.4;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;padding:2px 6px;border-radius:6px;transition:background .15s}
.wm-profile-bio:hover{background:rgba(255,255,255,.08)}
.wm-profile-level{text-align:center;padding-bottom:6px;min-width:60px}
.wm-pl-num{font-size:16px;font-weight:1000;color:#ffd166;text-shadow:0 2px 6px rgba(0,0,0,.45);line-height:1;margin-bottom:3px}
.wm-pl-bar{height:4px;border-radius:999px;background:rgba(0,0,0,.4);overflow:hidden;margin-bottom:3px}
.wm-pl-bar-fill{height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#ffd166,#ff6b6b);transition:width .5s ease}
.wm-pl-tip{font-size:9px;color:rgba(255,255,255,.6);letter-spacing:1px}

.wm-profile-badges{display:flex;gap:4px;flex-wrap:wrap;padding:8px 16px 0;justify-content:flex-start}
.wm-profile-badges .pb-badge{background:rgba(255,209,102,.18);border:1px solid rgba(255,209,102,.45);border-radius:999px;padding:2px 8px;font-size:10px;color:#ffd166;font-weight:800}

/* 核心数据 6 格 */
.wm-profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 14px 6px}
.wps-cell{background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:8px 6px 8px;display:flex;flex-direction:column;align-items:center;gap:2px;position:relative;overflow:hidden}
.wps-cell::before{content:'';position:absolute;top:-40%;left:-40%;width:180%;height:60%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);pointer-events:none}
.wps-cell .wps-ico{font-size:20px;line-height:1}
.wps-cell b{font-size:18px;font-weight:1000;color:#fff;font-variant-numeric:tabular-nums;line-height:1.1}
.wps-cell .wps-lbl{font-size:10px;color:rgba(255,255,255,.55);letter-spacing:.5px}
.wps-cell.wps-gold{background:linear-gradient(160deg,rgba(255,209,102,.22),rgba(255,107,107,.08));border-color:rgba(255,209,102,.55)}
.wps-cell.wps-gold b{color:#ffd166;text-shadow:0 2px 8px rgba(255,209,102,.35)}

/* 互助 4 列 */
.wm-profile-help{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:0 14px 10px}
.wph-col{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:6px;display:flex;flex-direction:column;align-items:center;gap:1px}
.wph-col span{font-size:14px;line-height:1}
.wph-col b{font-size:15px;font-weight:1000;color:#fff;font-variant-numeric:tabular-nums}
.wph-col span:last-child{font-size:9px;color:rgba(255,255,255,.55)}

/* 成就 / 最近战绩 */
.wm-profile-section{padding:10px 14px 4px}
.wm-profile-section-title{font-size:12px;color:#ffd166;font-weight:1000;margin-bottom:6px;letter-spacing:1px}
.wm-profile-achv{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.pa-item{aspect-ratio:1/1.05;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px;text-align:center;transition:all .2s;cursor:default}
.pa-item .pa-ico{font-size:22px;line-height:1;filter:grayscale(1) opacity(.4)}
.pa-item .pa-name{font-size:9px;color:rgba(255,255,255,.5);font-weight:700;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}
.pa-item.ok{background:linear-gradient(160deg,rgba(255,209,102,.2),rgba(255,107,107,.1));border-color:rgba(255,209,102,.6);box-shadow:0 2px 10px rgba(255,209,102,.25)}
.pa-item.ok .pa-ico{filter:none}
.pa-item.ok .pa-name{color:#ffd166}
.pa-item .pa-desc{display:none}
.pa-item:hover .pa-desc{display:block;position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.9);padding:4px 8px;border-radius:6px;font-size:10px;color:#fff;white-space:nowrap;z-index:3;margin-bottom:4px}
.pa-item{position:relative}

.wm-profile-recent{display:flex;flex-direction:column;gap:4px;max-height:104px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent;padding-right:3px}
.wm-profile-recent::-webkit-scrollbar{width:4px}
.wm-profile-recent::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:2px}
.pr-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;align-items:center;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:6px 10px;font-size:11px}
.pr-row .pr-mode{font-size:13px}
.pr-row .pr-mode.vs{color:#58a6ff}
.pr-row .pr-mode.solo{color:#2ecc71}
.pr-row .pr-score{color:#ffd166;font-weight:1000;font-variant-numeric:tabular-nums}
.pr-row .pr-ts{color:rgba(255,255,255,.45);font-size:10px}
.pr-row .pr-win{font-weight:900;font-size:10px;padding:1px 6px;border-radius:999px}
.pr-row .pr-win.win{background:rgba(46,204,113,.2);color:#2ecc71}
.pr-row .pr-win.lose{background:rgba(231,76,60,.2);color:#ff6b6b}
.wm-profile-recent-empty{text-align:center;color:rgba(255,255,255,.4);font-size:11px;padding:10px}

/* 操作区 */
.wm-profile-actions{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;padding:10px 14px 0;margin-top:8px;border-top:1px solid rgba(255,255,255,.08);padding-top:12px}
.wpa-btn{padding:10px;border-radius:12px;font-weight:900;font-size:13px;border:none;cursor:pointer;transition:filter .15s,transform .1s}
.wpa-btn:hover{filter:brightness(1.1)}
.wpa-btn:active{transform:scale(.97)}
.wpa-edit{background:linear-gradient(135deg,#58a6ff,#8e44ad);color:#fff}
.wpa-bio{background:linear-gradient(135deg,#2ecc71,#16a085);color:#fff}
.wpa-logout{background:rgba(231,76,60,.18);color:#ff9f43;border:1px solid rgba(231,76,60,.35);padding:10px 12px}
.wpa-logout:hover{background:rgba(231,76,60,.3)}
.wpa-rose{background:linear-gradient(135deg,#ff6b6b,#e74c3c);color:#fff;font-size:14px!important}
.wpa-rose:hover{filter:brightness(1.15)}
.wpa-rose.spent,.wpa-rose:disabled{background:rgba(255,255,255,.1)!important;color:rgba(255,255,255,.4)!important;cursor:not-allowed}
.wpa-rose #wpa-rose-left{font-size:11px;font-weight:600;opacity:.85;margin-left:3px}
.wpa-close{background:rgba(255,255,255,.1);color:#eee}

/* 未登录提示卡 */
.wm-profile-guest-tip{margin:14px;padding:16px;border-radius:14px;background:linear-gradient(160deg,rgba(255,107,107,.12),rgba(142,68,173,.12));border:1px dashed rgba(255,255,255,.2);text-align:center;color:#eaeaf0;display:none}
.wm-profile-guest-tip.show{display:block}
.wm-profile-guest-tip p{font-size:13px;line-height:1.6;margin:0 0 10px;color:rgba(255,255,255,.82)}
.wm-profile-guest-tip button{padding:10px 18px;border-radius:999px;background:linear-gradient(135deg,#ffd166,#ff9f43);color:#6b3410;font-weight:1000;font-size:13px;border:none;cursor:pointer}

@media(max-width:380px){
  .wm-profile-main{grid-template-columns:64px 1fr auto;gap:8px;padding:0 12px}
  .wm-profile-avatar{width:62px;height:62px;font-size:24px;border-radius:18px}
  .wm-profile-name{font-size:17px}
  .wm-profile-stats{grid-template-columns:repeat(3,1fr);padding:10px 10px 4px;gap:6px}
  .wps-cell b{font-size:16px}
  .wm-profile-help{padding:0 10px 8px}
  .wm-profile-section{padding:8px 10px 2px}
  .wm-profile-actions{padding:10px 10px 0;padding-top:10px}
}

/* ====== 对战战绩专栏 ====== */
.wm-profile-vs{display:flex;flex-direction:column;gap:8px}
.wpv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.wpv-cell{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;gap:2px;transition:all .15s}
.wpv-cell span{font-size:10px;color:rgba(255,255,255,.55)}
.wpv-cell b{font-size:16px;font-weight:1000;color:#fff;font-variant-numeric:tabular-nums;line-height:1.1}
.wpv-cell.win{background:linear-gradient(160deg,rgba(46,204,113,.18),rgba(46,204,113,.06));border-color:rgba(46,204,113,.45)}
.wpv-cell.win b{color:#2ecc71}
.wpv-cell.lose{background:linear-gradient(160deg,rgba(231,76,60,.18),rgba(231,76,60,.06));border-color:rgba(231,76,60,.45)}
.wpv-cell.lose b{color:#ff6b6b}
.wpv-cell.rate{background:linear-gradient(160deg,rgba(255,209,102,.18),rgba(255,209,102,.06));border-color:rgba(255,209,102,.45)}
.wpv-cell.rate b{color:#ffd166}
.wpv-rate-bar{position:relative;height:8px;border-radius:999px;background:linear-gradient(90deg,rgba(231,76,60,.3),rgba(255,209,102,.3),rgba(46,204,113,.3));overflow:hidden;border:1px solid rgba(255,255,255,.1)}
.wpv-rate-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#e74c3c,#ffd166 50%,#2ecc71);width:0;transition:width .6s cubic-bezier(.2,1,.4,1);box-shadow:0 0 10px rgba(255,209,102,.55)}
.wpv-recent{display:flex;gap:5px;flex-wrap:wrap;justify-content:center;padding:2px 0}
.wpv-recent-item{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;font-size:11px;font-weight:1000;line-height:1}
.wpv-recent-item.win{background:linear-gradient(135deg,#2ecc71,#16a085);color:#fff;box-shadow:0 2px 6px rgba(46,204,113,.4)}
.wpv-recent-item.lose{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;box-shadow:0 2px 6px rgba(231,76,60,.4)}
.wpv-recent-empty{color:rgba(255,255,255,.4);font-size:10px;padding:4px}

/* ====== 成就等级（青铜/白银/黄金/钻石） ====== */
.pa-item.pa-counter{overflow:hidden}
.pa-item.pa-counter .pa-count{display:block;font-size:9px;font-weight:900;line-height:1;padding:2px 0}
.pa-item.tier-bronze{background:linear-gradient(160deg,rgba(205,127,50,.38),rgba(139,69,19,.18))!important;border-color:rgba(205,127,50,.75)!important;box-shadow:0 2px 10px rgba(205,127,50,.35)}
.pa-item.tier-bronze .pa-ico{filter:drop-shadow(0 2px 4px rgba(205,127,50,.8))}
.pa-item.tier-bronze .pa-name{color:#d89966}
.pa-item.tier-bronze .pa-count{color:#e0a070}

.pa-item.tier-silver{background:linear-gradient(160deg,rgba(220,220,232,.45),rgba(120,140,170,.25))!important;border-color:rgba(220,220,232,.85)!important;box-shadow:0 2px 12px rgba(192,192,210,.45)}
.pa-item.tier-silver .pa-ico{filter:drop-shadow(0 2px 6px rgba(220,220,240,.9))}
.pa-item.tier-silver .pa-name{color:#e0e0ea}
.pa-item.tier-silver .pa-count{color:#b6c0cf}

.pa-item.tier-gold{background:linear-gradient(160deg,rgba(255,223,66,.4),rgba(230,165,35,.22))!important;border-color:rgba(255,223,66,.85)!important;box-shadow:0 2px 14px rgba(255,209,102,.55)}
.pa-item.tier-gold .pa-ico{filter:drop-shadow(0 2px 8px rgba(255,223,66,1));animation:goldShine 2.6s ease-in-out infinite}
@keyframes goldShine{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.pa-item.tier-gold .pa-name{color:#ffd166}
.pa-item.tier-gold .pa-count{color:#ffb84d}

.pa-item.tier-diamond{
  background:linear-gradient(160deg,rgba(167,240,255,.42),rgba(88,166,255,.28),rgba(142,68,255,.22))!important;
  border:1.5px solid rgba(167,240,255,.9)!important;
  box-shadow:0 2px 18px rgba(88,166,255,.55),0 0 0 1px rgba(167,240,255,.5) inset;
  position:relative;overflow:hidden
}
.pa-item.tier-diamond::before{
  content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;
  background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.4) 50%,transparent 70%);
  animation:diamondShimmer 3s linear infinite;pointer-events:none
}
@keyframes diamondShimmer{0%{transform:translate(-40%,-40%)}100%{transform:translate(40%,40%)}}
.pa-item.tier-diamond .pa-ico{filter:drop-shadow(0 2px 10px rgba(167,240,255,.95));animation:diamondPulse 1.8s ease-in-out infinite}
@keyframes diamondPulse{0%,100%{transform:scale(1);filter:drop-shadow(0 2px 10px rgba(167,240,255,.95))}50%{transform:scale(1.12);filter:drop-shadow(0 2px 16px rgba(88,166,255,1))}}
.pa-item.tier-diamond .pa-name{color:#a7f0ff;text-shadow:0 0 8px rgba(167,240,255,.8)}
.pa-item.tier-diamond .pa-count{color:#d0f0ff;font-weight:1000}

/* ====== 头像框（应用最高等级成就的质感） ====== */
/* 资料卡自己的大头像 */
.wm-profile-avatar.tier-bronze{box-shadow:0 0 0 3px #cd7f32,0 0 18px rgba(205,127,50,.6),0 8px 24px rgba(0,0,0,.5)!important;border-color:#cd7f32!important}
.wm-profile-avatar.tier-silver{box-shadow:0 0 0 3px #d0d4dc,0 0 22px rgba(200,210,225,.7),0 8px 24px rgba(0,0,0,.5)!important;border-color:#e2e6ee!important}
.wm-profile-avatar.tier-gold{box-shadow:0 0 0 3px #ffd166,0 0 24px rgba(255,209,102,.8),0 0 40px rgba(255,180,40,.5),0 8px 24px rgba(0,0,0,.5)!important;border-color:#ffe066!important;animation:avGoldPulse 2.4s ease-in-out infinite}
@keyframes avGoldPulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.12)}}
.wm-profile-avatar.tier-diamond{
  box-shadow:0 0 0 3px #a7f0ff,0 0 28px rgba(88,166,255,.85),0 0 50px rgba(142,68,255,.45),0 8px 24px rgba(0,0,0,.5)!important;
  border-color:#a7f0ff!important;
  position:relative
}
.wm-profile-avatar.tier-diamond::after{
  content:'';position:absolute;inset:-4px;border-radius:26px;pointer-events:none;
  background:conic-gradient(from 0deg,#a7f0ff,#58a6ff,#8e44ff,#ff6bff,#a7f0ff);
  animation:avDiamondRotate 4s linear infinite;
  opacity:.6;z-index:-1;filter:blur(3px)
}
@keyframes avDiamondRotate{to{transform:rotate(360deg)}}

/* 资料卡头像右下角小徽章 */
.wm-profile-av-badge{
  position:absolute;right:-4px;bottom:-4px;z-index:2;
  min-width:34px;height:22px;padding:0 6px;
  border-radius:999px;
  display:flex;align-items:center;justify-content:center;gap:3px;
  background:linear-gradient(135deg,#1a2a3f,#142230);
  border:2px solid rgba(255,255,255,.9);
  box-shadow:0 2px 8px rgba(0,0,0,.6);
  color:#fff;font-weight:1000;font-size:11px;line-height:1
}
.wm-profile-av-badge .wpab-ico{font-size:13px;line-height:1}
.wm-profile-av-badge .wpab-num{font-variant-numeric:tabular-nums;font-size:11px;font-weight:1000}
.wm-profile-av-badge.tier-bronze{background:linear-gradient(135deg,#cd7f32,#8b4513);border-color:#e0a070}
.wm-profile-av-badge.tier-silver{background:linear-gradient(135deg,#d8dde5,#9aa5b6);border-color:#e8ecf2;color:#1a2a3f}
.wm-profile-av-badge.tier-gold{background:linear-gradient(135deg,#ffd166,#e69f15);border-color:#fff4b8;color:#7a4e00;box-shadow:0 2px 10px rgba(255,209,102,.6)}
.wm-profile-av-badge.tier-diamond{background:linear-gradient(135deg,#a7f0ff,#58a6ff,#8e44ff);border-color:#e6faff;color:#fff;box-shadow:0 2px 14px rgba(88,166,255,.75)}

/* 列表中的头像通用框（用在 .av span 上，数据驱动：data-tier=bronze/silver/gold/diamond） */
.av[data-tier="bronze"]{box-shadow:inset 0 0 0 2px #cd7f32,0 0 10px rgba(205,127,50,.55)}
.av[data-tier="silver"]{box-shadow:inset 0 0 0 2px #d8dde5,0 0 12px rgba(216,221,229,.6)}
.av[data-tier="gold"]  {box-shadow:inset 0 0 0 2px #ffd166,0 0 14px rgba(255,209,102,.75)}
.av[data-tier="diamond"]{box-shadow:inset 0 0 0 2px #a7f0ff,0 0 18px rgba(88,166,255,.75)}
.av[data-tier="diamond"]::before{
  content:'';position:absolute;inset:-2px;border-radius:50%;pointer-events:none;z-index:-1;
  background:conic-gradient(from 0deg,#a7f0ff,#58a6ff,#8e44ff,#ff6bff,#a7f0ff);
  animation:avDiamondRotate 4s linear infinite;filter:blur(2px)
}

/* ====== Combo Toast（单人模式中央大字 · v2.34 改为 fixed，彻底不影响游戏布局） ====== */
.wm-combo-toast{
  position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.5);
  z-index:9300;pointer-events:none;opacity:0;
  display:flex;flex-direction:column;align-items:center;gap:3px;
  text-align:center;user-select:none;
  max-width:90vw;will-change:transform,opacity;
}
.wm-combo-toast.show{animation:wmct 1.2s cubic-bezier(.2,1.3,.4,1) forwards}
@keyframes wmct{
  0%{transform:translate(-50%,-50%) scale(.3) rotate(-8deg);opacity:0}
  15%{transform:translate(-50%,-50%) scale(1.35) rotate(3deg);opacity:1}
  30%{transform:translate(-50%,-50%) scale(1) rotate(-2deg);opacity:1}
  45%{transform:translate(-50%,-50%) scale(1.08);opacity:1}
  80%{transform:translate(-50%,-50%) scale(1);opacity:.95}
  100%{transform:translate(-50%,-50%) scale(1.05);opacity:0}
}
.wm-combo-toast .wmct-label{
  font-size:14px;font-weight:1000;letter-spacing:4px;color:#fff;
  text-shadow:0 2px 8px rgba(0,0,0,.65),0 0 14px rgba(255,255,255,.4)
}
.wm-combo-toast .wmct-num{
  font-size:80px;font-weight:1000;line-height:1;
  background:linear-gradient(180deg,#fff9c4 0%,#ffd166 50%,#ff6b6b 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 4px 20px rgba(255,107,53,.8),0 0 40px rgba(244,211,94,.6),0 2px 0 #c0392b;
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.35))
}
.wm-combo-toast.c4 .wmct-num{
  font-size:80px;
  background:linear-gradient(180deg,#fff1ff 0%,#d58bff 45%,#a855f7 100%);
  -webkit-background-clip:text;background-clip:text;
  text-shadow:0 4px 20px rgba(168,85,247,.7),0 0 40px rgba(213,139,255,.55),0 2px 0 #6b21a8
}
.wm-combo-toast.c6 .wmct-num{font-size:84px;background:linear-gradient(180deg,#fff9c4,#ffa840 40%,#e74c3c);-webkit-background-clip:text;background-clip:text;text-shadow:0 4px 22px rgba(231,76,60,.85),0 0 40px rgba(255,168,64,.7)}
.wm-combo-toast.c8 .wmct-num{
  font-size:92px;
  background:linear-gradient(180deg,#ffffff,#ffd700 40%,#ff0040);
  -webkit-background-clip:text;background-clip:text;
  text-shadow:0 4px 24px rgba(255,0,64,.95),0 0 56px rgba(255,215,0,.8)
}
.wm-combo-toast.c8 .wmct-label{color:#ffd700;letter-spacing:6px;animation:wmctLabelShake .4s ease infinite}
@keyframes wmctLabelShake{0%,100%{transform:translateX(0)}33%{transform:translateX(-2px)}66%{transform:translateX(2px)}}
@media(max-width:480px){
  .wm-combo-toast .wmct-num{font-size:64px}
  .wm-combo-toast.c4 .wmct-num{font-size:64px}
  .wm-combo-toast.c6 .wmct-num{font-size:68px}
  .wm-combo-toast.c8 .wmct-num{font-size:76px}
}

/* ====== 观战聊天/表情悬浮面板（单人画面观战时显示） ====== */
.wm-watch-chat-fab{position:fixed;right:12px;bottom:calc(14px + var(--safe-b,0px));z-index:9700;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.wm-wcf-toggle{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#2ecc71,#16a085);color:#fff;border:3px solid #fff;box-shadow:0 4px 16px rgba(46,204,113,.55),0 2px 6px rgba(0,0,0,.3);font-size:24px;cursor:pointer;transition:transform .15s ease,filter .15s ease;display:flex;align-items:center;justify-content:center}
.wm-wcf-toggle:hover{transform:scale(1.08);filter:brightness(1.1)}
.wm-wcf-toggle:active{transform:scale(0.94)}
.wm-wcf-toggle.open{background:linear-gradient(135deg,#e74c3c,#c0392b);box-shadow:0 4px 16px rgba(231,76,60,.55),0 2px 6px rgba(0,0,0,.3)}
.wm-wcf-panel{width:min(88vw,320px);background:linear-gradient(160deg,rgba(26,42,63,.96),rgba(20,34,48,.96));border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:10px;box-shadow:0 10px 30px rgba(0,0,0,.5);backdrop-filter:blur(10px);color:#fff;animation:wcfIn .25s ease}
@keyframes wcfIn{from{transform:translateY(12px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
.wm-wcf-head{display:flex;justify-content:space-between;align-items:center;font-weight:1000;font-size:13px;color:#ffd166;margin-bottom:8px;padding:0 4px}
.wm-wcf-close{width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:11px;border:none;cursor:pointer;line-height:1}
.wm-wcf-close:hover{background:rgba(255,255,255,.22)}
.wm-wcf-row{display:flex;gap:6px;align-items:center}
.wm-wcf-emoji-btn{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:20px;cursor:pointer;flex-shrink:0;transition:all .15s}
.wm-wcf-emoji-btn:hover{background:rgba(255,209,102,.25);border-color:rgba(255,209,102,.6)}
.wm-wcf-emoji-btn.open{background:linear-gradient(135deg,#ffd166,#ff9f43);color:#3b2200;border-color:#ffd166}
.wm-wcf-row input{flex:1;min-width:0;border-radius:10px;border:1px solid rgba(255,255,255,.22);padding:9px 11px;background:rgba(0,0,0,.35);color:#fff;font-size:13px}
.wm-wcf-row input:focus{outline:none;border-color:#ffd166}
.wm-wcf-send{padding:8px 14px;border-radius:10px;background:linear-gradient(135deg,#2ecc71,#16a085);color:#fff;font-size:13px;border:none;cursor:pointer;font-weight:900;flex-shrink:0}
.wm-wcf-send:hover{filter:brightness(1.1)}
.wm-wcf-emojis{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;padding:8px 2px 2px;margin-top:6px;border-top:1px solid rgba(255,255,255,.1);animation:wcfEmIn .2s ease}
@keyframes wcfEmIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.wm-wcf-emojis button{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:6px 2px;font-size:18px;cursor:pointer;transition:all .12s}
.wm-wcf-emojis button:hover{background:rgba(255,209,102,.28);border-color:#ffd166;transform:scale(1.15)}
@media(max-width:420px){
  .wm-wcf-emojis{grid-template-columns:repeat(6,1fr)}
  .wm-wcf-toggle{width:46px;height:46px;font-size:20px}
}

/* ========== 真心话道具 UI ========== */
.wm-wcf-truth{
  display:flex;align-items:center;gap:8px;
  margin-bottom:8px;padding:10px 12px;border-radius:12px;
  background:linear-gradient(135deg,#8e44ad,#e84393);color:#fff;
  border:1.5px solid rgba(255,255,255,.55);
  box-shadow:0 4px 14px rgba(142,68,173,.55),inset 0 1px rgba(255,255,255,.25);
  font-weight:1000;font-size:14px;cursor:pointer;text-align:left;
  transition:filter .15s ease,transform .1s ease;
}
.wm-wcf-truth:hover{filter:brightness(1.1)}
.wm-wcf-truth:active{transform:scale(.97)}
.wm-wcf-truth b{font-size:15px;letter-spacing:1px}
.wm-wcf-truth .wm-wcf-truth-sub{display:block;font-size:10px;font-weight:600;color:rgba(255,255,255,.82);margin-top:2px;letter-spacing:.5px}

/* 真心话弹窗 */
.wm-truth-modal{
  position:fixed;inset:0;z-index:9800;display:none;
  align-items:center;justify-content:center;
  background:rgba(8,12,24,.85);backdrop-filter:blur(8px);padding:20px;
}
.wm-truth-modal .wm-truth-box{
  width:min(92vw,400px);
  background:linear-gradient(170deg,#2a1f3a 0%,#1a1530 50%,#120f26 100%);
  border:1.5px solid rgba(232,67,147,.45);border-radius:20px;
  padding:20px 18px 16px;color:#fff;
  box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 32px rgba(232,67,147,.25);
  animation:wmTruthIn .28s cubic-bezier(.2,1.2,.35,1);
}
@keyframes wmTruthIn{
  0%{opacity:0;transform:scale(.88) translateY(10px)}
  100%{opacity:1;transform:scale(1) translateY(0)}
}
.wm-truth-title{font-size:16px;font-weight:1000;color:#ffd166;letter-spacing:1px;margin-bottom:6px;text-align:center}
.wm-truth-title b{color:#ff6b9a;font-size:17px}
.wm-truth-sub{font-size:11px;color:rgba(255,255,255,.68);text-align:center;margin-bottom:12px;letter-spacing:.5px;line-height:1.4}
.wm-truth-question{
  font-size:15px;font-weight:900;color:#fff9c4;line-height:1.45;
  padding:12px 14px;border-radius:12px;
  background:linear-gradient(135deg,rgba(232,67,147,.25),rgba(142,68,173,.25));
  border:1px solid rgba(255,209,102,.35);
  margin-bottom:12px;word-wrap:break-word;white-space:pre-wrap;
}
.wm-truth-modal textarea{
  width:100%;box-sizing:border-box;
  padding:10px 12px;border-radius:10px;
  background:rgba(255,255,255,.08);color:#fff;
  border:1px solid rgba(255,255,255,.15);
  font-size:13px;line-height:1.5;min-height:80px;resize:vertical;
  font-family:inherit;
}
.wm-truth-modal textarea:focus{outline:none;border-color:#ffd166;background:rgba(255,255,255,.12)}
.wm-truth-timer{
  text-align:center;margin:10px 0 4px;font-size:13px;color:#ff9f43;font-weight:900;
  display:flex;align-items:center;justify-content:center;gap:5px;letter-spacing:1px;
  font-variant-numeric:tabular-nums;
}
.wm-truth-timer span:first-child{font-size:16px;animation:wmtTick 1s steps(2) infinite}
@keyframes wmtTick{0%,50%{transform:rotate(-8deg)}25%,75%{transform:rotate(8deg)}}
.wm-truth-btns{display:flex;gap:10px;margin-top:12px}
.wm-truth-btns button{flex:1;padding:10px;border-radius:12px;font-size:13px;font-weight:1000;border:none;cursor:pointer;transition:filter .15s}
.wm-truth-btns button.ok{background:linear-gradient(135deg,#e84393,#8e44ad);color:#fff;box-shadow:0 4px 12px rgba(232,67,147,.55)}
.wm-truth-btns button.cancel{background:rgba(255,255,255,.1);color:#ccc;border:1px solid rgba(255,255,255,.15)}
.wm-truth-btns button.ok:hover{filter:brightness(1.12)}

/* 获得真心话奖励的显眼全屏提示 */
.wm-truth-gift{
  position:fixed;left:50%;top:30%;transform:translate(-50%,-20px) scale(.7);
  z-index:9850;pointer-events:none;opacity:0;
  padding:18px 28px;border-radius:20px;min-width:260px;text-align:center;
  background:linear-gradient(135deg,#ffd166,#ff9f43 45%,#e84393);
  color:#fff;border:3px solid #fff;
  box-shadow:0 18px 50px rgba(232,67,147,.6),0 0 0 2px rgba(255,255,255,.25) inset,0 0 32px rgba(255,209,102,.45);
}
.wm-truth-gift.show{animation:wmtGift 3.4s cubic-bezier(.2,1.3,.35,1) forwards}
@keyframes wmtGift{
  0%{opacity:0;transform:translate(-50%,-30px) scale(.5) rotate(-8deg)}
  12%{opacity:1;transform:translate(-50%,0) scale(1.1) rotate(3deg)}
  22%{transform:translate(-50%,0) scale(.96) rotate(-2deg)}
  35%{transform:translate(-50%,0) scale(1) rotate(0)}
  80%{opacity:1;transform:translate(-50%,0) scale(1)}
  100%{opacity:0;transform:translate(-50%,-12px) scale(.92)}
}
.wm-truth-gift .wtg-main{font-size:22px;font-weight:1000;letter-spacing:2px;text-shadow:0 2px 8px rgba(0,0,0,.4);line-height:1.2}
.wm-truth-gift .wtg-sub{font-size:13px;font-weight:900;color:#fff9c4;margin-top:6px;letter-spacing:1px;text-shadow:0 1px 4px rgba(0,0,0,.35)}
@media(max-width:420px){
  .wm-truth-modal .wm-truth-box{padding:16px 14px}
  .wm-truth-title{font-size:15px}
  .wm-truth-question{font-size:13px;padding:10px 12px}
  .wm-truth-gift{padding:14px 20px;min-width:220px}
  .wm-truth-gift .wtg-main{font-size:18px}
}

/* ====== 帮助道具按钮（观战面板内） ====== */
.wm-wcf-help{width:100%;display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:10px 12px;border-radius:12px;background:linear-gradient(135deg,#ff6b6b,#ffd166);color:#fff;border:2px solid rgba(255,255,255,.25);box-shadow:0 4px 14px rgba(255,107,107,.4),inset 0 1px 2px rgba(255,255,255,.3);font-weight:900;font-size:15px;cursor:pointer;transition:all .15s;position:relative;overflow:hidden}
.wm-wcf-help:hover{transform:translateY(-1px);filter:brightness(1.1);box-shadow:0 6px 20px rgba(255,107,107,.6),inset 0 1px 2px rgba(255,255,255,.3)}
.wm-wcf-help:active{transform:translateY(0) scale(0.98)}
.wm-wcf-help::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.3) 0%,transparent 55%);pointer-events:none}
.wm-wcf-help b{font-size:16px;text-shadow:0 2px 4px rgba(0,0,0,.35)}
.wm-wcf-help-sub{flex:1;font-size:10px;font-weight:700;color:rgba(255,255,255,.85);margin-left:2px}
.wm-wcf-help-cnt{background:rgba(0,0,0,.35);color:#fff;padding:3px 9px;border-radius:999px;font-size:13px;font-weight:1000;border:1.5px solid rgba(255,255,255,.4);min-width:32px;text-align:center}
.wm-wcf-help.disabled{filter:grayscale(.7) brightness(.7);cursor:not-allowed;pointer-events:none;box-shadow:none}
.wm-wcf-help.disabled::before{display:none}

/* ====== 帮助道具使用 · 全屏公告 ====== */
.wm-help-banner{position:fixed;left:50%;top:28%;transform:translateX(-50%);z-index:9800;pointer-events:none;background:linear-gradient(135deg,rgba(255,107,107,.95),rgba(255,209,102,.95));color:#fff;border:3px solid #fff;border-radius:22px;padding:18px 30px;box-shadow:0 12px 40px rgba(255,107,107,.55),0 0 0 4px rgba(255,107,107,.2);text-align:center;max-width:88vw;min-width:min(320px,82vw);font-weight:900;display:none;animation:whbIn .45s cubic-bezier(.2,1.3,.5,1)}
.wm-help-banner.show{display:block}
@keyframes whbIn{from{transform:translate(-50%,-30px) scale(.5);opacity:0}to{transform:translate(-50%,0) scale(1);opacity:1}}
.wm-help-banner-icon{font-size:40px;line-height:1;margin-bottom:4px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.35))}
.wm-help-banner-text{font-size:18px;line-height:1.4;letter-spacing:1px;text-shadow:0 2px 6px rgba(0,0,0,.4)}
.wm-help-banner-text b{color:#fff9c4;font-size:20px;margin:0 3px;text-shadow:0 2px 8px rgba(255,107,53,.8),0 0 14px rgba(255,249,196,.6)}
.wm-help-banner-sub{font-size:12px;margin-top:6px;color:rgba(255,255,255,.88);font-weight:700;letter-spacing:1px}
@media(max-width:480px){
  .wm-help-banner{padding:14px 22px}
  .wm-help-banner-icon{font-size:32px}
  .wm-help-banner-text{font-size:15px}
  .wm-help-banner-text b{font-size:17px}
}

/* ====== 单人大菠萝 · 整体质感升级（v2.28 · 纯视觉） ====== */
/* 深色奶油背景 + 细腻光斑氛围 */
#watermelon-screen{
  background:
    radial-gradient(circle at 18% 12%, rgba(255,230,150,.6) 0%, transparent 45%),
    radial-gradient(circle at 82% 88%, rgba(255,170,70,.55) 0%, transparent 48%),
    linear-gradient(170deg, #fff3d8 0%, #ffc078 45%, #f4a261 100%)!important;
  position:relative;
}
#watermelon-screen::before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    repeating-linear-gradient(45deg, rgba(255,255,255,.04) 0 2px, transparent 2px 8px),
    radial-gradient(ellipse at 50% -15%, rgba(255,255,255,.35) 0%, transparent 60%);
}
#watermelon-screen > *{position:relative;z-index:1}
/* 标题：简洁琥珀色，无动画 */
#watermelon-screen .wm-title{
  font-weight:1000;letter-spacing:1.5px;
  color:#6b3410;font-size:17px;
  background:none;-webkit-background-clip:initial;background-clip:initial;
  text-shadow:0 1px 0 rgba(255,255,255,.7),0 2px 4px rgba(231,111,81,.18);
  display:flex;align-items:center;gap:6px;
}
#watermelon-screen .wm-title .wm-title-text{
  display:inline-block;
  padding:2px 10px;border-radius:10px;
  background:linear-gradient(135deg,rgba(255,255,255,.55),rgba(255,235,205,.4));
  border:1px solid rgba(255,220,170,.55);
  box-shadow:0 2px 6px rgba(193,78,36,.15),inset 0 1px rgba(255,255,255,.55);
}
/* 顶部按钮：奶油按钮质感 */
#watermelon-screen .wm-back,
#watermelon-screen .wm-restart{
  background:linear-gradient(160deg,rgba(255,255,255,.92),rgba(255,220,175,.75))!important;
  border:1.5px solid rgba(255,255,255,.8);
  box-shadow:0 3px 10px rgba(193,78,36,.22),inset 0 1px 2px rgba(255,255,255,.9);
  color:#8b3a1a!important;
  transition:transform .15s ease, filter .15s ease
}
#watermelon-screen .wm-back:hover,
#watermelon-screen .wm-restart:hover{transform:translateY(-1px);filter:brightness(1.08)}
#watermelon-screen .wm-back:active,
#watermelon-screen .wm-restart:active{transform:scale(.94)}
/* 分数盒：琥珀玻璃 */
#watermelon-screen .wm-score-box{
  background:linear-gradient(160deg,rgba(255,255,255,.9),rgba(255,220,170,.75))!important;
  border:1.5px solid rgba(255,255,255,.75);
  box-shadow:0 4px 14px rgba(193,78,36,.25),inset 0 1px 2px rgba(255,255,255,.9);
  border-radius:14px!important;
  padding:5px 7px!important;
  position:relative;overflow:visible
}
#watermelon-screen .wm-score-lbl{color:#8b4513;font-weight:900;letter-spacing:1px;font-size:9px}
#watermelon-screen .wm-score-val{
  font-size:16px!important;font-weight:1000;
  background:linear-gradient(180deg,#d35400,#c0392b);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  font-variant-numeric:tabular-nums;
  letter-spacing:.5px
}
#watermelon-screen .wm-best .wm-score-val{
  background:linear-gradient(180deg,#f39c12,#e67e22);
  -webkit-background-clip:text;background-clip:text;color:transparent
}
/* 分数变动：数字轻弹 + 右侧飞出 "+N" 短提示 */
#wm-score{display:inline-block;transition:transform .12s ease}
#wm-score.bump{animation:wmScoreBump .45s cubic-bezier(.2,1.4,.35,1)}
@keyframes wmScoreBump{
  0%{transform:scale(1)}
  35%{transform:scale(1.3);filter:drop-shadow(0 0 6px rgba(231,76,60,.5))}
  70%{transform:scale(.94)}
  100%{transform:scale(1);filter:none}
}
.wm-score-pop{
  position:absolute;left:100%;top:50%;transform:translateY(-50%);
  margin-left:4px;padding:1px 7px;border-radius:999px;
  background:linear-gradient(135deg,#ff9f43,#e74c3c);
  color:#fff;font-weight:1000;font-size:11px;letter-spacing:.5px;
  white-space:nowrap;pointer-events:none;
  box-shadow:0 2px 8px rgba(231,76,60,.45),inset 0 1px rgba(255,255,255,.35);
  text-shadow:0 1px 2px rgba(0,0,0,.35);
  animation:wmScorePop .8s cubic-bezier(.2,1.2,.3,1) forwards;
}
@keyframes wmScorePop{
  0%{opacity:0;transform:translate(-4px,-50%) scale(.7)}
  20%{opacity:1;transform:translate(0,-50%) scale(1.08)}
  55%{opacity:1;transform:translate(4px,-60%) scale(1)}
  100%{opacity:0;transform:translate(10px,-120%) scale(.9)}
}
/* next 行：整体加"胶囊"分区 */
#watermelon-screen .wm-next-row{
  background:linear-gradient(160deg,rgba(255,255,255,.55),rgba(255,220,180,.45));
  border:1px solid rgba(255,255,255,.6);
  border-radius:14px;
  padding:5px 8px;
  margin:2px 0 3px;
  box-shadow:0 2px 8px rgba(193,78,36,.18),inset 0 1px rgba(255,255,255,.75);
  backdrop-filter:blur(6px)
}
#watermelon-screen .wm-next-lbl{color:#8b4513;font-weight:900;font-size:11px;letter-spacing:1px}
#watermelon-screen .wm-next-fruit{
  background:radial-gradient(circle at 30% 30%,#fff,#ffe0b8 65%,#ffb066)!important;
  border:2px solid rgba(255,255,255,.9);
  box-shadow:0 2px 8px rgba(193,78,36,.35),inset 0 2px 4px rgba(255,255,255,.8);
  width:32px;height:32px;font-size:19px
}
#watermelon-screen .wm-timer{
  border:2px solid rgba(255,255,255,.35);
  box-shadow:0 3px 10px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.3);
  font-weight:1000;letter-spacing:1px;font-size:11px
}
/* 排行榜栏：奶油玻璃 */
#watermelon-screen .wm-live-panel{gap:6px!important;margin-bottom:4px!important}
#watermelon-screen .wm-live-col{
  background:linear-gradient(160deg,rgba(255,255,255,.88),rgba(255,230,195,.72))!important;
  border:1.5px solid rgba(255,255,255,.8);
  box-shadow:0 3px 10px rgba(193,78,36,.18),inset 0 1px rgba(255,255,255,.85);
  border-radius:12px!important;
  backdrop-filter:blur(4px);
  padding:4px 6px!important
}
#watermelon-screen .wm-live-title{color:#8b3a1a!important;font-weight:1000;letter-spacing:1px}
#watermelon-screen .wm-live-row{
  background:rgba(255,255,255,.5)!important;
  border-radius:8px!important;
  transition:transform .15s ease, background .15s ease
}
#watermelon-screen .wm-live-row:hover{transform:translateX(2px);background:rgba(255,255,255,.72)!important}
/* 画布：双层描边 + 光晕边框 */
#watermelon-screen .wm-canvas{
  border:3px solid rgba(193,78,36,.9)!important;
  border-top:none!important;
  box-shadow:
    inset 0 3px 14px rgba(139,69,19,.22),
    inset 0 0 0 1px rgba(255,255,255,.55),
    0 10px 32px rgba(193,78,36,.35),
    0 0 0 2px rgba(255,220,170,.55)!important;
  background:
    radial-gradient(circle at 50% 10%, rgba(255,255,255,.6), rgba(255,248,228,.3) 45%, transparent 70%),
    linear-gradient(180deg, rgba(255,252,240,.85), rgba(255,230,180,.55))!important;
}
#watermelon-screen .wm-stage-wrap{
  position:relative;
  padding-top:2px;
}
/* 画布顶部"舞台灯"效果 */
#watermelon-screen .wm-stage-wrap::before{
  content:'';position:absolute;top:-4px;left:10%;right:10%;height:18px;pointer-events:none;z-index:2;
  background:radial-gradient(ellipse at 50% 0%, rgba(255,248,220,.85) 0%, transparent 70%);
  filter:blur(2px);border-radius:50%;
}
/* 磁铁按钮：金属质感 */
#watermelon-screen .wm-magnet-btn:not(.empty){
  background:linear-gradient(135deg,#ff9f43 0%,#ffb470 40%,#e67e22 100%)!important;
  border:2px solid rgba(255,255,255,.95)!important;
  box-shadow:0 3px 12px rgba(230,126,34,.5),inset 0 1px 3px rgba(255,255,255,.65)!important
}
#watermelon-screen .wm-watch-count{
  background:linear-gradient(135deg,rgba(139,69,19,.75),rgba(193,78,36,.75))!important;
  border:1.5px solid rgba(255,220,170,.55);
  box-shadow:0 2px 6px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.3);
  letter-spacing:.5px
}
/* 弹幕条加一层投影 */
#watermelon-screen .wm-barrage-item{
  box-shadow:0 4px 18px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.18)!important;
  background:linear-gradient(135deg,rgba(0,0,0,.82),rgba(60,30,20,.82))!important
}
/* 多人榜单胶囊 */
#watermelon-screen .wm-rank-board{gap:6px;padding:4px 2px}
#watermelon-screen .wm-rank-item{
  background:linear-gradient(160deg,rgba(255,255,255,.9),rgba(255,220,170,.6))!important;
  border:1.5px solid rgba(255,255,255,.8);
  box-shadow:0 2px 8px rgba(193,78,36,.2),inset 0 1px rgba(255,255,255,.9);
  border-radius:12px!important;
  color:#6b3410
}
#watermelon-screen .wm-rank-item.lead{
  background:linear-gradient(160deg,#fff3b8,#ffd166)!important;
  box-shadow:0 4px 16px rgba(255,209,102,.6),inset 0 1px rgba(255,255,255,.95)
}

/* ============ v2.32 新增 ============ */
/* 闹钟倒计时（去绿色背景，改为半透白+闹钟图标） */
.wm-clock{
  display:inline-flex!important;align-items:center;gap:5px;
  padding:4px 10px!important;
  background:rgba(255,255,255,.55)!important;
  color:#8b4513!important;
  border:1.5px solid rgba(255,220,170,.7);
  box-shadow:0 2px 8px rgba(0,0,0,.08),inset 0 1px rgba(255,255,255,.85)!important;
  border-radius:999px!important;
  font-variant-numeric:tabular-nums;
  transition:background .25s ease,color .25s ease,transform .15s ease;
}
.wm-clock .wm-clock-ico{font-size:15px;line-height:1;animation:wmClockTick 2s steps(2) infinite;transform-origin:center}
.wm-clock .wm-clock-txt{font-weight:1000;font-size:13px;letter-spacing:1px}
@keyframes wmClockTick{0%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}100%{transform:rotate(-8deg)}}
/* 低于 1min 的警告状态：红色脉动 + 图标剧烈抖 */
.wm-clock.warn{
  background:linear-gradient(135deg,#ff5a5a,#c0392b)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.6)!important;
  box-shadow:0 4px 14px rgba(231,76,60,.45),inset 0 1px rgba(255,255,255,.35)!important;
  animation:wmClockWarnPulse 1s ease-in-out infinite;
}
.wm-clock.warn .wm-clock-ico{animation:wmClockShake .45s linear infinite}
.wm-clock.warn .wm-clock-txt{text-shadow:0 2px 6px rgba(0,0,0,.35)}
@keyframes wmClockWarnPulse{
  0%,100%{transform:scale(1);box-shadow:0 4px 14px rgba(231,76,60,.45),inset 0 1px rgba(255,255,255,.35)}
  50%{transform:scale(1.08);box-shadow:0 6px 22px rgba(231,76,60,.75),inset 0 1px rgba(255,255,255,.45)}
}
@keyframes wmClockShake{
  0%{transform:rotate(-14deg) translateX(-1px)}
  25%{transform:rotate(12deg) translateX(1px)}
  50%{transform:rotate(-10deg) translateX(-1px)}
  75%{transform:rotate(14deg) translateX(1px)}
  100%{transform:rotate(-14deg) translateX(-1px)}
}

/* 观众徽标受到新观众加入时的 bump 动画 */
.wm-watch-count.bump{animation:wmEyeBump .85s cubic-bezier(.2,1.2,.3,1)}
@keyframes wmEyeBump{
  0%{transform:scale(1)}
  30%{transform:scale(1.45) rotate(-6deg);filter:drop-shadow(0 0 12px #ffd166)}
  60%{transform:scale(.94) rotate(4deg)}
  100%{transform:scale(1) rotate(0);filter:none}
}

/* 观众入场大横幅 */
.wm-watcher-enter{
  position:fixed;left:50%;top:14%;transform:translate(-50%,-30px);
  z-index:9600;pointer-events:none;opacity:0;
  min-width:260px;max-width:86vw;
  padding:12px 18px;border-radius:18px;
  background:linear-gradient(135deg,rgba(142,68,173,.96),rgba(231,76,60,.96) 55%,rgba(255,209,102,.96));
  box-shadow:0 16px 44px rgba(0,0,0,.45),0 0 0 2px rgba(255,255,255,.25) inset;
  color:#fff;overflow:hidden;
  backdrop-filter:blur(6px);
}
.wm-watcher-enter.show{animation:wmeIn .45s cubic-bezier(.2,1.2,.35,1) forwards, wmeOut .35s ease-in 2.65s forwards}
@keyframes wmeIn{
  0%{opacity:0;transform:translate(-50%,-30px) scale(.82)}
  60%{opacity:1;transform:translate(-50%,6px) scale(1.04)}
  100%{opacity:1;transform:translate(-50%,0) scale(1)}
}
@keyframes wmeOut{
  0%{opacity:1;transform:translate(-50%,0) scale(1)}
  100%{opacity:0;transform:translate(-50%,-18px) scale(.95)}
}
.wm-watcher-enter .wme-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;position:relative;z-index:2}
.wm-watcher-enter .wme-left{position:relative}
.wm-watcher-enter .wme-eye{font-size:28px;animation:wmeEyeBlink 1.2s ease-in-out infinite;filter:drop-shadow(0 0 8px #ffd166)}
@keyframes wmeEyeBlink{
  0%,100%{transform:scale(1)}
  40%{transform:scale(1.2)}
  60%{transform:scale(.85)}
}
.wm-watcher-enter .wme-mid{min-width:0}
.wm-watcher-enter .wme-label{font-size:11px;letter-spacing:3px;color:rgba(255,255,255,.85);font-weight:700}
.wm-watcher-enter .wme-name{font-size:18px;font-weight:1000;letter-spacing:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 8px rgba(0,0,0,.35)}
.wm-watcher-enter .wme-avatar{
  width:48px;height:48px;border-radius:50%;
  background:rgba(255,255,255,.3) center/cover no-repeat;
  border:2px solid rgba(255,255,255,.85);
  box-shadow:0 4px 14px rgba(0,0,0,.35);
  color:#fff;font-size:20px;font-weight:1000;
  display:inline-flex;align-items:center;justify-content:center;
}
.wm-watcher-enter .wme-beam{
  position:absolute;top:0;bottom:0;left:-50%;width:40%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-18deg);pointer-events:none;
  animation:wmeBeam 1.4s ease-in-out infinite;
}
@keyframes wmeBeam{
  0%{left:-50%;opacity:0}
  20%{opacity:1}
  80%{opacity:1}
  100%{left:120%;opacity:0}
}
@media(max-width:420px){
  .wm-watcher-enter{padding:10px 14px;min-width:220px}
  .wm-watcher-enter .wme-name{font-size:16px}
  .wm-watcher-enter .wme-avatar{width:40px;height:40px;font-size:17px}
  .wm-watcher-enter .wme-eye{font-size:24px}
}

/* 作者署名：内嵌的 .menu-jxy 加小一点的尺寸 */
.menu-author-credit .menu-jxy{font-size:inherit;letter-spacing:1px}
.menu-author-credit .menu-jxy::after{display:none} /* 左上角不显示星号，避免跟顶部栏交叉 */
/* 流光静态版：保留彩色渐变，关闭所有动画 */
.menu-jxy-static{
  animation:none!important;
  /* 固定渐变定位让颜色更均匀漂亮 */
  background-position:50% 50%!important;
}
.menu-jxy-static::after{display:none!important}

/* 单人游戏标题的 .menu-jxy（比主菜单字号小） */
#watermelon-screen .wm-title .menu-jxy{font-size:inherit;letter-spacing:1px}
#watermelon-screen .wm-title .menu-jxy::after{top:-6px;right:-10px;font-size:9px}

/* ============ v2.33 新增 ============ */
/* 屏幕抖动（玫瑰收到 / 关键事件共用） */
body.wm-shake{animation:wmShake .9s cubic-bezier(.36,.07,.19,.97)}
@keyframes wmShake{
  0%,100%{transform:translate(0,0)}
  10%{transform:translate(-6px,2px) rotate(-.6deg)}
  20%{transform:translate(7px,-3px) rotate(.8deg)}
  35%{transform:translate(-5px,3px) rotate(-.4deg)}
  50%{transform:translate(6px,-2px) rotate(.5deg)}
  65%{transform:translate(-4px,2px) rotate(-.3deg)}
  80%{transform:translate(3px,-1px) rotate(.2deg)}
}

/* 收到玫瑰：全屏特效 */
.wm-rose-rain{position:fixed;inset:0;z-index:9800;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .35s ease;background:radial-gradient(circle at 50% 40%,rgba(255,182,193,.45) 0%,rgba(255,107,157,.25) 35%,rgba(16,8,24,.75) 100%)}
.wm-rose-rain.show{opacity:1}
.wmrr-petals{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.wmrr-petal{position:absolute;top:-40px;font-size:26px;filter:drop-shadow(0 2px 6px rgba(255,20,147,.45));animation:wmrrFall 3s linear forwards;opacity:0}
@keyframes wmrrFall{
  0%{transform:translateY(-60px) rotate(0);opacity:0}
  10%{opacity:1}
  90%{opacity:1}
  100%{transform:translateY(110vh) rotate(540deg);opacity:0}
}
.wmrr-card{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.6);
  padding:30px 44px;border-radius:28px;
  background:linear-gradient(160deg,#ff6ab0 0%,#ff4d7a 45%,#c0392b 100%);
  box-shadow:0 30px 90px rgba(255,20,80,.55),0 0 0 3px rgba(255,255,255,.3) inset,0 0 80px rgba(255,107,157,.5);
  color:#fff;text-align:center;min-width:260px;max-width:82vw;
  opacity:0;
}
.wm-rose-rain.show .wmrr-card{animation:wmrrPop .6s cubic-bezier(.2,1.3,.35,1) .1s forwards, wmrrFloat 3s ease-in-out .8s infinite}
@keyframes wmrrPop{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(-8deg)}
  60%{opacity:1;transform:translate(-50%,-50%) scale(1.1) rotate(4deg)}
  100%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}
}
@keyframes wmrrFloat{0%,100%{translate:0 0}50%{translate:0 -6px}}
.wmrr-big{font-size:76px;line-height:1;filter:drop-shadow(0 8px 20px rgba(255,20,80,.7));animation:wmrrBeat 1.1s ease-in-out infinite}
@keyframes wmrrBeat{0%,100%{transform:scale(1)}30%{transform:scale(1.18)}55%{transform:scale(.92)}}
.wmrr-tip{margin-top:6px;font-size:18px;font-weight:1000;letter-spacing:2px;text-shadow:0 2px 8px rgba(0,0,0,.45)}
.wmrr-from{margin-top:6px;font-size:14px;color:rgba(255,255,255,.9)}
.wmrr-from b{font-size:16px;color:#ffd166;letter-spacing:1px;text-shadow:0 1px 4px rgba(0,0,0,.45)}
.wmrr-heart{position:absolute;top:-18px;right:-12px;font-size:34px;color:#fff;filter:drop-shadow(0 2px 8px #ff4d7a);animation:wmrrBeat 1.1s ease-in-out .2s infinite}

/* 成就点击 tooltip */
.wm-achv-tip{position:fixed;inset:0;z-index:9700;display:none;align-items:center;justify-content:center;background:rgba(8,12,24,.78);backdrop-filter:blur(6px);padding:14px;opacity:0;transition:opacity .18s ease}
.wm-achv-tip.show{opacity:1}
.wm-achv-tip .watip-box{
  width:min(92vw,360px);max-height:86dvh;overflow-y:auto;
  background:linear-gradient(170deg,#242c48 0%,#141c2f 100%);
  border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:20px 18px 16px;color:#eee;
  box-shadow:0 24px 60px rgba(0,0,0,.55);position:relative;
  animation:wmpBoxIn .26s cubic-bezier(.2,1.1,.4,1)
}
.wm-achv-tip .watip-close{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;background:rgba(0,0,0,.35);color:#fff;border:1px solid rgba(255,255,255,.18);cursor:pointer;font-size:13px;font-weight:900}
.wm-achv-tip .watip-ico{font-size:48px;text-align:center;line-height:1;margin-bottom:4px;filter:drop-shadow(0 4px 12px rgba(255,209,102,.45))}
.wm-achv-tip .watip-name{text-align:center;font-size:18px;font-weight:1000;letter-spacing:2px;margin-bottom:4px}
.wm-achv-tip .watip-tier{text-align:center;font-size:12px;padding:3px 10px;border-radius:999px;display:inline-block;margin:0 auto 10px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.75);left:50%;position:relative;transform:translateX(-50%)}
.wm-achv-tip .watip-tier.tier-bronze{background:linear-gradient(135deg,#cd7f32,#8b4513);color:#fff}
.wm-achv-tip .watip-tier.tier-silver{background:linear-gradient(135deg,#e0e0e8,#9da6b5);color:#333}
.wm-achv-tip .watip-tier.tier-gold{background:linear-gradient(135deg,#ffe066,#e6a523);color:#5a3a00}
.wm-achv-tip .watip-tier.tier-diamond{background:linear-gradient(135deg,#a7f0ff,#58a6ff,#8e44ff);color:#fff}
.wm-achv-tip .watip-prog{margin:8px 4px 10px}
.wm-achv-tip .watip-prog-bar{height:10px;border-radius:999px;background:rgba(0,0,0,.35);overflow:hidden}
.wm-achv-tip .watip-prog-fill{height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,#ffd166,#ff6b6b);transition:width .5s ease}
.wm-achv-tip .watip-prog-txt{margin-top:4px;text-align:right;font-size:11px;color:rgba(255,255,255,.65);font-variant-numeric:tabular-nums}
.wm-achv-tip .watip-rule{font-size:12px;color:rgba(255,255,255,.8);line-height:1.55;padding:8px 10px;background:rgba(255,255,255,.05);border-radius:10px;margin-bottom:10px}
.wm-achv-tip .watip-tiers{display:flex;flex-direction:column;gap:5px}
.wm-achv-tip .watip-tier-row{display:grid;grid-template-columns:1fr auto 24px;gap:10px;align-items:center;padding:7px 11px;border-radius:10px;background:rgba(255,255,255,.04);font-size:12px;color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.06)}
.wm-achv-tip .watip-tier-row.got{background:rgba(255,209,102,.12);border-color:rgba(255,209,102,.38);color:#fff}
.wm-achv-tip .watip-tier-row .wtr-name{font-weight:800;letter-spacing:2px}
.wm-achv-tip .watip-tier-row .wtr-min{color:rgba(255,255,255,.75);font-variant-numeric:tabular-nums}
.wm-achv-tip .watip-tier-row .wtr-mark{text-align:center;font-size:14px;font-weight:1000}
.wm-achv-tip .watip-tier-row.got .wtr-mark{color:#2ecc71}
.wm-achv-tip .watip-tier-row.tier-bronze.got{background:linear-gradient(90deg,rgba(205,127,50,.35),rgba(205,127,50,.12));border-color:rgba(205,127,50,.55)}
.wm-achv-tip .watip-tier-row.tier-silver.got{background:linear-gradient(90deg,rgba(224,224,232,.35),rgba(224,224,232,.12));border-color:rgba(224,224,232,.55)}
.wm-achv-tip .watip-tier-row.tier-gold.got{background:linear-gradient(90deg,rgba(255,224,102,.42),rgba(230,165,35,.12));border-color:rgba(255,224,102,.6)}
.wm-achv-tip .watip-tier-row.tier-diamond.got{background:linear-gradient(90deg,rgba(88,166,255,.35),rgba(142,68,255,.12));border-color:rgba(88,227,255,.6)}

/* 成就 item 可点击提示 */
#wm-profile-achv .pa-item{cursor:pointer;transition:transform .15s ease,background .15s ease}
#wm-profile-achv .pa-item:hover,#wm-profile-achv .pa-item:active{transform:translateY(-2px);filter:brightness(1.08)}

/* 磁铁启动小提示（1s 渐隐，不使用全屏大公告） */
.wm-magnet-toast{
  position:fixed;left:50%;top:24%;
  transform:translate(-50%,-10px) scale(.7);
  z-index:9500;pointer-events:none;opacity:0;
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 22px;border-radius:999px;
  background:linear-gradient(135deg,rgba(255,209,102,.95),rgba(230,126,34,.95));
  color:#fff;font-weight:1000;letter-spacing:2px;font-size:16px;
  border:2px solid rgba(255,255,255,.75);
  box-shadow:0 8px 28px rgba(230,126,34,.55),0 0 24px rgba(255,209,102,.5),inset 0 1px rgba(255,255,255,.5);
  text-shadow:0 2px 6px rgba(0,0,0,.35);
}
.wm-magnet-toast.show{animation:wmMagnetToast 1s cubic-bezier(.2,1.2,.35,1) forwards}
.wm-magnet-toast .wmmt-ico{font-size:22px;line-height:1;filter:drop-shadow(0 2px 6px rgba(255,107,53,.7))}
@keyframes wmMagnetToast{
  0%{opacity:0;transform:translate(-50%,-10px) scale(.6)}
  18%{opacity:1;transform:translate(-50%,0) scale(1.08)}
  30%{opacity:1;transform:translate(-50%,0) scale(1)}
  70%{opacity:1;transform:translate(-50%,0) scale(1)}
  100%{opacity:0;transform:translate(-50%,-6px) scale(.92)}
}

/* ========== v2.39 画板涂鸦道具 ========== */
.wm-wcf-doodle{
  display:flex;align-items:center;gap:8px;
  margin:8px 0 0 0;padding:10px 12px;border-radius:12px;
  background:linear-gradient(135deg,#00b894,#0984e3);color:#fff;
  border:1.5px solid rgba(255,255,255,.55);
  box-shadow:0 4px 14px rgba(9,132,227,.5),inset 0 1px rgba(255,255,255,.25);
  font-weight:1000;font-size:14px;cursor:pointer;text-align:left;
  transition:filter .15s ease,transform .1s ease;
}
.wm-wcf-doodle:hover{filter:brightness(1.1)}
.wm-wcf-doodle:active{transform:scale(.97)}
.wm-wcf-doodle b{font-size:15px;letter-spacing:1px}
.wm-wcf-doodle .wm-wcf-doodle-sub{display:block;font-size:10px;font-weight:600;color:rgba(255,255,255,.85);margin-top:2px;letter-spacing:.3px}
.wm-wcf-doodle.active{
  background:linear-gradient(135deg,#ff4d94,#ff8e53)!important;
  box-shadow:0 0 0 3px rgba(255,77,148,.35),0 6px 18px rgba(255,77,148,.55),inset 0 1px rgba(255,255,255,.35)!important;
  animation:wmDoodleActivePulse 1.2s ease-in-out infinite;
}
@keyframes wmDoodleActivePulse{
  0%,100%{filter:brightness(1)}
  50%{filter:brightness(1.18)}
}
/* 涂鸦覆盖层：默认不接收事件（玩家端），观战端激活时才启用 */
.wm-doodle-layer{
  position:absolute;left:0;top:0;width:100%;height:100%;
  pointer-events:none;
  z-index:5;
  border-radius:0 0 16px 16px;
}
.wm-doodle-layer.drawing{
  pointer-events:auto;
  cursor:crosshair;
  background:rgba(255,255,255,.04);
  box-shadow:inset 0 0 0 2px rgba(255,77,148,.6),inset 0 0 18px rgba(255,77,148,.25);
  touch-action:none;
}
.wm-doodle-hint{
  position:absolute;left:50%;top:10px;transform:translateX(-50%);
  background:linear-gradient(135deg,#ff4d94,#ff8e53);color:#fff;
  padding:6px 12px;border-radius:18px;font-size:12px;font-weight:1000;
  box-shadow:0 4px 14px rgba(255,77,148,.5);z-index:6;
  pointer-events:none;letter-spacing:.5px;
  animation:wmDoodleHintIn .35s ease-out;
  white-space:nowrap;
}
@keyframes wmDoodleHintIn{
  from{opacity:0;transform:translate(-50%,-6px)}
  to{opacity:1;transform:translate(-50%,0)}
}

/* 截屏按钮（只在涂鸦模式显示，右上角） */
.wm-doodle-snap-btn{
  position:absolute;right:10px;top:10px;z-index:7;
  display:inline-flex;align-items:center;gap:4px;
  padding:6px 10px 6px 8px;border-radius:999px;
  background:linear-gradient(135deg,#00b894,#0984e3);color:#fff;
  border:1.5px solid rgba(255,255,255,.65);
  box-shadow:0 4px 14px rgba(9,132,227,.5),inset 0 1px rgba(255,255,255,.3);
  font-size:13px;font-weight:1000;letter-spacing:.5px;
  cursor:pointer;touch-action:manipulation;
  animation:wmDoodleSnapIn .35s ease-out;
}
.wm-doodle-snap-btn:active{transform:scale(.94)}
.wm-doodle-snap-btn .wmds-ico{font-size:15px;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}
.wm-doodle-snap-btn .wmds-txt{font-size:12px}
@keyframes wmDoodleSnapIn{
  from{opacity:0;transform:translateY(-6px) scale(.88)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
/* 玩家端：收到涂鸦时的光效提示 */
.wm-doodle-layer.receiving{
  box-shadow:inset 0 0 0 2px rgba(9,132,227,.55),inset 0 0 24px rgba(9,132,227,.22);
  transition:box-shadow .4s ease;
}

/* ========== v2.45 涂鸦工具栏（色板 / 粗细 / 橡皮 / 清空） ========== */
.wm-doodle-toolbar{
  position:absolute;left:50%;bottom:10px;transform:translateX(-50%);
  z-index:8;display:flex;flex-wrap:wrap;align-items:center;gap:6px;
  padding:6px 8px;border-radius:16px;
  background:rgba(0,0,0,.62);backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 8px 24px rgba(0,0,0,.45);
  touch-action:none;user-select:none;
  max-width:calc(100% - 20px);
  animation:wmDoodleToolbarIn .3s ease-out;
}
@keyframes wmDoodleToolbarIn{
  from{opacity:0;transform:translate(-50%,8px)}
  to{opacity:1;transform:translate(-50%,0)}
}
.wmdt-palette{display:flex;gap:4px;padding:2px 6px 2px 2px;border-right:1px solid rgba(255,255,255,.12)}
.wmdt-color{
  width:22px;height:22px;border-radius:50%;
  border:2px solid rgba(255,255,255,.4);padding:0;
  cursor:pointer;transition:transform .12s ease,border-color .15s ease,box-shadow .15s ease;
}
.wmdt-color:hover{transform:scale(1.1)}
.wmdt-color.active{
  border-color:#ffd166;
  box-shadow:0 0 0 2px rgba(255,209,102,.35),0 2px 8px rgba(0,0,0,.5);
  transform:scale(1.12);
}
.wmdt-widths{display:flex;gap:3px;padding:2px 6px;border-right:1px solid rgba(255,255,255,.12)}
.wmdt-width{
  width:26px;height:26px;border-radius:8px;padding:0;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;transition:background .12s,border-color .15s;
}
.wmdt-width:hover{background:rgba(255,255,255,.16)}
.wmdt-width.active{background:rgba(255,209,102,.22);border-color:#ffd166}
.wmdt-width-dot{display:block;border-radius:50%;background:#fff;box-shadow:0 0 4px rgba(255,255,255,.3)}
.wmdt-eraser,.wmdt-clear{
  display:inline-flex;align-items:center;gap:3px;padding:5px 9px;border-radius:10px;
  background:rgba(255,255,255,.08);color:#fff;font-size:11px;font-weight:900;
  border:1px solid rgba(255,255,255,.18);cursor:pointer;
  transition:background .15s,border-color .15s,transform .1s;
}
.wmdt-eraser:hover,.wmdt-clear:hover{background:rgba(255,255,255,.16)}
.wmdt-eraser:active,.wmdt-clear:active{transform:scale(.94)}
.wmdt-eraser.active{background:linear-gradient(135deg,#a855f7,#ec4899);border-color:#ffd166;box-shadow:0 0 0 2px rgba(255,209,102,.25)}
.wmdt-clear{background:linear-gradient(135deg,rgba(239,68,68,.55),rgba(190,24,93,.55));border-color:rgba(255,255,255,.3)}
.wmdt-clear:hover{filter:brightness(1.12)}
.wmdt-ico{font-size:13px;line-height:1}
@media (max-width:380px){
  .wm-doodle-toolbar{gap:4px;padding:5px 6px}
  .wmdt-color{width:18px;height:18px;border-width:1.5px}
  .wmdt-width{width:22px;height:22px}
  .wmdt-eraser,.wmdt-clear{padding:4px 6px;font-size:10px;gap:2px}
}

/* ========== 水果烟花技能按钮 ========== */
.wm-wcf-blast{
  display:flex;align-items:center;gap:8px;
  margin:8px 0 0 0;padding:10px 12px;border-radius:12px;
  background:linear-gradient(135deg,#fd7e14,#e84393 55%,#8e44ad);color:#fff;
  border:1.5px solid rgba(255,255,255,.6);
  box-shadow:0 4px 14px rgba(232,67,147,.55),inset 0 1px rgba(255,255,255,.3);
  font-weight:1000;font-size:14px;cursor:pointer;text-align:left;
  transition:filter .15s ease,transform .1s ease;
  position:relative;overflow:hidden;
}
.wm-wcf-blast::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.45) 48%,transparent 62%);
  transform:translateX(-100%);
  animation:wmBlastShine 2.6s ease-in-out infinite;
  pointer-events:none;
}
@keyframes wmBlastShine{
  0%{transform:translateX(-100%)}
  60%{transform:translateX(120%)}
  100%{transform:translateX(120%)}
}
.wm-wcf-blast:hover{filter:brightness(1.12)}
.wm-wcf-blast:active{transform:scale(.97)}
.wm-wcf-blast b{font-size:15px;letter-spacing:1px;position:relative;z-index:1}
.wm-wcf-blast .wm-wcf-blast-sub{display:block;font-size:10px;font-weight:600;color:rgba(255,255,255,.88);margin-top:2px;letter-spacing:.3px;position:relative;z-index:1}



/* ===== VIP 宸ㄥぇ娆㈣繋璇紙UID=1001 濮滄儨棰滀笂绾胯Е鍙戯紝12 绉掓寔缁級 ===== */
.wm-vip-welcome{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;pointer-events:none;overflow:hidden}
.wm-vip-welcome.show{display:flex;animation:wmVipFade 8s ease forwards}
.wm-vip-bg{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(255,77,158,.55) 0%,rgba(167,139,250,.45) 30%,rgba(255,209,102,.32) 55%,rgba(0,0,0,.7) 90%);animation:wmVipBgPulse 8s ease forwards}
.wm-vip-particles{position:absolute;inset:0;pointer-events:none}
.wm-vip-p{position:absolute;top:-60px;line-height:1;filter:drop-shadow(0 4px 12px rgba(255,77,158,.8));animation:wmVipFly linear infinite}
@keyframes wmVipFly{0%{transform:translateY(0) rotate(0deg);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateY(110vh) rotate(720deg);opacity:0}}
.wm-vip-inner{position:relative;text-align:center;padding:40px 60px;animation:wmVipPop 8s cubic-bezier(.16,1.5,.4,1) forwards;max-width:94vw;z-index:2}
.wm-vip-icon{font-size:160px;line-height:1;filter:drop-shadow(0 12px 32px rgba(255,209,102,.95));animation:wmVipIcon 8s ease forwards;margin-bottom:16px}
.wm-vip-title{font-size:72px;font-weight:1000;letter-spacing:8px;
  background:linear-gradient(180deg,#fff9c4 0%,#ff9ec7 30%,#ffd166 65%,#ff4d9e 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  text-shadow:0 6px 30px rgba(255,77,158,.9),0 0 60px rgba(255,209,102,.7);
  filter:drop-shadow(0 4px 16px rgba(255,77,158,.85));
  line-height:1.15;margin-bottom:18px;animation:wmVipShine 2.4s ease-in-out infinite}
.wm-vip-sub{font-size:28px;font-weight:900;color:#fff;letter-spacing:3px;
  text-shadow:0 3px 12px rgba(0,0,0,.85),0 0 24px rgba(255,77,158,.7),0 0 40px rgba(255,209,102,.5)}
@keyframes wmVipFade{0%{opacity:0}5%{opacity:1}90%{opacity:1}100%{opacity:0}}
@keyframes wmVipBgPulse{0%{opacity:0;transform:scale(1.2)}10%{opacity:1;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}100%{opacity:0;transform:scale(1.1)}}
@keyframes wmVipPop{0%{transform:scale(.4) rotate(-12deg);opacity:0}8%{transform:scale(1.15) rotate(3deg);opacity:1}14%{transform:scale(.96) rotate(-1deg)}20%{transform:scale(1) rotate(0)}90%{transform:scale(1) rotate(0);opacity:1}100%{transform:scale(.9);opacity:0}}
@keyframes wmVipIcon{0%{transform:scale(.2) rotate(-30deg)}10%{transform:scale(1.4) rotate(15deg)}20%{transform:scale(1) rotate(0)}40%,60%,80%{transform:scale(1.08) rotate(0)}50%,70%{transform:scale(1) rotate(0)}100%{transform:scale(1)}}
@keyframes wmVipShine{0%,100%{filter:drop-shadow(0 4px 16px rgba(255,77,158,.85)) brightness(1)}50%{filter:drop-shadow(0 4px 24px rgba(255,209,102,.95)) brightness(1.18)}}
@media (max-width:520px){
  .wm-vip-icon{font-size:108px}
  .wm-vip-title{font-size:44px;letter-spacing:4px}
  .wm-vip-sub{font-size:18px;letter-spacing:1.5px}
  .wm-vip-inner{padding:24px 28px}
  .wm-vip-p{font-size:22px !important}
}
