.rvus-poll-shell{
  max-width:1100px;
  margin:0 auto;
  padding:4rem 1rem;
}

.rvus-poll-intro{
  max-width:850px;
  margin:0 auto 2.5rem;
  text-align:center;
}

.rvus-kicker,
.rvus-step{
  display:block;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#123d5a;
}

.rvus-poll-intro h2{
  margin:.7rem 0;
  font-size:clamp(2rem,4vw,3rem);
}

.rvus-poll-intro p{
  font-size:clamp(1.1rem,2vw,1.6rem);
}

.rvus-poll-card,
.rvus-results{
  padding:clamp(1.25rem,3vw,2rem);
  border-radius:26px;
  border:1px solid rgba(11,31,51,.12);
  background:#fff;
  box-shadow:0 20px 55px rgba(11,31,51,.10);
}

.rvus-poll-toolbar{
  display:flex;
  justify-content:space-between;
  gap:1rem;
}

.rvus-poll-toolbar h3{
  margin:.35rem 0;
  font-size:clamp(1.5rem,3vw,2.2rem);
}

.rvus-toolbar-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}

.rvus-poll-shell button{
  min-height:42px;
  padding:.55rem .85rem;
  border:1px solid #ccd5d9;
  border-radius:11px;
  background:#fff;
  color:#061b2e;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}

.rvus-run-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem 1rem;
  margin:1.25rem 0;
  padding:.8rem 1rem;
  border-radius:12px;
  background:#e5f8f5;
}

.rvus-ranking-list{
  display:grid;
  gap:.65rem;
  margin:1.25rem 0 0;
  padding:0;
  list-style:none;
}

.rvus-ranking-list li{
  display:grid;
  grid-template-columns:2.8rem 2.5rem minmax(0,1fr) auto;
  gap:.65rem;
  align-items:center;
  padding:.75rem .85rem;
  border:1px solid #ddd8cd;
  border-radius:15px;
  background:#f8f5ed;
}

.rvus-ranking-list li.is-dragging{
  opacity:.45;
}

.rvus-rank-number{
  display:grid;
  place-items:center;
  width:2.25rem;
  height:2.25rem;
  border-radius:50%;
  background:#09243b;
  color:#fff;
  font-weight:950;
}

.rvus-choice-icon{
  font-size:1.35rem;
}

.rvus-choice-label{
  font-weight:900;
}

.rvus-choice-actions{
  display:flex;
  gap:.35rem;
}

.rvus-unranked,
.rvus-writein{
  margin-top:1rem;
  padding:1rem;
  border:1px dashed #cad2d6;
  border-radius:15px;
}

.rvus-unranked>strong,
.rvus-writein label strong{
  display:block;
  margin-bottom:.5rem;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.08em;
}

.rvus-unranked [data-unranked-list]{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}

.rvus-unranked small{
  margin-left:.25rem;
  opacity:.6;
}

.rvus-writein label span{
  display:block;
  margin-bottom:.65rem;
}

.rvus-writein-row{
  display:flex;
  gap:.5rem;
}

.rvus-writein-row input{
  flex:1;
  min-width:0;
  padding:.7rem .8rem;
  border:1px solid #ccd5d9;
  border-radius:11px;
  font:inherit;
}

.rvus-primary-actions{
  margin-top:1.25rem;
}

.rvus-poll-shell .rvus-count,
.rvus-result-actions button{
  border:0;
  border-radius:999px;
  background:#28c5b2;
  padding:.8rem 1.25rem;
}

.rvus-results{
  margin-top:2rem;
}

.rvus-results-header{
  margin-bottom:1.5rem;
}

.rvus-round{
  margin-top:1rem;
  padding:1.2rem;
  border:1px solid #dde4e6;
  border-radius:18px;
  background:#f8faf9;
}

.rvus-round-heading{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding-bottom:.8rem;
  border-bottom:1px solid #dde4e6;
}

.rvus-result-row{
  margin-top:.8rem;
}

.rvus-result-label{
  display:grid;
  grid-template-columns:2rem minmax(0,1fr) auto;
  align-items:center;
  gap:.5rem;
  margin-bottom:.3rem;
}

.rvus-result-track{
  height:.65rem;
  overflow:hidden;
  border-radius:999px;
  background:#dce6e8;
}

.rvus-result-track span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:#123d5a;
}

.rvus-eliminated{
  margin-top:1rem;
  padding:.8rem 1rem;
  border-radius:12px;
  background:#ece8ff;
}

.rvus-transfers{
  margin-top:.75rem;
  padding:1rem;
  border-radius:13px;
  background:#0b1f33;
  color:#fff;
}

.rvus-transfers>strong{
  color:#ffd86b;
}

.rvus-transfers ul{
  margin:.6rem 0 0;
  padding:0;
  list-style:none;
}

.rvus-transfers li+li{
  margin-top:.3rem;
}

.rvus-winner{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:1rem;
  margin-top:1.5rem;
  padding:1.2rem;
  border-radius:16px;
  background:#0b1f33;
  color:#fff;
}

.rvus-winner span{
  color:#ffd86b;
  font-size:.75rem;
  font-weight:950;
  letter-spacing:.1em;
}

.rvus-winner strong{
  font-size:1.6rem;
}

.rvus-joke{
  margin-top:.75rem;
  padding:1rem;
  border-radius:14px;
  background:#fff5cf;
  text-align:center;
}

.rvus-joke span{
  display:block;
  margin-top:.25rem;
  font-size:.9rem;
}

.rvus-compare{
  margin-top:1.5rem;
  padding:1.2rem;
  border-radius:18px;
  background:#f7f4ec;
}

.rvus-result-actions{
  margin-top:1.25rem;
  text-align:center;
}

@media(max-width:720px){

  .rvus-poll-toolbar{
    display:block;
  }

  .rvus-toolbar-actions{
    margin-top:1rem;
  }

  .rvus-ranking-list li{
    grid-template-columns:2.6rem 2.2rem minmax(0,1fr);
  }

  .rvus-choice-actions{
    grid-column:3;
    flex-wrap:wrap;
  }

  .rvus-writein-row{
    display:grid;
  }
}

/* ==============================================================
   EXHAUSTED BALLOT EDUCATION V2.1
   ============================================================== */

.rvus-exhaustion-explainer{
  display:grid;
  gap:.35rem;
  margin-top:1rem;
  padding:1rem 1.1rem;
  border-left:5px solid #7c70e8;
  border-radius:12px;
  background:#ece8ff;
}

.rvus-exhaustion-explainer strong{
  color:#0b1f33;
}

.rvus-exhaustion-explainer span{
  line-height:1.5;
}

.rvus-round-heading span{
  text-align:right;
}

@media(max-width:650px){

  .rvus-round-heading{
    display:grid;
  }

  .rvus-round-heading span{
    text-align:left;
  }
}
