/* Voting page. Same plain, large, high-contrast style as the home page. */
.vote{padding-bottom:56px}
.vote-intro{padding:28px 0 8px}
.h3{font-size:1.5rem;font-weight:900;margin:0 0 .4em;letter-spacing:-.01em}
.soft{color:var(--soft);margin:0 0 1em}
.block{margin-top:44px}

.voter{background:var(--bg2);border:1px solid var(--line);border-radius:16px;padding:22px;margin-top:20px;max-width:40em}
.voter .signup-row input{flex:1 1 240px;min-width:0;font:inherit;font-weight:700;color:var(--ink);background:#0a0d17;border:2px solid var(--line);border-radius:12px;padding:15px 16px}
.voter .signup-row input:focus{border-color:var(--cyan);outline:none;box-shadow:0 0 0 3px rgba(72,208,255,.3)}
.voter p{margin:.5em 0 0}
.voter-msg{min-height:1.5em;font-weight:700}
.voter-msg.ok{color:var(--ok)}
.voter-msg.err{color:var(--bad)}
.votes-left{font-weight:900;color:var(--cyan)}
.linkish{background:none;color:var(--cyan);padding:0 4px;border-radius:4px;font-weight:700;text-decoration:underline}
.linkish:hover{background:none;color:#fff}

/* portraits are 40x40 pixel art: scale up crisp */
.pix{image-rendering:pixelated;width:80px;height:80px}

.mini{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.mini li{display:flex;align-items:center;gap:8px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:6px 14px 6px 6px;font-weight:900}
.mini .pix{width:56px;height:56px}

.top-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-width:40em;counter-reset:rank}
.top-list li{display:grid;grid-template-columns:2.2em 56px 1fr auto;align-items:center;gap:12px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:6px 16px 6px 12px}
.top-list li::before{counter-increment:rank;content:counter(rank);font-weight:900;color:var(--cyan);font-size:1.2rem;text-align:center}
.top-list .pix{width:56px;height:56px}
.top-list .nm{font-weight:900}
.top-list .ct{font-weight:900;color:var(--soft)}

.finder{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.finder input{flex:1 1 260px;max-width:30em;font:inherit;font-weight:700;color:var(--ink);background:#0a0d17;border:2px solid var(--line);border-radius:12px;padding:15px 16px}
.finder input:focus{border-color:var(--cyan);outline:none;box-shadow:0 0 0 3px rgba(72,208,255,.3)}
.count{margin:0;color:var(--soft);font-weight:700}

/* type filter + type symbols (round 64px PNGs cut from the type-symbol sheet) */
.types{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 0}
.types button{display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 6px;background:var(--bg2);color:var(--ink);border:2px solid var(--line);border-radius:999px;font-weight:900;font-size:.9rem}
.types button.wide{padding:9px 16px}
.types button:hover{border-color:var(--cyan);background:var(--bg2);color:var(--cyan)}
.types button[aria-pressed=true]{background:var(--cyan);color:var(--bg);border-color:var(--cyan)}
.tico{display:block;border-radius:50%}
.ticos{display:inline-flex;gap:4px;margin-left:8px;vertical-align:middle}
.top-list .nm{display:inline-flex;align-items:center;flex-wrap:wrap}
.mini .ticos{margin-left:2px}
.numrow{display:flex;align-items:center;justify-content:center;gap:8px}
.card .numrow .ticos{margin-left:0}
.letters{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 22px}
.letters button{padding:9px 0;min-width:2.6em;background:var(--bg2);color:var(--ink);border:2px solid var(--line);border-radius:10px;font-weight:900}
.letters button:hover{border-color:var(--cyan);background:var(--bg2);color:var(--cyan)}
.letters button[aria-pressed=true]{background:var(--cyan);color:var(--bg);border-color:var(--cyan)}
.letters button.wide{padding-inline:16px}

.grid{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.card{background:var(--bg2);border:2px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;content-visibility:auto;contain-intrinsic-size:auto 230px}
.card .num{font-size:.8rem;color:var(--soft);font-weight:700}
.card .name{font-weight:900;line-height:1.2;min-height:2.4em;display:flex;align-items:center}
.card button{width:100%;padding:11px 8px;border-radius:10px;font-size:.95rem}
.card.mine{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(72,208,255,.25)}
.card.mine button{background:var(--ok);color:var(--bg)}
.card.in-beta{opacity:.9}
.badge{display:block;width:100%;padding:11px 8px;border-radius:10px;background:#0a0d17;border:1px solid var(--line);color:var(--ok);font-weight:900;font-size:.9rem}
.empty{grid-column:1/-1;color:var(--soft);padding:12px 0}

@media(max-width:520px){
  .grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
  .top-list li{grid-template-columns:1.8em 48px 1fr auto;gap:8px}
  .top-list .pix{width:48px;height:48px}
}

.limit-note{display:inline-block;font-weight:900;color:var(--bg);background:var(--cyan);border-radius:999px;padding:6px 14px;margin:0}
.limit-note:empty{display:none}
