/* ================= WINNERS ================= */
  .period-tabs{ display:flex; gap:10px; margin-bottom:24px; }
  .period-tabs .chip-toggle.active{ background:var(--ink); color:#fff; border-color:var(--ink); }
  .winners-block{ margin-bottom:48px; }
  .winners-block-head{
    display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 20px;
    margin-bottom:20px;
  }
  .winners-block-head h3{ font-family:'Unbounded',sans-serif; font-size:18px; }
  .winners-block-head .period-tabs{ margin-bottom:0; }
  .winners-empty-msg{ color:var(--ink-faint); font-size:14px; }
  .winner-row{
    display:grid; grid-template-columns: 40px auto 1fr auto; align-items:center; gap:16px;
    background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:16px 20px; margin-bottom:12px;
    cursor:pointer; transition: transform .15s ease, box-shadow .15s ease;
  }
  .winner-row:hover{ transform:translateY(-2px); box-shadow:var(--shadow-card); }
  .winner-row.top1{ border-color:var(--gold); background:linear-gradient(90deg, var(--gold-tint), var(--surface) 40%); }
  .w-rank{ font-family:'Unbounded',sans-serif; font-weight:800; font-size:18px; color:var(--ink-faint); text-align:center; }
  .winner-row.top1 .w-rank{ color:var(--gold); }
  .w-avatar{
    width:46px; height:46px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    color:#fff; font-family:'Unbounded',sans-serif; font-weight:800; font-size:16px; overflow:hidden; flex-shrink:0;
  }
  .w-avatar img{ width:100%; height:100%; object-fit:cover; }
  .w-name{ font-weight:700; font-size:14.5px; }
  .w-spec{ font-size:12px; color:var(--ink-soft); margin-top:2px; }
  .w-hearts{ display:flex; align-items:center; gap:6px; font-family:'JetBrains Mono',monospace; font-weight:700; font-size:14px; color:var(--coral); }
  .w-hearts svg{ width:15px; height:15px; fill:var(--coral); }