.sort-builder{display:grid;gap:0}
.sort-source-panel,.sort-answer-panel{border:1px solid var(--line);background:#fff}
.sort-area-title{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--soft)}
.sort-area-title b{font-size:15px}
.sort-area-title span{font-size:13px;color:var(--muted)}
.sort-source-panel .sort-cards{border:0;min-height:100px;background:#fff}
.sort-source-panel .sort-cards.drag-return-target{background:var(--yellow-soft);box-shadow:inset 0 0 0 3px var(--yellow)}
.sort-flow-arrow{height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--yellow-dark)}
.sort-flow-arrow span{font-size:12px;font-weight:800;letter-spacing:.05em}
.sort-flow-arrow b{font-size:30px;line-height:1}
.sort-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:16px;background:#fff}
.sort-slot{position:relative;min-width:0;min-height:94px;display:flex;align-items:center;justify-content:center;padding:28px 8px 10px;border:2px dashed var(--line);background:var(--soft);cursor:pointer}
.sort-slot .slot-number{position:absolute;top:5px;left:8px;color:var(--yellow-dark);font-size:12px;font-weight:900;letter-spacing:.08em}
.sort-slot .slot-placeholder{color:var(--muted);font-size:13px;text-align:center}
.sort-slot.filled{border-style:solid;background:#fff}
.sort-slot.filled .slot-placeholder{display:none}
.sort-slot.drop-hover{border:3px solid var(--yellow);background:#fff8df;box-shadow:inset 0 0 0 4px var(--yellow-soft)}
.sort-slot .word-card{width:100%;min-height:50px;padding:10px 6px}
.sort-builder .word-card.dragging{opacity:.1;border-style:dashed}
.sort-card-ghost{position:fixed;z-index:9999;pointer-events:none;transform:translate(-50%,-50%) scale(1.03);display:grid;place-items:center;min-height:52px;background:#fff;border:3px solid var(--yellow);padding:12px 18px;font-weight:800;opacity:.95;cursor:grabbing}
.test-order-instruction{padding:13px 15px;margin-bottom:14px;border-left:5px solid var(--yellow);background:var(--yellow-soft)}
.test-order-instruction strong,.test-order-instruction span{display:block}
.test-order-instruction span{font-size:13px;color:var(--muted);margin-top:2px}
.test-order-builder{border:1px solid var(--line);background:#fff}
.test-order-area-title{display:flex;justify-content:space-between;gap:15px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--soft)}
.test-order-area-title span{font-size:13px;color:var(--muted)}
.test-order-source{min-height:88px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px;background:#fff}
.test-order-source.drag-return-target{background:var(--yellow-soft);box-shadow:inset 0 0 0 3px var(--yellow)}
.test-order-arrow{height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--yellow-dark);background:#fff}
.test-order-arrow span{font-size:12px;font-weight:800}
.test-order-arrow b{font-size:27px;line-height:1}
.test-order-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding:14px}
.test-order-slot{position:relative;min-height:88px;display:flex;align-items:center;justify-content:center;padding:26px 7px 9px;border:2px dashed var(--line);background:var(--soft);cursor:pointer}
.test-slot-number{position:absolute;left:7px;top:4px;color:var(--yellow-dark);font-size:12px;font-weight:900}
.test-slot-placeholder{font-size:12px;color:var(--muted)}
.test-order-slot.filled{border-style:solid;background:#fff}
.test-order-slot.filled .test-slot-placeholder{display:none}
.test-order-slot.drop-hover{border:3px solid var(--yellow);background:#fff8df;box-shadow:inset 0 0 0 4px var(--yellow-soft)}
.test-order-slot .test-order-card{width:100%;min-height:48px;padding:9px 5px}
.test-order-card.dragging{opacity:.1}
.test-order-ghost{position:fixed;z-index:9999;pointer-events:none;transform:translate(-50%,-50%) scale(1.03);display:grid;place-items:center;min-height:50px;background:#fff;border:3px solid var(--yellow);padding:10px 16px;font-weight:800;opacity:.95}
@media(max-width:760px){
  .sort-area-title{align-items:flex-start;flex-direction:column;gap:2px}
  .sort-slots{grid-template-columns:1fr 1fr}
  .test-order-area-title{align-items:flex-start;flex-direction:column;gap:2px}
  .test-order-slots{grid-template-columns:1fr 1fr}
}
