/* ===== 任务玩法（task-） · 星云紫白 ===== */
.task-seg{margin:10px 0 0}

/* 顶部星云 */
.task-points{
  margin-top:12px;
  background:
    radial-gradient(220px 130px at 88% -10%,rgba(185,167,255,.22),transparent 70%),
    radial-gradient(200px 140px at 4% 110%,rgba(124,92,255,.28),transparent 72%),
    var(--card);
  border-color:var(--line);
}

/* 团队任务入口 */
.task-team{
  display:flex;align-items:center;gap:8px;margin-top:10px;padding:9px 12px;
  border-radius:var(--r-m);
  background:rgba(255,255,255,.03);border:1px dashed rgba(185,167,255,.24);
  opacity:.72;
}
.task-team-name{font-size:12px;font-weight:600}
.task-team .chip{margin-left:2px}
.task-team-hint{margin-left:auto;font-size:9px;color:var(--text-4)}

/* 图标 */
.task-ico{
  width:28px;height:28px;border-radius:9px;flex:none;
  display:flex;align-items:center;justify-content:center;
  color:var(--violet-2);
  background:rgba(185,167,255,.10);border:1px solid var(--line-soft);
}
.task-ico.sm{width:26px;height:26px;opacity:.9}

/* 积分总览 */
.task-points-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.task-points-label{font-size:10px;color:var(--text-3);letter-spacing:.5px}
.task-points-num{
  font-family:var(--font-display);font-size:34px;line-height:1.15;letter-spacing:1px;
  color:var(--gold-1);margin-top:1px;
}
.task-points .chip b{font-family:var(--font-display);font-size:13px;margin:0 1px}
.task-points-foot{
  display:flex;align-items:center;gap:14px;margin-top:9px;padding-top:9px;
  border-top:1px solid rgba(185,167,255,.14);font-size:10px;color:var(--text-3);
}
.task-points-foot b{color:var(--violet-1);font-weight:600;letter-spacing:.3px}

/* 任务列表 */
.task-list-card{padding:2px 14px}
.task-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.task-row:last-child{border-bottom:0}
.task-row.is-done{opacity:.5}
.task-main{flex:1;min-width:0}
.task-name{font-size:12.5px;font-weight:500;line-height:1.4;word-break:break-word}
.task-prog{display:flex;align-items:center;gap:7px;margin-top:6px}
.task-prog .progress{flex:1;height:4px}
.task-prog-num{flex:none;font-size:8px;color:var(--text-4);letter-spacing:.2px}
.task-act{flex:none;display:flex;align-items:center;gap:7px}
.task-pts{font-size:10px;color:var(--violet-2);white-space:nowrap}
.task-done{display:inline-flex;align-items:center;gap:3px;font-size:10px;color:var(--text-3);white-space:nowrap}
.task-done .ico{opacity:.7}
.task-todo{font-size:10px;color:var(--text-3);white-space:nowrap}

/* 积分兑换 */
.task-redeem-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.task-redeem{
  display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:10px;
  border-radius:var(--r-m);
  background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(124,92,255,.08));
  border:1px solid var(--line-soft);
}
.task-redeem.is-redeemed{opacity:.5}
.task-redeem-ico{
  width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  color:var(--violet-2);background:rgba(185,167,255,.10);border:1px solid var(--line-soft);
  margin-bottom:2px;
}
.task-redeem-name{font-size:12px;font-weight:600;line-height:1.35}
.task-redeem-cost{font-size:10px;color:var(--text-3);font-variant-numeric:tabular-nums}
.task-redeem .btn{margin-top:5px}
.task-redeem-done{display:inline-flex;align-items:center;gap:3px;margin-top:5px;font-size:10px;color:var(--text-3)}

/* 集字 */
.task-word-slots{display:flex;gap:6px;margin-bottom:10px}
.task-word{
  flex:1;aspect-ratio:1/1;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-size:18px;font-weight:700;
  color:var(--violet-1);
  background:linear-gradient(160deg,rgba(185,167,255,.22),rgba(124,92,255,.16));
  border:1px solid var(--line);
}
.task-word:not(.got){color:var(--text-4);background:rgba(255,255,255,.03);border-style:dashed;border-color:var(--line-soft)}
.task-words-hint{margin-top:8px;font-size:10px;color:var(--text-3);text-align:center}
.task-wheel-dim{opacity:.7}

/* 规则 */
.task-rules{display:flex;flex-direction:column;gap:7px}
.task-rule{
  position:relative;padding-left:11px;font-size:11px;color:var(--text-2);line-height:1.5;
}
.task-rule::before{
  content:"";position:absolute;left:0;top:6px;width:4px;height:4px;border-radius:50%;
  background:var(--violet-2);opacity:.7;
}

/* 团队任务弹层 */
.task-team-sheet{display:flex;flex-direction:column}
.task-team-sheet-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:11px;
}
.task-team-sheet-row:last-child{border-bottom:0}
.task-team-sheet-row span{color:var(--text-3);flex:none}
.task-team-sheet-row b{font-weight:500;color:var(--text-1);text-align:right}

/* 兑换确认 */
.task-confirm{text-align:center;padding:4px 0}
.task-confirm-ico{
  width:44px;height:44px;border-radius:14px;margin:0 auto 8px;
  display:flex;align-items:center;justify-content:center;
  color:var(--violet-1);background:rgba(185,167,255,.12);border:1px solid var(--line);
}
.task-confirm-name{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--gold-1);letter-spacing:.5px}
.task-confirm-cost{font-size:11px;color:var(--text-3);margin-top:4px}

/* 集字转盘弹层 */
.task-wheel-wrap{position:relative;width:196px;height:196px;margin:12px auto 16px}
.task-wheel{
  position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(
    from -30deg,
    rgba(185,167,255,.22) 0 60deg, rgba(124,92,255,.30) 60deg 120deg,
    rgba(185,167,255,.14) 120deg 180deg, rgba(124,92,255,.24) 180deg 240deg,
    rgba(185,167,255,.22) 240deg 300deg, rgba(124,92,255,.30) 300deg 360deg);
  border:1.5px solid var(--line-strong);
  box-shadow:0 0 32px rgba(124,92,255,.30),inset 0 0 24px rgba(185,167,255,.14);
  transition:transform 1.1s cubic-bezier(.18,.86,.22,1);
  transform:rotate(0deg);
}
.task-wheel-cell{
  position:absolute;left:50%;top:50%;width:32px;height:32px;margin:-16px 0 0 -16px;
  display:flex;align-items:center;justify-content:center;
  transform:rotate(calc(var(--i) * 60deg)) translateY(-68px);
}
.task-wheel-cell span{
  font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--violet-1);
  transform:rotate(calc(var(--i) * -60deg));
}
.task-wheel-hub{
  position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-size:17px;font-weight:700;color:#fff;
  background:linear-gradient(135deg,#b3a2ff,#7c5cff 70%);
  border:1px solid rgba(205,191,255,.6);
  box-shadow:0 4px 18px rgba(124,92,255,.45);
}
.task-wheel-pin{
  position:absolute;left:50%;top:-10px;transform:translateX(-50%);z-index:2;
  color:var(--violet-1);display:flex;filter:drop-shadow(0 0 8px rgba(185,167,255,.8));
}

/* 抽字结果 */
.task-result{text-align:center;padding:8px 0 4px}
.task-result-char{
  width:76px;height:76px;border-radius:20px;margin:0 auto 10px;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-size:34px;font-weight:700;color:var(--violet-1);
  background:linear-gradient(160deg,rgba(185,167,255,.24),rgba(124,92,255,.18));
  border:1px solid var(--line-strong);
  box-shadow:0 0 26px rgba(124,92,255,.28);
}
.task-result-sub{font-size:11px;color:var(--text-3)}

/* 兑换卡补充：人工标签 */
.task-redeem-tag{font-size:8px;font-weight:400;color:var(--text-3);border:1px solid var(--line-soft);
  border-radius:4px;padding:0 4px;margin-left:4px;vertical-align:1px}
