.vote-page { flex-direction:column; align-items:center; padding-top:28px; }
.vote-page .title { max-width:460px; }
.intro { max-width:400px; margin-top:12px; }
.intro a { color:var(--orange); }
.banner { margin-top:16px; padding:12px 16px; border:2px solid var(--green); border-radius:12px; background:#0d2016;
  color:var(--green); text-align:center; line-height:1.45; max-width:440px; }
.banner.closed { border-color:var(--purple); background:#1a1030; color:var(--text); }
.gallery { width:100%; display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 220px), 1fr));
  gap:16px; margin-top:18px; }
.card { display:flex; flex-direction:column; border:2px solid #3a3150; border-radius:14px; background:#120e1b;
  overflow:hidden; }
.card.picked { border-color:var(--green); box-shadow:0 0 22px #59ff9c44; }
.card img { width:100%; aspect-ratio:3/4; object-fit:cover; display:block; background:#000; }
.card .body { padding:12px; display:flex; flex-direction:column; gap:6px; flex:1; }
.card .guess { font-family:"Creepster", fantasy; color:var(--orange); font-size:28px; line-height:1.05;
  overflow-wrap:anywhere; text-shadow:0 0 14px #ff7a1866; }
.card .who { color:var(--dim); font-size:14px; }
.card .cats { display:flex; flex-wrap:wrap; gap:5px; }
.card .cats span { font-size:12px; padding:3px 8px; border-radius:999px; border:1px solid #3a3150; color:var(--text); }
.card .cats span.grand { border-color:#d9b43c; color:#ffd866; }
.honk { margin-top:auto; padding:14px 10px; border-radius:12px; border:2px solid var(--orange);
  background:linear-gradient(90deg, #3d1d0c, #2a160a); font-size:18px; font-weight:bold; }
.honk:active:not(:disabled) { transform:scale(.97); }
.honk:disabled { border-color:#3a3150; background:#15111f; color:var(--dim); cursor:default; }
.card.picked .honk:disabled { border-color:var(--green); color:var(--green); }
#more { margin-top:18px; }
.back { color:var(--text); text-decoration:none; }
