.vote-hint { margin: 0 0 1.2rem; color: var(--muted); font-size: 0.9rem; }
.vote-empty { margin: 0; color: var(--muted); }
.vote-groups { display: grid; gap: 1.4rem; }
.vote-group { padding: 1rem 1.1rem 1.1rem; border: 1px solid var(--line); border-radius: var(--r-m, 12px); background: var(--panel); }
.vote-cat { margin: 0 0 0.8rem; font-size: 0.8rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.vote-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; grid-template-columns: repeat(auto-fill, minmax(11.5rem, 1fr)); }
.vote-list li { margin: 0; min-width: 0; }
.vote-link { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0.1rem 0.6rem; height: 100%; padding: 0.5rem 0.75rem; border: 1px solid var(--line); border-radius: 10px; color: inherit; text-decoration: none; background: transparent; transition: border-color 0.15s, background 0.15s; }
.vote-link:hover, .vote-link:focus-visible { border-color: var(--accent, currentColor); background: color-mix(in srgb, var(--accent, currentColor) 8%, transparent); }
.vote-name { font-size: 0.9rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vote-note { grid-column: 1; font-size: 0.74rem; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vote-go { grid-row: 1; grid-column: 2; font-size: 0.74rem; color: var(--accent, var(--muted)); white-space: nowrap; }
.vote-note + .vote-go { grid-row: 1 / span 2; }
@media (max-width: 560px) {
  .vote-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vote-go span:first-child { display: none; }
}
@media (max-width: 380px) {
  .vote-list { grid-template-columns: minmax(0, 1fr); }
}
