/* ===== 礼物战争（gw-） · 星云紫白 ===== */

/* 头图 */
.gw-hero{
  position:relative;overflow:hidden;margin-top:12px;padding:22px 16px 20px;
  border-radius:var(--r-l);
  background:
    radial-gradient(240px 170px at 84% 12%,rgba(185,167,255,.26),transparent 66%),
    radial-gradient(300px 220px at 6% 100%,rgba(124,92,255,.38),transparent 70%),
    linear-gradient(160deg,#1e1040,#120a26 58%,#08040f);
  border:1px solid var(--line);
  box-shadow:var(--shadow-card);
}
.gw-star{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;box-shadow:0 0 6px #fff;animation:twinkle 3.2s ease-in-out infinite}
.gw-hero-orb{
  position:absolute;right:16px;top:20px;width:60px;height:60px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--violet-1);
  background:radial-gradient(circle at 35% 30%,rgba(239,233,255,.32),rgba(124,92,255,.18) 60%,transparent 72%);
  border:1px solid var(--line-strong);
  box-shadow:0 0 26px rgba(124,92,255,.45),inset 0 0 18px rgba(185,167,255,.2);
  animation:floaty 3.6s ease-in-out infinite;
}
.gw-hero-title{
  font-family:var(--font-display);font-size:36px;font-weight:700;letter-spacing:7px;line-height:1.15;
  margin:2px 0 4px;padding-left:2px;
  background:linear-gradient(180deg,#ffffff,#e2dbff 54%,#a893ff);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 3px 14px rgba(124,92,255,.4));
}
.gw-hero-sub{font-size:11px;letter-spacing:1.6px;color:var(--text-2)}

/* 期数切换 */
.gw-periods{display:flex;gap:6px;overflow-x:auto;padding:1px 1px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.gw-periods::-webkit-scrollbar{display:none}
.gw-period{
  flex:none;width:68px;padding:6px 0 5px;border-radius:11px;
  display:flex;flex-direction:column;align-items:center;gap:1px;
  background:rgba(255,255,255,.04);border:1px solid var(--line-soft);
  transition:.16s;
}
.gw-period b{font-size:11px;font-weight:600;color:var(--text-1);letter-spacing:.2px;white-space:nowrap}
.gw-period small{font-size:8px;color:var(--text-3);font-variant-numeric:tabular-nums;letter-spacing:0;white-space:nowrap}
.gw-period.ended{opacity:.45}
.gw-period.current:not(.active) b::before{
  content:"";display:inline-block;width:4px;height:4px;border-radius:50%;
  background:var(--green);margin-right:3px;vertical-align:1px;box-shadow:0 0 5px var(--green);
}
.gw-period.active{
  background:linear-gradient(135deg,#b3a2ff,#7c5cff);border-color:transparent;
  box-shadow:0 2px 12px rgba(124,92,255,.4);
}
.gw-period.active b{color:#fff}
.gw-period.active small{color:rgba(255,255,255,.68)}

/* 本轮礼物 + 倒计时 */
.gw-gift-wrap{margin-top:12px}
.gw-gift{
  background:
    radial-gradient(220px 140px at 86% -8%,rgba(185,167,255,.20),transparent 70%),
    var(--card);
  border-color:var(--line);
}
.gw-gift-hd{display:flex;align-items:center;gap:10px}
.gw-gift-orb{
  width:38px;height:38px;border-radius:12px;flex:none;
  display:flex;align-items:center;justify-content:center;
  color:var(--violet-1);
  background:rgba(185,167,255,.12);border:1px solid var(--line);
}
.gw-gift-info{flex:1;min-width:0}
.gw-gift-label{font-size:9px;color:var(--text-3);letter-spacing:.5px}
.gw-gift-name{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--gold-1);margin-top:1px}
.gw-cd{
  margin:12px 0 10px;padding:12px 8px 10px;border-radius:14px;text-align:center;
  background:rgba(8,4,17,.5);border:1px solid var(--line-soft);
}
.gw-cd-label{font-size:9px;letter-spacing:1.5px;color:var(--text-3)}
.gw-cd-num{
  font-family:var(--font-display);font-size:30px;font-weight:700;line-height:1.25;
  letter-spacing:2px;color:#fff;
  text-shadow:0 0 24px rgba(124,92,255,.6);
  font-variant-numeric:tabular-nums;
}
.gw-elapsed{display:flex;align-items:center;gap:8px}
.gw-elapsed .progress{flex:1;height:5px}
.gw-elapsed span{flex:none;font-size:9px;color:var(--text-4)}

/* 冠名权 */
.gw-champion{
  margin-top:12px;padding:13px 14px;border-radius:var(--r-m);
  background:linear-gradient(140deg,rgba(185,167,255,.17),rgba(255,255,255,.03) 60%,rgba(124,92,255,.10));
  border:1px solid var(--line);
}
.gw-champion-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.gw-champion-title{font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:.6px}
.gw-champion-row{display:flex;align-items:center;gap:10px}
.gw-champion-main{flex:1;min-width:0}
.gw-champion-name{font-size:14px;font-weight:600;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gw-champion-sub{font-size:10px;color:var(--text-3);margin-top:1px}
.gw-champion-badge{
  flex:none;display:inline-flex;align-items:center;gap:3px;height:23px;padding:0 10px;border-radius:var(--r-pill);
  font-size:10px;font-weight:700;color:#fff;
  background:linear-gradient(135deg,#b3a2ff,#7c5cff);
  box-shadow:0 2px 10px rgba(124,92,255,.4);
}
.gw-champion-empty{font-size:11px;color:var(--text-3)}
.gw-champion-note{
  font-size:10px;color:var(--text-3);line-height:1.6;margin-top:10px;padding-top:9px;
  border-top:1px solid rgba(185,167,255,.14);
}

/* 榜单 */
.gw-rank-card{padding:12px 12px 8px}
.gw-rank-hd{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:9px}
.gw-rank-title{font-family:var(--font-display);font-size:15px;font-weight:700;letter-spacing:.6px}
.gw-rank-sub{font-size:9px;color:var(--text-3)}
.gw-row{
  display:flex;align-items:flex-start;gap:8px;padding:8px;margin-bottom:5px;border-radius:12px;
  background:linear-gradient(120deg,rgba(255,255,255,.055),rgba(255,255,255,.012));
  border:1px solid rgba(255,255,255,.05);
}
.gw-row.t1{
  background:linear-gradient(120deg,rgba(185,167,255,.24),rgba(185,167,255,.05) 48%,rgba(124,92,255,.12));
  border-color:rgba(185,167,255,.42);box-shadow:0 0 16px rgba(124,92,255,.14);
}
.gw-row.t2{
  background:linear-gradient(120deg,rgba(215,226,255,.14),rgba(215,226,255,.03) 50%,rgba(124,92,255,.08));
  border-color:rgba(215,226,255,.26);
}
.gw-row.t3{
  background:linear-gradient(120deg,rgba(169,233,255,.13),rgba(169,233,255,.03) 50%,rgba(124,92,255,.08));
  border-color:rgba(169,233,255,.24);
}
.gw-no{
  width:17px;flex:none;text-align:center;margin-top:4px;
  font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--text-2);
}
.gw-row.t1 .gw-no{color:#fff}
.gw-row.t2 .gw-no{color:#e3ddff}
.gw-row.t3 .gw-no{color:#d3ecff}
.gw-body{flex:1;min-width:0}
.gw-line{display:flex;align-items:center;gap:6px;min-width:0}
.gw-guard-wrap{display:flex;margin-left:-8px}
.gw-guard-wrap .avatar{border:1.5px solid #0b0614;box-shadow:0 0 0 1px rgba(185,167,255,.18)}
.gw-name{flex:1;min-width:0;font-size:12.5px;font-weight:600;line-height:1.35}
.gw-count{flex:none;font-size:9px;color:var(--text-3);white-space:nowrap}
.gw-count b{
  font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--violet-1);
  margin-right:1px;font-variant-numeric:tabular-nums;
}
.gw-crown{flex:none;height:18px;padding:0 6px;font-size:9px;gap:2px}
.gw-line2{display:flex;align-items:center;gap:5px;margin-top:5px;min-width:0}
.gw-user{flex:none;max-width:120px;font-size:9px;color:var(--text-3)}
.gw-user-label{flex:none;font-size:8px;color:var(--text-4);letter-spacing:.5px}
.gw-rank-foot{
  margin-top:4px;padding:9px 2px 4px;text-align:center;
  border-top:1px solid rgba(255,255,255,.05);font-size:9px;color:var(--text-4);
}

/* 规则弹层 */
.gw-sheet-block{margin-bottom:12px}
.gw-sheet-text{font-size:11px;line-height:1.7;color:var(--text-2)}
.gw-sheet-periods{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.gw-sheet-period{
  display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 9px;
  border-radius:8px;background:rgba(255,255,255,.04);border:1px solid var(--line-soft);
  font-size:10px;color:var(--text-3);
}
.gw-sheet-period b{font-weight:500;color:var(--text-1);font-variant-numeric:tabular-nums}
