.publicResultsPage {
  --sPage: #080b12;
  --sCard: #121722;
  --sAccent: #7c5cff;
  --sText: #f7f8fb;
  --sMuted: #9ca5b5;
  --sBorder: #252c3a;
  --sRadius: 22px;
  --sWidth: 1100px;
  min-height: 100vh;
  padding: 24px clamp(12px, 4vw, 48px) 45px;
  background: radial-gradient(circle at 80% 0, color-mix(in srgb, var(--sAccent), transparent 85%), transparent 32%), var(--sPage);
  color: var(--sText);
  display: flex;
  flex-direction: column;
}

.publicResultsTop,
.publicResultsHero,
.publicResultsGrid,
.publicShare {
  width: min(1100px, 100%);
  margin-inline: auto;
}

.publicResultsTop {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 20px;
}

.publicResultsTop .sBtn {
  min-height: 36px;
  padding: 7px 12px;
}

.publicResultsHero {
  position: relative;
  padding: clamp(25px, 5vw, 48px);
  border: 1px solid var(--sBorder);
  border-radius: var(--sRadius);
  background: var(--sCard);
  overflow: hidden;
}

.publicResultsHero::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: var(--sAccent);
}

.publicResultsHero h1 {
  font-size: clamp(30px, 6vw, 52px);
  line-height: 1.08;
  margin: 7px 0 10px;
}

.publicResultsHero > p:not(.eyebrow),
.publicResultsHero > small {
  color: var(--sMuted);
}

.publicResultsHero > small {
  display: block;
  font-size: 9px;
  margin-top: 18px;
}

.publicTotal {
  position: absolute;
  left: clamp(25px, 5vw, 48px);
  top: 50%;
  transform: translateY(-50%);
  text-align: center;
}

.publicTotal strong,
.publicTotal span {
  display: block;
}

.publicTotal strong {
  font-size: 48px;
  color: var(--sAccent);
}

.publicTotal span {
  font-size: 9px;
  color: var(--sMuted);
}

.publicResultsGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.publicResultCard {
  padding: 20px;
  border: 1px solid var(--sBorder);
  border-radius: calc(var(--sRadius) * .8);
  background: var(--sCard);
}

.publicResultCard header {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 15px;
}

.publicResultCard h2 {
  font-size: 15px;
  margin: 0;
}

.publicResultCard header p,
.publicResultCard > p,
.publicBars > p {
  font-size: 9px;
  color: var(--sMuted);
}

.publicResultCard header > span {
  min-width: 35px;
  height: 35px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: color-mix(in srgb, var(--sAccent), transparent 87%);
  color: var(--sAccent);
  font-weight: 800;
}

.publicBars {
  display: grid;
  gap: 11px;
  margin-top: 18px;
}

.publicBar > div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 9px;
  margin-bottom: 5px;
}

.publicBar > div b {
  color: var(--sMuted);
}

.publicBar > i {
  display: block;
  height: 7px;
  border-radius: 20px;
  background: var(--sBorder);
  overflow: hidden;
}

.publicBar > i > em {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--sAccent), color-mix(in srgb, var(--sAccent), white 28%));
}

.publicNumber,
.publicCount {
  text-align: center;
  display: grid;
  place-items: center;
  align-content: center;
  min-height: 185px;
}

.publicNumber > strong,
.publicCount > strong {
  font-size: 42px;
  color: var(--sAccent);
  margin-top: 14px;
}

.publicShare {
  margin-top: 14px;
  padding: 20px;
  border: 1px solid var(--sBorder);
  border-radius: calc(var(--sRadius) * .8);
  background: var(--sCard);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}

.publicShare h2 {
  font-size: 17px;
  margin: 0;
}

.publicShare p {
  font-size: 9px;
  color: var(--sMuted);
  margin: 5px 0 0;
}

.shareButtons {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.shareBtn {
  min-height: 37px;
  padding: 7px 11px;
  border: 0;
  border-radius: 10px;
  color: #fff;
  font-size: 10px;
  font-weight: 750;
}

.shareBtn.whatsapp { background: #168d52; }
.shareBtn.telegram { background: #258bc4; }
.shareBtn.facebook { background: #315eb7; }
.shareBtn.instagram { background: linear-gradient(135deg, #7e3db7, #d94671, #ee8b32); }
.shareBtn.native { background: var(--sAccent); }
.shareBtn.copy { background: #31394a; }

@media (max-width: 760px) {
  .publicResultsGrid { grid-template-columns: 1fr; }
  .publicResultsHero { padding-bottom: 120px; }
  .publicTotal {
    top: auto;
    right: 25px;
    left: auto;
    bottom: 25px;
    transform: none;
    text-align: right;
  }
  .publicShare {
    align-items: flex-start;
    flex-direction: column;
  }
  .shareButtons { justify-content: flex-start; }
  .publicResultsTop .sBtn { width: auto; }
}
