/* associer.css — format « Associer » (relier par paires). Complète exo.css. */
.asso{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.asso .col{display:flex;flex-direction:column;gap:9px}
.asso .colh{font-family:var(--disp);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-2);margin-bottom:2px}
.match{width:100%;text-align:left;background:var(--paper);border:2px solid var(--rule);color:var(--ink);border-radius:12px;padding:12px 13px;font-weight:600;font-size:.95rem;cursor:pointer;transition:border-color .12s,background .12s,transform .05s}
.match:hover:not(:disabled){border-color:var(--accent)}
.match.sel{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-soft)}
.match.done{border-color:var(--ok);background:var(--ok-soft,#e7f6ec);color:var(--ink);cursor:default;opacity:.85}
.match.flash{border-color:var(--ko);background:var(--ko-soft,#fdecea);animation:shake .3s}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.asso-meta{display:flex;justify-content:space-between;color:var(--ink-2);font-size:.85rem;font-weight:600;margin-top:14px}
.result-asso{background:var(--paper);border:1px solid var(--rule);border-radius:14px;padding:16px 18px;margin-top:16px;display:none;text-align:center}
.result-asso.show{display:block}
.result-asso .score{font-family:var(--disp);font-weight:700;font-size:1.7rem;color:var(--accent-2)}
.result-asso .msg{color:var(--ink-2);margin:6px 0 12px}
@media (max-width:520px){.asso{grid-template-columns:1fr}.asso .col.right .colh{margin-top:8px}}
