/* Homepage community polls.
   Clean three-row layout: header / poll body / footer.
   The poll body is the only area allowed to scroll, so it can never
   grow past the outer card. */

.polling-public-panel{
  grid-column:auto!important;
  min-height:360px;
  padding:0!important;
  overflow:hidden;
  border:1px solid rgba(255,95,204,.30)!important;
  border-radius:20px!important;
  background:
    radial-gradient(circle at 88% 8%,rgba(255,63,175,.13),transparent 30%),
    radial-gradient(circle at 10% 90%,rgba(41,216,255,.08),transparent 32%),
    linear-gradient(145deg,#10131b,#080a0f)!important;
  box-shadow:0 16px 34px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.05);
}

.polling-public-panel>span{display:none}

.polling-public-head{
  margin:0;
  padding:16px 16px 13px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid rgba(255,95,204,.18);
  background:linear-gradient(180deg,rgba(37,15,45,.82),rgba(12,13,19,.94));
}

.polling-public-head h2{
  margin:3px 0 4px!important;
  font-size:clamp(1.65rem,2.45vw,2.15rem)!important;
  line-height:1.02!important;
}

.polling-public-head>div>p:last-child{display:none}

.polling-public-head>b{
  white-space:nowrap;
  padding:6px 10px;
  border:1px solid #62e7ff;
  border-radius:999px;
  color:#62e7ff;
  font-size:10px;
  letter-spacing:.08em;
}

.poll-kicker{
  margin:0!important;
  color:#ff65cc!important;
  font-size:10px!important;
  font-weight:900;
  letter-spacing:.14em;
}

.public-polls-list{
  min-height:0;
  padding:14px;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-width:thin;
  scrollbar-color:#8a3d78 #0b0d13;
}

.public-poll-card{
  position:relative;
  padding:16px;
  border:1px solid #354052;
  border-radius:12px;
  background:linear-gradient(180deg,#0e131c,#090d14);
  box-shadow:0 9px 18px rgba(0,0,0,.28);
}

.public-poll-card h3{
  margin:5px 0 9px;
  font-size:20px!important;
  line-height:1.18!important;
}

.public-poll-card>p{
  margin:0 0 12px!important;
  color:#aab7c8!important;
  font-size:13.5px!important;
  line-height:1.5!important;
}

.poll-number{
  color:#ff61c9;
  font-size:10px!important;
  font-weight:900;
  letter-spacing:.14em;
}

.poll-options{
  display:grid;
  gap:7px;
  margin-top:10px;
}

.poll-option{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px;
  border:1px solid #2c3749;
  border-radius:9px;
  background:#111722;
  color:#e8edf5;
  cursor:pointer;
}

.poll-option:has(input:checked){
  border-color:#64e7ff;
  background:#10212a;
  box-shadow:0 0 0 2px #64e7ff18;
}

.poll-option input{accent-color:#5ee7ff}

.poll-option b{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:7px;
  background:#202a3b;
  color:#63e7ff;
  font-size:12px;
}

.poll-option span{font-size:12px!important}

.poll-other-input{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:8px;
}

.poll-other-input input{
  min-width:0;
  padding:10px 11px;
  border:1px solid #3b465b;
  border-radius:9px;
  background:#080c12;
  color:#fff;
}

.poll-other-input small{
  color:#8894a5;
  font-size:10px;
}

.poll-other-input small.over{color:#ff8392}

.poll-submit{
  width:100%;
  margin-top:9px;
  padding:9px;
  border:1px solid #68eaff;
  border-radius:10px;
  background:linear-gradient(180deg,#2d8090,#155361);
  color:#fff;
  font-weight:900;
  cursor:pointer;
}

.poll-submit:disabled{
  opacity:.42;
  cursor:not-allowed;
}

.poll-message{
  min-height:18px;
  margin-top:7px;
  color:#ff9aaa;
  font-size:11px;
}

.poll-locked{
  margin:10px 0 11px;
  padding:8px 10px;
  border:1px solid #608936;
  border-radius:9px;
  background:#111a0d;
  color:#dfff62;
  font-size:11px!important;
  font-weight:900;
  line-height:1.35!important;
}

.poll-results{
  display:grid;
  gap:10px;
}

.poll-result>div:first-child{
  display:grid;
  grid-template-columns:22px 1fr auto;
  align-items:center;
  gap:8px;
}

.poll-result b{
  color:#60e5ff;
  font-size:15px!important;
}

.poll-result span{
  font-size:13px!important;
  line-height:1.35!important;
}

.poll-result strong{font-size:13px!important}

.poll-result-track{
  height:7px;
  margin:5px 0 3px;
  border-radius:999px;
  background:#222b39;
  overflow:hidden;
}

.poll-result-track i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#55e7ff,#ff55ca);
}

.poll-result small{
  color:#8795aa;
  font-size:11px!important;
}

.poll-result.your-result span:after{
  content:' · YOUR VOTE';
  color:#dfff62;
  font-size:10px!important;
  font-weight:900;
}

.poll-other-responses{
  margin-top:13px;
  padding-top:11px;
  border-top:1px solid #293344;
}

.poll-other-responses>strong{
  display:block;
  margin-bottom:9px;
  color:#ff69cd;
  font-size:10px!important;
  letter-spacing:.1em;
}

.poll-other-responses>div{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  max-height:118px;
  overflow-y:auto;
  align-content:flex-start;
  padding-right:4px;
  scrollbar-width:thin;
  scrollbar-color:#7f3d78 #0b0d13;
}

.poll-other-responses span{
  padding:6px 9px;
  border:1px solid #3a344b;
  border-radius:999px;
  background:#17111d;
  color:#d9d7df;
  font-size:11px!important;
}

.poll-no-others{
  margin-top:12px;
  color:#778294;
  font-size:10px;
}

.poll-empty{
  padding:24px;
  border:1px dashed #354052;
  border-radius:12px;
  color:#8d99aa;
  text-align:center;
}

.polling-public-footer{
  padding:0 14px 16px;
  color:#74ecff;
  text-align:center;
  font-size:11px;
  font-weight:950;
  letter-spacing:.14em;
  line-height:1.2;
  text-shadow:0 0 8px rgba(41,216,255,.35);
}

@media(min-width:761px){
  .polling-public-panel{
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    max-height:none!important;
    min-height:0!important;
    align-self:stretch;
  }

  .public-polls-list{
    height:auto!important;
    max-height:none!important;
  }
}

@media(max-width:800px){
  .polling-public-head{
    flex-direction:column;
  }

  .polling-public-head>b{
    align-self:flex-start;
  }
}

@media(max-width:760px){
  .polling-public-panel{
    grid-column:auto!important;
    max-height:none;
  }

  .public-polls-list{
    height:auto;
    max-height:none;
    overflow:visible;
  }

  .polling-public-footer{
    padding-bottom:14px;
  }
}

@media(max-width:480px){
  .polling-public-head h2{
    font-size:27px!important;
  }

  .public-poll-card{
    padding:14px;
  }
}


/* 2026-09-18 fixed five-tab Community Poll navigator. */
.public-poll-tabs{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:7px;
  padding:10px 14px 0;
  background:linear-gradient(180deg,rgba(12,13,19,.96),rgba(8,10,15,.98));
}
.public-poll-tab{
  min-width:0;
  min-height:40px;
  padding:8px 5px;
  border:1px solid rgba(98,231,255,.26);
  border-radius:9px;
  background:linear-gradient(180deg,#121822,#0b1018);
  color:#b8c6d4;
  font-size:14px!important;
  line-height:1!important;
  font-weight:950;
  letter-spacing:.035em;
  cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  transition:transform .14s ease,border-color .14s ease,filter .14s ease,box-shadow .14s ease;
}
.public-poll-tab:not(:disabled):hover{
  transform:translateY(-1px);
  border-color:rgba(98,231,255,.58);
  color:#eafcff;
}
.public-poll-tab.active{
  border-color:rgba(255,255,255,.18);
  background:linear-gradient(90deg,#29d8ff,#ff3faf);
  color:#050509;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.32),
    0 0 14px rgba(41,216,255,.10),
    0 5px 12px rgba(0,0,0,.24);
}
.public-poll-tab.voted:not(.active)::after{
  content:' ✓';
  color:#caff59;
}
.public-poll-tab:disabled{
  opacity:.26;
  cursor:not-allowed;
  filter:saturate(.35);
}
.poll-number{display:none!important}

@media(min-width:761px){
  .polling-public-panel{
    grid-template-rows:auto auto minmax(0,1fr) auto!important;
  }
}

@media(max-width:480px){
  .public-poll-tabs{
    gap:4px;
    padding-left:10px;
    padding-right:10px;
  }
  .public-poll-tab{
    min-height:38px;
    padding:7px 2px;
    font-size:11.5px!important;
    letter-spacing:0;
  }
}


/* 2026-09-18 improve readability of visitor-written poll responses. */
.poll-other-responses span{
  color:#f7f4fb!important;
  font-size:17.5px!important;
  line-height:1.35!important;
  font-weight:800;
  padding:7px 11px!important;
}
