.iam-sort .iam-sort__header{text-align:center;margin-bottom:1.25rem}.iam-sort__badge{display:inline-block;background:var(--iam-primary-light);color:var(--iam-primary);font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.25rem .75rem;border-radius:999px;margin-bottom:.5rem}.iam-sort__title{font-size:1.4rem;font-weight:800;margin-bottom:.25rem}.iam-sort__instruction{color:var(--iam-muted);font-size:.95rem}.iam-sort__bank{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;background:var(--iam-surface);border:1.5px solid var(--iam-border);border-radius:var(--iam-radius);padding:1rem;margin-bottom:1.5rem;min-height:3.5rem}.iam-sort__token{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;line-height:1.3;background:var(--iam-white);border:1.5px solid var(--iam-primary);border-radius:var(--iam-radius-sm);color:var(--iam-primary);font-family:var(--iam-font);font-size:.95rem;font-weight:700;cursor:grab;user-select:none;touch-action:none;transition:transform var(--iam-transition),box-shadow var(--iam-transition),opacity var(--iam-transition),background var(--iam-transition),border-color var(--iam-transition)}.iam-sort__token:hover{transform:translateY(-2px);box-shadow:var(--iam-shadow)}.iam-sort__token.is-dragging{opacity:.4;cursor:grabbing}.iam-sort__token.is-correct{border-color:var(--iam-success);background:var(--iam-success-light);color:var(--iam-success)}.iam-sort__token.is-wrong{border-color:var(--iam-error);background:var(--iam-error-light);color:var(--iam-error);animation:iam-shake .35s ease}.iam-sort__audio-btn{cursor:pointer;font-size:1rem;line-height:1}.iam-sort__audio-btn.is-playing{animation:iam-pulse 1s ease infinite}.iam-sort__cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem}.iam-sort__cat{border:1.5px solid var(--iam-border);border-radius:var(--iam-radius);background:var(--iam-white);overflow:hidden;box-shadow:var(--iam-shadow);display:flex;flex-direction:column}.iam-sort__cat-head{background:var(--iam-cat-color,var(--iam-primary));color:#fff;font-weight:800;font-size:1rem;padding:.6rem 1rem;text-align:center}.iam-sort__cat-body{flex:1;min-height:6rem;display:flex;flex-wrap:wrap;gap:.5rem;align-content:flex-start;padding:.85rem;background:var(--iam-surface);transition:background var(--iam-transition)}.iam-sort__cat-body.drag-over{background:var(--iam-primary-light)}.iam-match .iam-match__header{text-align:center;margin-bottom:1.25rem}.iam-match__badge{display:inline-block;background:#EFF6FF;color:#2563EB;font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.25rem .75rem;border-radius:999px;margin-bottom:.5rem}.iam-match__title{font-size:1.4rem;font-weight:800;margin-bottom:.25rem}.iam-match__instruction{color:var(--iam-muted);font-size:.95rem}.iam-match__board{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.iam-match__col{display:flex;flex-direction:column;gap:.6rem}.iam-match__item{position:relative;display:flex;align-items:center;gap:.6rem;width:100%;text-align:left;padding:.7rem .9rem;background:var(--iam-white);border:1.5px solid var(--iam-border);border-radius:var(--iam-radius-sm);font-family:var(--iam-font);font-size:.95rem;font-weight:700;color:var(--iam-text);cursor:pointer;transition:border-color var(--iam-transition),box-shadow var(--iam-transition),background var(--iam-transition),transform var(--iam-transition)}.iam-match__item:hover{box-shadow:var(--iam-shadow)}.iam-match__label{flex:1}.iam-match__dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--iam-border);flex-shrink:0;transition:background var(--iam-transition),border-color var(--iam-transition)}.iam-match__audio-btn{cursor:pointer;font-size:1rem;line-height:1;flex-shrink:0}.iam-match__audio-btn.is-playing{animation:iam-pulse 1s ease infinite}.iam-match__item.is-selected{border-color:var(--iam-primary);background:var(--iam-primary-light);box-shadow:var(--iam-shadow)}.iam-match__item.is-connected{border-color:hsl(var(--iam-pair-hue,220),70%,55%);background:hsl(var(--iam-pair-hue,220),85%,96%)}.iam-match__item.is-connected .iam-match__dot{background:hsl(var(--iam-pair-hue,220),70%,55%);border-color:hsl(var(--iam-pair-hue,220),70%,45%)}.iam-match__item.is-correct{border-color:var(--iam-success);background:var(--iam-success-light)}.iam-match__item.is-correct .iam-match__dot{background:var(--iam-success);border-color:var(--iam-success)}.iam-match__item.is-wrong{border-color:var(--iam-error);background:var(--iam-error-light);animation:iam-shake .35s ease}.iam-match__item.is-wrong .iam-match__dot{background:var(--iam-error);border-color:var(--iam-error)}.iam-match__item.iam-match__nudge{animation:iam-shake .35s ease}.iam-sort__controls,.iam-match__controls{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;margin-top:1.5rem;margin-bottom:1rem}.iam-sort__complete,.iam-match__complete{background:var(--iam-success-light);border:1.5px solid var(--iam-success);border-radius:var(--iam-radius);padding:1rem 1.5rem;text-align:center;color:var(--iam-success);font-size:1.05rem}@media (max-width:560px){.iam-match__board{gap:.6rem}.iam-match__item{padding:.6rem .7rem;font-size:.9rem}}