.asmp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:1rem 0}
.asmp-card{border:1px solid #e2e2e2;border-radius:8px;padding:12px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.asmp-card img{max-width:100%;border-radius:6px}
.asmp-vote-btn{display:inline-block;margin-top:.5rem;padding:.5rem .75rem;border:1px solid #333;background:#f6f6f6;border-radius:6px;cursor:pointer}
.asmp-vote-msg,.asmp-judge-msg{margin-top:.75rem;font-weight:600}
.asmp-table{width:100%;border-collapse:collapse;margin:1rem 0}
.asmp-table th,.asmp-table td{border:1px solid #ddd;padding:.5rem;text-align:left;vertical-align:middle}
.asmp-bar{height:10px;background:#eee;border-radius:6px;overflow:hidden;display:inline-block;vertical-align:middle;width:120px;margin-right:6px}
.asmp-bar span{display:block;height:100%;background:#3b82f6}
.asmp-error{color:#9b1c1c;background:#fde8e8;border:1px solid #f8b4b4;padding:.75rem;border-radius:6px}
.asmp-empty{color:#444;background:#f8fafc;border:1px solid #e5e7eb;padding:.75rem;border-radius:6px}
.asmp-judge-card{border:1px dashed #cbd5e1;border-radius:8px;padding:12px;margin:12px 0}
