.winners-page {
  position: relative;
  z-index: 1;
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: 150px 0 76px;
}

.winners-hero {
  padding: 34px 0 40px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.winners-eyebrow,
.winner-label {
  margin: 0 0 10px;
  color: rgba(255, 255, 255, 0.52);
  font-family: var(--font-tech);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
}

.winners-hero h1 {
  margin: 0;
  color: #fff;
  font-family: var(--font-tech);
  font-size: clamp(42px, 7vw, 82px);
  font-weight: 800;
  line-height: .86;
  letter-spacing: -.035em;
}

.winners-hero h1 {
  width: fit-content;
  background: linear-gradient(100deg, #00f3ff 0%, #7788ff 48%, #bc67ff 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

.winners-hero > p:not(.winners-eyebrow) {
  max-width: 600px;
  margin: 24px 0;
  color: var(--txt-muted);
  font-size: 17px;
}

.winners-back {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 12px 17px;
  border: 1px solid rgba(0, 243, 255, .42);
  border-radius: 10px;
  color: #fff;
  font-family: var(--font-tech);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  transition: transform .2s ease, background .2s ease;
}

.winners-back:hover { background: rgba(0, 243, 255, .12); transform: translateY(-2px); }
.winners-back span { color: var(--neon-blue); font-size: 18px; }

.winners-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 36px; }

.winner-card {
  position: relative;
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  align-items: center;
  gap: 20px;
  padding: 28px;
  overflow: hidden;
  border: 1px solid rgba(192, 173, 255, .14);
  border-radius: 32px;
  background: radial-gradient(ellipse at 0% 0%, rgba(69, 133, 163, .18), transparent 65%), linear-gradient(140deg, #111322, #120c20);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .18);
}



.winner-image {
  display: grid;
  width: 100%;
  height: 160px;
  place-items: center;
  background: radial-gradient(ellipse, rgba(90, 174, 197, .14), transparent 70%);
}

.winner-image img { width: 100%; height: 100%; object-fit: contain; padding: 0; filter: drop-shadow(0 12px 14px rgba(0,0,0,.4)); }
.winner-image--fallback span { color: var(--neon-blue); font-size: 42px; text-shadow: 0 0 18px rgba(0, 243, 255, .8); }
.winner-details h2 { margin: 0; color: #fff; font-family: var(--font-tech); font-size: clamp(28px, 3.6vw, 38px); font-weight: 800; line-height: .95; }
.winner-details p { margin: 8px 0 0; color: rgba(255, 255, 255, .7); font-family: var(--font-tech); font-size: 17px; font-weight: 700; text-transform: uppercase; }
.winner-meta { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1.3fr 1fr; gap: 16px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.08); min-width: 0; text-align: left; font-family: var(--font-tech); font-weight: 800; text-transform: uppercase; }
.winner-meta > div { min-width: 0; overflow-wrap: anywhere; }
.winner-meta .winner-source { display: inline-block; color: var(--neon-blue); font-size: 13px; line-height: 1.3; padding: 5px 10px; background: rgba(255,255,255,.045); border-radius: 999px; }
.winner-meta .winner-source--subs { color: #c7a6ff; }
.winner-meta .winner-source--partner { color: #ffd166; }
.winner-meta .winner-source--discord { color: #9ba5ff; }
.winner-meta .winner-source--other { color: #ff9acb; }
.winner-meta .winner-label { display: block; margin: 0 0 2px; font-size: 10px; }
.winner-value { display: block; color: var(--neon-blue); font-size: 24px; line-height: 1.1; text-transform: none; }
.winner-prize-label { display: block; margin: 14px 0 0; }
.winner-details { min-width: 0; overflow-wrap: anywhere; }
.winner-meta time { display: block; padding-top: 5px; color: rgba(255, 255, 255, .78); font-size: 15px; }

.winners-empty { display: grid; place-items: center; gap: 8px; min-height: 260px; padding: 30px; border: 1px dashed rgba(0, 243, 255, .35); border-radius: 18px; background: rgba(5, 7, 18, .65); color: var(--txt-muted); text-align: center; }
.winners-empty strong { color: #fff; font-family: var(--font-tech); font-size: 25px; }
.winners-empty { grid-column: 1 / -1; }

@media (min-width: 761px) and (max-width: 1050px) {
  .winners-list { grid-template-columns: 1fr; }
  .winner-card { grid-template-columns: 200px minmax(0, 1fr); }
}

@media (max-width: 760px) {
  .winners-list { grid-template-columns: 1fr; gap: 18px; }
  .winners-page { width: min(100% - 24px, 620px); padding-top: 102px; }
  .winners-hero { padding-top: 24px; }
  .winner-card { grid-template-columns: 100px minmax(0, 1fr); gap: 16px; padding: 22px 18px; border-radius: 26px; }
  .winner-image { width: 100%; height: 120px; }
  .winner-details h2 { font-size: 28px; overflow-wrap: anywhere; }
  .winner-details p { font-size: 13px; }
  .winner-meta { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; text-align: left; border-top: 1px solid rgba(255,255,255,.1); padding-top: 12px; overflow-wrap: anywhere; }
}
