/* ===== 今日挑战：主菜单单按钮 + 弹窗 ===== */

.menu-today-btn{display:none!important}
.menu-today-btn-legacy{
  width:100%;
  margin:8px 0;
  padding:12px 14px;
  display:flex;align-items:center;gap:10px;
  background:linear-gradient(135deg,rgba(255,209,102,.22),rgba(255,107,53,.18));
  border:1.5px solid rgba(255,209,102,.4);
  border-radius:14px;
  color:#fff;cursor:pointer;
  box-shadow:0 4px 18px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.15);
  transition:transform .15s ease,filter .15s ease,box-shadow .15s ease;
  position:relative;
  text-align:left;
}
.menu-today-btn:hover{transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 8px 28px rgba(0,0,0,.28)}
.menu-today-btn:active{transform:scale(.98)}
.menu-today-btn .mtb-ico{font-size:22px;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(255,209,102,.4))}
.menu-today-btn .mtb-mid{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.menu-today-btn .mtb-title{font-size:13px;font-weight:1000;color:#ffe066;letter-spacing:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-today-btn .mtb-sub{font-size:11px;color:rgba(255,220,180,.78);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-today-btn .mtb-badge{
  flex-shrink:0;min-width:20px;height:20px;padding:0 6px;border-radius:999px;
  background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;
  font-size:11px;font-weight:1000;display:inline-flex;align-items:center;justify-content:center;
  border:1.5px solid rgba(255,255,255,.65);box-shadow:0 2px 8px rgba(231,76,60,.55);
  animation:wmTBPulse 1.6s ease-in-out infinite;
}
.menu-today-btn .mtb-arrow{font-size:18px;color:rgba(255,209,102,.85);font-weight:800;flex-shrink:0}
@keyframes wmTBPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.12)}
}

/* ====== 今日详情弹窗（保持不变） ====== */
.wm-today-overlay{
  position:fixed;inset:0;z-index:9700;display:flex;align-items:center;justify-content:center;
  background:rgba(8,12,24,.88);backdrop-filter:blur(8px);padding:14px;
  animation:wmTodayFadeIn .22s ease-out;
}
@keyframes wmTodayFadeIn{from{opacity:0}to{opacity:1}}
.wm-today-box{
  width:min(94vw,480px);max-height:88dvh;overflow:hidden;display:flex;flex-direction:column;
  background:linear-gradient(170deg,#202738 0%,#131826 100%);
  border:1px solid rgba(255,255,255,.12);border-radius:20px;
  box-shadow:0 22px 60px rgba(0,0,0,.55);color:#eee;
  animation:wmTodayBoxIn .3s cubic-bezier(.2,1.2,.4,1);
}
@keyframes wmTodayBoxIn{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
.wm-today-head{display:flex;align-items:center;padding:14px 16px 10px;border-bottom:1px solid rgba(255,255,255,.08)}
.wm-today-h-title{flex:1;font-size:17px;font-weight:1000;letter-spacing:1px}
.wm-today-h-close{width:32px;height:32px;border-radius:50%;background:rgba(0,0,0,.3);color:#fff;border:1px solid rgba(255,255,255,.15);cursor:pointer;font-size:14px}

.wm-today-tabs{display:flex;gap:4px;padding:8px 12px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.wm-today-tab{
  flex:1;padding:8px 0;border-radius:10px 10px 0 0;
  background:rgba(255,255,255,.04);color:rgba(255,255,255,.65);
  border:none;cursor:pointer;font-size:12px;font-weight:800;letter-spacing:1px;
  transition:background .15s,color .15s;
}
.wm-today-tab.active{background:rgba(88,166,255,.18);color:#fff;box-shadow:inset 0 -2px 0 #58a6ff}
.wm-today-tab:hover{color:#fff}
.wm-today-pane{display:none;padding:14px 16px;overflow-y:auto;flex:1}
.wm-today-pane.active{display:block}

.wm-today-buff-banner{
  display:flex;align-items:center;gap:10px;
  padding:12px 14px;border-radius:14px;margin-bottom:14px;
  background:linear-gradient(135deg,rgba(255,107,53,.3),rgba(255,209,102,.25));
  border:1.5px solid rgba(255,209,102,.4);
  box-shadow:0 4px 16px rgba(255,107,53,.2);
}
.wm-today-buff-banner .wmtbb-ico{font-size:28px}
.wm-today-buff-banner .wmtbb-mid{flex:1}
.wm-today-buff-banner .wmtbb-name{font-size:15px;font-weight:1000;color:#ffe066;letter-spacing:1px}
.wm-today-buff-banner .wmtbb-desc{font-size:11px;color:rgba(255,255,255,.85);margin-top:2px;line-height:1.4}

.wm-today-tasks-list{display:flex;flex-direction:column;gap:10px}
.wmtt-item{
  display:flex;align-items:center;gap:10px;padding:10px 12px;
  border-radius:12px;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  transition:background .15s;
}
.wmtt-item.done{background:linear-gradient(135deg,rgba(46,204,113,.2),rgba(46,204,113,.1));border-color:rgba(46,204,113,.45)}
.wmtt-item.claimed{opacity:.5}
.wmtt-ico{font-size:22px;flex-shrink:0}
.wmtt-mid{flex:1;min-width:0}
.wmtt-name{font-size:13px;font-weight:1000;color:#fff;letter-spacing:.5px}
.wmtt-prog-bar{margin-top:6px;height:6px;border-radius:999px;background:rgba(0,0,0,.3);overflow:hidden}
.wmtt-prog-fill{height:100%;background:linear-gradient(90deg,#58a6ff,#a7f0ff);transition:width .4s ease}
.wmtt-item.done .wmtt-prog-fill{background:linear-gradient(90deg,#2ecc71,#58e18c)}
.wmtt-prog-txt{margin-top:3px;font-size:10px;color:rgba(255,255,255,.6);font-variant-numeric:tabular-nums}
.wmtt-reward{font-size:11px;color:#ffd166;font-weight:800;white-space:nowrap}
.wmtt-claim-btn{
  padding:6px 12px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:1000;letter-spacing:1px;
  background:linear-gradient(135deg,#ffd166,#e67e22);color:#5a3a00;border:1px solid rgba(255,255,255,.6);
  box-shadow:0 3px 10px rgba(230,126,34,.4);
  flex-shrink:0;
}
.wmtt-claim-btn:hover{filter:brightness(1.08)}
.wmtt-claim-btn:disabled{background:rgba(255,255,255,.1);color:rgba(255,255,255,.3);cursor:not-allowed;box-shadow:none;border-color:rgba(255,255,255,.1)}

.wm-today-tier-card{
  margin-top:16px;padding:14px;border-radius:14px;
  background:linear-gradient(135deg,rgba(167,139,250,.18),rgba(88,166,255,.12));
  border:1px solid rgba(167,139,250,.28);
}
.wmttc-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.wmttc-ico{font-size:30px}
.wmttc-name{font-size:17px;font-weight:1000;letter-spacing:2px}
.wmttc-score{font-size:11px;color:rgba(255,255,255,.7);margin-top:2px;font-variant-numeric:tabular-nums}
.wmttc-tiers{display:flex;gap:4px;flex-wrap:wrap}
.wmttc-tier-pill{
  padding:4px 9px;border-radius:999px;font-size:10px;font-weight:800;
  background:rgba(255,255,255,.06);color:rgba(255,255,255,.55);
  border:1px solid rgba(255,255,255,.1);
}
.wmttc-tier-pill.active{background:linear-gradient(135deg,#ffd166,#e67e22);color:#5a3a00;border-color:rgba(255,255,255,.8);box-shadow:0 2px 8px rgba(230,126,34,.35)}
.wmttc-tier-pill.passed{background:rgba(46,204,113,.18);color:#b7f2cb;border-color:rgba(46,204,113,.3)}

.wm-today-board-title{font-size:13px;font-weight:1000;margin-bottom:10px;color:#ffd166;letter-spacing:1px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08)}
.wm-today-board-list{display:flex;flex-direction:column;gap:6px}
.wmtbl-row{display:grid;grid-template-columns:32px 32px 1fr auto;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.04)}
.wmtbl-row.top3{background:linear-gradient(135deg,rgba(255,209,102,.15),rgba(230,126,34,.1));border:1px solid rgba(255,209,102,.25)}
.wmtbl-rank{font-size:13px;font-weight:1000;text-align:center;color:rgba(255,255,255,.7)}
.wmtbl-row.top3 .wmtbl-rank{color:#ffd166;font-size:16px}
.wmtbl-avatar{width:28px;height:28px;border-radius:50%;background:center/cover no-repeat;background-color:rgba(255,255,255,.2);border:1.5px solid rgba(255,255,255,.25)}
.wmtbl-name{font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wmtbl-score{font-size:13px;font-weight:1000;color:#58a6ff;font-variant-numeric:tabular-nums}
.wmtbl-empty{text-align:center;padding:20px;color:rgba(255,255,255,.4);font-size:12px}

.wm-today-wall-title{font-size:12px;color:rgba(255,255,255,.6);margin-bottom:10px;letter-spacing:1px}
.wm-today-wall-list{display:flex;flex-direction:column;gap:10px}
.wmtw-item{padding:10px 12px;border-radius:12px;background:linear-gradient(135deg,rgba(232,67,147,.12),rgba(142,68,173,.08));border:1px solid rgba(232,67,147,.2)}
.wmtw-meta{font-size:10px;color:rgba(255,255,255,.5);margin-bottom:4px}
.wmtw-q{font-size:12px;color:#e0a3d9;font-weight:800;margin-bottom:2px}
.wmtw-q:before{content:'Q · '}
.wmtw-a{font-size:13px;color:#fff;line-height:1.5}
.wmtw-a:before{content:'A · ';color:rgba(255,255,255,.4)}

/* ===== 任务完成 toast ===== */
.wm-task-done-toast{
  position:fixed;left:50%;top:18%;transform:translate(-50%,-10px) scale(.8);
  z-index:9650;opacity:0;pointer-events:none;
  padding:14px 24px;border-radius:16px;
  background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff;
  border:2px solid rgba(255,255,255,.55);
  box-shadow:0 12px 36px rgba(46,204,113,.5),inset 0 1px rgba(255,255,255,.3);
  text-align:center;min-width:220px;
}
.wm-task-done-toast.show{animation:wmTDT 2.3s cubic-bezier(.2,1.2,.35,1) forwards}
.wm-task-done-toast .wmtd-top{font-size:14px;font-weight:800;letter-spacing:1px;color:rgba(255,255,255,.9)}
.wm-task-done-toast .wmtd-name{font-size:17px;font-weight:1000;letter-spacing:1px;margin-top:2px;text-shadow:0 2px 6px rgba(0,0,0,.3)}
.wm-task-done-toast .wmtd-reward{font-size:12px;color:rgba(255,255,255,.95);margin-top:4px;font-weight:800}
@keyframes wmTDT{
  0%{opacity:0;transform:translate(-50%,-10px) scale(.7)}
  15%{opacity:1;transform:translate(-50%,0) scale(1.05)}
  22%{transform:translate(-50%,0) scale(1)}
  80%{opacity:1;transform:translate(-50%,0) scale(1)}
  100%{opacity:0;transform:translate(-50%,-6px) scale(.92)}
}

/* ===== 段位头像框（应用于资料 / 在线榜） ===== */
.wm-tier-frame{position:relative;display:inline-block}
.wm-tier-frame::after{
  content:'';position:absolute;inset:-2px;border-radius:50%;
  border:2px solid var(--tier-color,transparent);
  box-shadow:0 0 10px var(--tier-glow,transparent);
  pointer-events:none;
}

/* ===== 结算面板：成长反馈 ===== */
.wm-grow-panel{
  margin:10px 0;padding:12px;border-radius:14px;
  background:linear-gradient(135deg,rgba(88,166,255,.18),rgba(167,139,250,.12));
  border:1px solid rgba(88,166,255,.3);
  text-align:left;
}
.wm-grow-line{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:12px}
.wm-grow-line b{color:#a7f0ff;font-weight:1000}
.wm-grow-chart{display:flex;gap:2px;align-items:flex-end;height:40px;margin-top:8px}
.wm-grow-bar{flex:1;min-width:6px;border-radius:3px 3px 0 0;background:linear-gradient(180deg,#58a6ff,#2d6a4f);transition:height .4s ease}
.wm-grow-bar.today{background:linear-gradient(180deg,#ff4d6d,#ff9f43);box-shadow:0 0 8px rgba(255,77,109,.4)}

/* ===== 跑马灯段位区分（看 data-tier） ===== */
.menu-live-row[data-tier="king"],
.menu-live-row[data-tier="pineapple"]{
  background:linear-gradient(135deg,rgba(255,209,102,.18),rgba(255,77,109,.12))!important;
  border:1px solid rgba(255,209,102,.4);
  box-shadow:0 0 16px rgba(255,209,102,.2);
}
.menu-live-row[data-tier="master"]{
  background:linear-gradient(135deg,rgba(167,139,250,.18),rgba(88,166,255,.12))!important;
  border:1px solid rgba(167,139,250,.4);
}
